diff --git a/BUILD.gn b/BUILD.gn
index 06d0f01..32902c0b 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -1607,6 +1607,7 @@
       "//third_party/depot_tools/pylint_main.py",
       "//third_party/depot_tools/pylintrc",
       "//third_party/ply/",
+      "//third_party/wpt_tools/",
       "//tools/idl_parser/",
     ]
 
diff --git a/DEPS b/DEPS
index 67a321ee..949d969 100644
--- a/DEPS
+++ b/DEPS
@@ -301,7 +301,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': '7d9be475c493cb73f389c5e57dda16951a4e6dde',
+  'v8_revision': '6df88fdf3ec07c2ccf348bb57f5c5d0b5c340586',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
@@ -348,7 +348,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling freetype
   # and whatever else without interference from each other.
-  'freetype_revision': '9de432f7f2989a6ad13024404b2290c529a82858',
+  'freetype_revision': 'a18ad83e8b4708a38b7ee8cb877b8698b8a6d508',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling freetype
   # and whatever else without interference from each other.
@@ -368,7 +368,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': 'c3f526a3a19ebeee9541f3fa3dc69bf8716d2bfe',
+  'catapult_revision': '682d9b1d88952c73fc4a9056e5ba1ea8892d642a',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -412,7 +412,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
-  'dawn_revision': '9c4d0c941038f14c400f99a4952ae0d84ed73817',
+  'dawn_revision': '86329e286b23a23d284d213e904869fbfc8a53c1',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -773,7 +773,7 @@
     Var('chromium_git') + '/external/github.com/toji/webvr.info.git' + '@' + 'c58ae99b9ff9e2aa4c524633519570bf33536248',
 
   'src/docs/website': {
-    'url': Var('chromium_git') + '/website.git' + '@' + '09b140c6a48a60dfe20e02508b15fffbfd8df413',
+    'url': Var('chromium_git') + '/website.git' + '@' + 'a69adf6a0a483e5f89f45d0babb319b3f2ea5c4b',
   },
 
   'src/ios/third_party/earl_grey2/src': {
@@ -895,7 +895,7 @@
       'packages': [
         {
           'package': 'experimental/google.com/sshrimp/chromium/rts/model/linux-amd64',
-          'version': '3K1dz8hGV_xBeEcPKmXfrPYWCwXdRf6KVVLrg7AuJ0sC',
+          'version': '61RZ40XmEInOMhnIJMEqdOjocdCHqodmEJcDxu4x7uIC',
         },
       ],
       'dep_type': 'cipd',
@@ -1465,7 +1465,7 @@
     Var('chromium_git') + '/webm/libwebp.git' + '@' +  '7366f7f394af26de814296152c50e673ed0a832f',
 
   'src/third_party/libyuv':
-    Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'd248929c059ff7629a85333699717d7a677d8d96',
+    Var('chromium_git') + '/libyuv/libyuv.git' + '@' + 'b028453ba61043a560298acae28eb813ea9bc67d',
 
   'src/third_party/lighttpd': {
       'url': Var('chromium_git') + '/chromium/deps/lighttpd.git' + '@' + Var('lighttpd_revision'),
@@ -1613,7 +1613,7 @@
       'packages': [
           {
               'package': 'chromium/third_party/r8',
-              'version': 'auReXfxxD74XGdPdi-rYsKrp4sRwYwgNjh_W0PT7vNcC',
+              'version': '5xaODYedSIJ21XAwZcpj4pG3NuVyKXrw43631PdtgK0C',
           },
       ],
       'condition': 'checkout_android',
@@ -1762,7 +1762,7 @@
       'packages': [
         {
           'package': 'skia/tools/goldctl/linux-amd64',
-          'version': 'BquSeorcTU84O2_A8IoWetGrcfLWxLfZCo9sve1Wt2IC',
+          'version': '0NA1CyaNhIxt00SqtGFZVHJ-K7ioB4L6a5rT4MzyQ48C',
         },
       ],
       'dep_type': 'cipd',
@@ -1772,7 +1772,7 @@
       'packages': [
         {
           'package': 'skia/tools/goldctl/windows-amd64',
-          'version': 'AOoQr1u4-cOIEYJDAgVxGWoTiPaRcjrSsjjAaB-u_ggC',
+          'version': 'TwW8GVww_8ATYlTEN2pHq5xuXkLqTN5mrqFZjRWD2GgC',
         },
       ],
       'dep_type': 'cipd',
@@ -1783,7 +1783,7 @@
       'packages': [
         {
           'package': 'skia/tools/goldctl/mac-amd64',
-          'version': '-t3YY_sZ-jtMAYZ2PlhjudFnEUgk4m-HjlIwSip4tOAC',
+          'version': 'FWI4Q_ogCO1xBJ0xpOqci1On1AsY-RHqGDYlvqf3AiQC',
         },
       ],
       'dep_type': 'cipd',
@@ -1794,7 +1794,7 @@
       'packages': [
         {
           'package': 'skia/tools/goldctl/mac-arm64',
-          'version': 'x_xKUnqrgizoTO8mxX4RkyhpQ-nUp_x_go9YH-tc--QC',
+          'version': '3dJEBjpviigMA6es0-th0SJsyrnw5_4wTMyBddvEByUC',
         },
       ],
       'dep_type': 'cipd',
@@ -1846,7 +1846,7 @@
     'packages': [
       {
         'package': 'chromeos_internal/apps/media_app/app',
-        'version': 'qg8l0bKn_SqJM5CXus8trjrhts0XJ09OzUzRnR714d8C',
+        'version': 'Mel72U4wXnVKhzK77ZLyxSpHoeelA8yxqOKeRzf8nkMC',
       },
     ],
     'condition': 'checkout_chromeos and checkout_src_internal',
diff --git a/android_webview/java/src/org/chromium/android_webview/AwActionModeCallback.java b/android_webview/java/src/org/chromium/android_webview/AwActionModeCallback.java
index 963ed591..c37d09b 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwActionModeCallback.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwActionModeCallback.java
@@ -8,10 +8,12 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.graphics.Rect;
 import android.text.TextUtils;
 import android.view.ActionMode;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.view.View;
 
 import org.chromium.base.PackageManagerUtils;
 import org.chromium.base.metrics.RecordUserAction;
@@ -23,7 +25,7 @@
 /**
  * A class that handles selection action mode for Android WebView.
  */
-public class AwActionModeCallback implements ActionMode.Callback {
+public class AwActionModeCallback extends ActionMode.Callback2 {
     private final Context mContext;
     private final AwContents mAwContents;
     private final ActionModeCallbackHelper mHelper;
@@ -91,6 +93,11 @@
         mHelper.onDestroyActionMode();
     }
 
+    @Override
+    public void onGetContentRect(ActionMode mode, View view, Rect outRect) {
+        mHelper.onGetContentRect(mode, view, outRect);
+    }
+
     private void processText(Intent intent) {
         RecordUserAction.record("MobileActionMode.ProcessTextIntent");
         String query = ActionModeCallbackHelper.sanitizeQuery(mHelper.getSelectedText(),
diff --git a/ash/ambient/ui/ambient_animation_player.cc b/ash/ambient/ui/ambient_animation_player.cc
index 98f09f34..dbd1983 100644
--- a/ash/ambient/ui/ambient_animation_player.cc
+++ b/ash/ambient/ui/ambient_animation_player.cc
@@ -68,37 +68,16 @@
                 "restart at timestamp 0";
     DCHECK(cycle_restart_timestamp_.is_zero());
   }
-  animation_observation_.Observe(animation);
   animation->SetPlaybackSpeed(
       AmbientUiModel::Get()->animation_playback_speed());
-  animated_image_view_->Play(lottie::Animation::PlaybackConfig::CreateWithStyle(
-      lottie::Animation::Style::kLinear, *animation));
+  animated_image_view_->Play(lottie::Animation::PlaybackConfig(
+      {{base::TimeDelta(), animation->GetAnimationDuration()},
+       {cycle_restart_timestamp_, animation->GetAnimationDuration()}},
+      lottie::Animation::Style::kLoop));
 }
 
 AmbientAnimationPlayer::~AmbientAnimationPlayer() {
   animated_image_view_->Stop();
 }
 
-void AmbientAnimationPlayer::AnimationCycleEnded(
-    const lottie::Animation* animation) {
-  DVLOG(1) << "First animation cycle ended. Restarting at "
-           << cycle_restart_timestamp_;
-  // No need to keep observing after the first animation cycle ends because all
-  // future animation cycles will automatically loop below.
-  animation_observation_.Reset();
-  // Stop()/Play() are actually very light-weight operations. They do not cause
-  // the animation to be re-loaded and only modify internal book-keeping state.
-  // The latency between the last frame of the first animation cycle and the
-  // first frame of the second cycle was compared against the same
-  // frame-to-frame latency at the end of other animation cycles, and there was
-  // no observable difference.
-  animated_image_view_->Stop();
-  animated_image_view_->Play(lottie::Animation::PlaybackConfig(
-      {/*start_offset=*/cycle_restart_timestamp_,
-       /*duration=*/
-       animated_image_view_->animated_image()->GetAnimationDuration() -
-           cycle_restart_timestamp_,
-       lottie::Animation::Style::kLoop}));
-}
-
 }  // namespace ash
diff --git a/ash/ambient/ui/ambient_animation_player.h b/ash/ambient/ui/ambient_animation_player.h
index 8f5f29d..4ae4ae2 100644
--- a/ash/ambient/ui/ambient_animation_player.h
+++ b/ash/ambient/ui/ambient_animation_player.h
@@ -7,10 +7,8 @@
 
 #include "ash/ash_export.h"
 #include "base/memory/raw_ptr.h"
-#include "base/scoped_observation.h"
 #include "base/time/time.h"
 #include "ui/lottie/animation.h"
-#include "ui/lottie/animation_observer.h"
 
 namespace views {
 class AnimatedImageView;
@@ -40,22 +38,17 @@
 // [0, D]
 // [0, D]
 // ...
-class ASH_EXPORT AmbientAnimationPlayer : public lottie::AnimationObserver {
+class ASH_EXPORT AmbientAnimationPlayer {
  public:
   // Starts playing the |animated_image_view| immediately upon construction.
   explicit AmbientAnimationPlayer(
       views::AnimatedImageView* animated_image_view);
   AmbientAnimationPlayer(const AmbientAnimationPlayer&) = delete;
   AmbientAnimationPlayer& operator=(const AmbientAnimationPlayer&) = delete;
-  ~AmbientAnimationPlayer() override;
-
-  // lottie::AnimationObserver implementation:
-  void AnimationCycleEnded(const lottie::Animation* animation) override;
+  ~AmbientAnimationPlayer();
 
  private:
   const base::raw_ptr<views::AnimatedImageView> animated_image_view_;
-  base::ScopedObservation<lottie::Animation, lottie::AnimationObserver>
-      animation_observation_{this};
   base::TimeDelta cycle_restart_timestamp_;
 };
 
diff --git a/ash/ash_strings.grd b/ash/ash_strings.grd
index 1361f1fe..ec01aea3 100644
--- a/ash/ash_strings.grd
+++ b/ash/ash_strings.grd
@@ -267,13 +267,14 @@
       <message name="IDS_ASH_STATUS_TRAY_ACCESSIBLE_DESCRIPTION" is_accessibility_with_no_ui="true" desc="The accessible description of the status tray and the information on it.">
         Status tray, time <ph name="time">$1<ex>9:50</ex></ph>,
         <ph name="battery">$2<ex>Battery is full.</ex></ph>
-        <ph name="network">$3<ex>Connected to Wifi.</ex></ph>,
-        <ph name="mic">$4<ex>A virtual machine is using your microphone</ex></ph>,
-        <ph name="camera">$5<ex>A virtual machine is using your camera</ex></ph>,
-        <ph name="managed">$6<ex>This account is managed by Family Link</ex></ph>
-        <ph name="notification">$7<ex>1 notification</ex></ph>,
-        <ph name="ime">$8<ex>Using US keyboard</ex></ph>
-        <ph name="locale">$9<ex>Using English</ex></ph>
+        <ph name="channel">$3<ex>Stable Channel</ex></ph>
+        <ph name="network">$4<ex>Connected to Wifi.</ex></ph>,
+        <ph name="mic">$5<ex>A virtual machine is using your microphone</ex></ph>,
+        <ph name="camera">$6<ex>A virtual machine is using your camera</ex></ph>,
+        <ph name="managed">$7<ex>This account is managed by Family Link</ex></ph>
+        <ph name="notification">$8<ex>1 notification</ex></ph>,
+        <ph name="ime">$9<ex>Using US keyboard</ex></ph>
+        <ph name="locale">$10<ex>Using English</ex></ph>
       </message>
       <message name="IDS_ASH_QUICK_SETTINGS_BUBBLE_ACCESSIBLE_DESCRIPTION" desc="The accessible description of the quick settings bubble and the information in it.">
         Quick Settings, Press search + left to access the notification center.
diff --git a/ash/strings/ash_strings_am.xtb b/ash/strings/ash_strings_am.xtb
index 7e801ee..a46f4f6 100644
--- a/ash/strings/ash_strings_am.xtb
+++ b/ash/strings/ash_strings_am.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">ቀኝ</translation>
 <translation id="1351937230027495976">ምናሌ ሰብስብ</translation>
 <translation id="1364382257761975320">የእርስዎን Chromebook ለመክፈት የጣት አሻራዎን ይጠቀሙ</translation>
+<translation id="1365866993922957110">ራስ-ሰር ዝማኔዎችን ያግኙ</translation>
 <translation id="1372545819342940910">ዴስክን ለበኋላ አስቀምጥ</translation>
 <translation id="1383597849754832576">የንግግር ፋይሎችን ማውረድ አልተቻለም። ቆይተው እንደገና ይሞክሩ።</translation>
 <translation id="1383876407941801731">ፍለጋ </translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> ተላቋል</translation>
 <translation id="1836215606488044471">ረዳት (በመጫን ላይ...)</translation>
 <translation id="1838895407229022812">የምሽት ብርሃን ጠፍቷል።</translation>
+<translation id="1862380676329487333">አዘምን እና ዘግተህ ውጣ</translation>
 <translation id="1864454756846565995">USB-C መሣሪያ (የኋላ ወደብ)</translation>
 <translation id="1879018240766558464">ማንነት የማያሳውቁ መስኮቶች በአሁኑ ጊዜ አይደገፉም። ሌሎች መተግበሪያዎች ይቀመጣሉ።</translation>
 <translation id="1882814835921407042">ምንም ተንቀሳቃሽ ስልክ አውታረ መረብ የለም</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">በዚህ ጊዜ ላይ ይዘትን መቅዳት ወይም መለጠፍ አልተቻለም</translation>
 <translation id="4239069858505860023">ጂፒአርኤስ</translation>
 <translation id="4242533952199664413">ቅንብሮችን ክፈት</translation>
+<translation id="4247123849143712100">አዘምን እና ዝጋ</translation>
 <translation id="4250229828105606438">ቅጽበታዊ ገጽ እይታ</translation>
 <translation id="425364040945105958">ምንም ሲም የለም</translation>
 <translation id="4261870227682513959">የማሳወቂያ ቅንብሮችን አሳይ። ማሳወቂያዎች ጠፍተዋል</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> በ<ph name="MANAGER" /> የሚተዳደር ክፍለ-ጊዜ ነው</translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> ተገናኝቷል</translation>
 <translation id="6351032674660237738">የመተግበሪያ አስተያየት ጥቆማዎች</translation>
+<translation id="6359587239691116345">የቅርብ ጊዜ ባህሪያትን እና የደህንነት ማሻሻያዎችን ያግኙ። ይህን ዝማኔ ካልተቀበሉ የእርስዎ መሣሪያ ከእንግዲህ በትክክል ላይሰራ እና የደህንነት እና የአፈጻጸም ችግሮች ሊያጋጥሙዎት ይችላል።</translation>
 <translation id="6376931439017688372">ብሉቱዝ በርቷል</translation>
 <translation id="6381109794406942707">መሣሪያውን ለመክፈት የእርስዎን ፒን ያስገቡ።</translation>
 <translation id="639644700271529076">CAPS LOCK ጠፍቷል</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> የእርስዎን <ph name="DEVICE_TYPE" /> ከቀነገደቡ በፊት እንዲያዘምኑት ይፈልግብዎታል።</translation>
 <translation id="649452524636452238">የዘመናዊ ካርድ ፒን</translation>
 <translation id="6495400115277918834">ሥዕል-ላይ-ሥዕል ተጀምሯል፣ ለማተኮር Alt+Shift+V</translation>
+<translation id="6500896621837555595">አዘምን</translation>
 <translation id="6501401484702599040">ማያ ገጹን ወደ <ph name="RECEIVER_NAME" /> Cast በማድረግ ላይ</translation>
 <translation id="6515727200518652613">ካሜራ ጠፍቷል፣ ዳግም ለማገናኘት በመሞከር ላይ።</translation>
 <translation id="6520517963145875092">ለመቅረጽ መስኮት ይምረጡ</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">የባትሪ ጊዜን በማስላት ላይ።</translation>
 <translation id="8061464966246066292">ከፍተኛ ንፅፅር</translation>
 <translation id="8083540854303889870">ለበኋላ የተቀመጠ</translation>
+<translation id="8091387634532529612">ራስ-ሰር ዝማኔዎች</translation>
 <translation id="8098591350844501178">ማያ ገጹን ወደ <ph name="RECEIVER_NAME" /> Cast ማድረግ አስቁም</translation>
 <translation id="8113423164597455979">በርቷል፣ ሁሉም መተግበሪያዎች</translation>
 <translation id="8120151603115102514">የእርስዎ ስልክ የማያ ገጽ መቆለፊያ የለውም። የእርስዎን Chromebook ለመክፈት የይለፍ ቃል ያስገቡ።</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">ለ<ph name="RESULT_COUNT" /> ውጤቶችን ለ<ph name="QUERY" /> በማሳየት ላይ</translation>
 <translation id="98515147261107953">በወርድ</translation>
 <translation id="990277280839877440">መስኮት <ph name="WINDOW_TITILE" /> ተዘግቷል።</translation>
+<translation id="996204416024568215">የቅርብ ጊዜ ባህሪያትን እና የደህንነት ማሻሻያዎችን ያግኙ። ዝማኔዎች የሚደረጉት ከበስተጀርባ ነው።</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_ar.xtb b/ash/strings/ash_strings_ar.xtb
index 676113e..ae408a5 100644
--- a/ash/strings/ash_strings_ar.xtb
+++ b/ash/strings/ash_strings_ar.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">يمين</translation>
 <translation id="1351937230027495976">تصغير القائمة</translation>
 <translation id="1364382257761975320">‏لفتح قفل جهاز Chromebook، استخدِم بصمة إصبعك.</translation>
+<translation id="1365866993922957110">الحصول على تحديثات تلقائية</translation>
 <translation id="1372545819342940910">حفظ سطح المكتب لوقت لاحق</translation>
 <translation id="1383597849754832576">يتعذّر تنزيل ملفات ميزة "النسخ النصي التلقائي". يُرجى إعادة المحاولة لاحقًا.</translation>
 <translation id="1383876407941801731">البحث</translation>
@@ -162,6 +163,7 @@
 <translation id="1830308660060964064">تم إلغاء تثبيت <ph name="ITEM_TITLE" /></translation>
 <translation id="1836215606488044471">المساعد (جارٍ التحميل...)</translation>
 <translation id="1838895407229022812">"الإضاءة الليلية" غير مفعّلة.</translation>
+<translation id="1862380676329487333">تحديث وتسجيل الخروج</translation>
 <translation id="1864454756846565995">‏جهاز USB-C (المنفذ الخلفي)</translation>
 <translation id="1879018240766558464">نوافذ التصفّح المتخفي غير متوافقة حاليًا، ولكن سيتم حفظ التطبيقات الأخرى.</translation>
 <translation id="1882814835921407042">شبكة الجوّال غير متاحة</translation>
@@ -563,6 +565,7 @@
 <translation id="423685346499232137">يتعذّر نسخ المحتوى أو لصقه في الوقت الحالي.</translation>
 <translation id="4239069858505860023">‏شبكة GPRS</translation>
 <translation id="4242533952199664413">فتح الإعدادات</translation>
+<translation id="4247123849143712100">تحديث وإيقاف التشغيل</translation>
 <translation id="4250229828105606438">لقطة شاشة</translation>
 <translation id="425364040945105958">‏ليس هناك شريحة SIM</translation>
 <translation id="4261870227682513959">عرض إعدادات الإشعارات. تم إيقاف الإشعارات</translation>
@@ -922,6 +925,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> هي جلسة تتم إدارتها من خلال <ph name="MANAGER" />.</translation>
 <translation id="6344138931392227467">تم توصيل <ph name="DEVICE_NAME" />.</translation>
 <translation id="6351032674660237738">اقتراحات التطبيقات</translation>
+<translation id="6359587239691116345">يُرجى الحصول على أحدث الميزات وتحسينات الأمان. في حال رفض هذا التحديث، من المحتمل أن يتوقف جهازك عن العمل بشكل صحيح وقد تواجه مشاكل تتعلّق بالأمان والأداء.</translation>
 <translation id="6376931439017688372">تم تفعيل البلوتوث</translation>
 <translation id="6381109794406942707">لفتح قفل الجهاز، أدخِل رقم التعريف الشخصي.</translation>
 <translation id="639644700271529076">‏مفتاح CAPS LOCK قيد الإيقاف</translation>
@@ -943,6 +947,7 @@
 <translation id="6491071886865974820">يتطلّب <ph name="MANAGER" /> منك تحديث جهاز <ph name="DEVICE_TYPE" /> قبل الموعد النهائي.</translation>
 <translation id="649452524636452238">رقم التعريف الشخصي للبطاقة الذكية</translation>
 <translation id="6495400115277918834">‏تم تفعيل ميزة "نافذة ضمن النافذة". يمكنك الضغط على المفاتيح Alt+‏Shift‏+V للتركيز.</translation>
+<translation id="6500896621837555595">تحديث</translation>
 <translation id="6501401484702599040">إرسال الشاشة إلى <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">انقطع الاتصال بالكاميرا، وجارٍ محاولة إعادة الاتصال.</translation>
 <translation id="6520517963145875092">يُرجى تحديد نافذة للحصول لالتقاط صورة لها.</translation>
@@ -1220,6 +1225,7 @@
 <translation id="8054466585765276473">يجري حساب وقت البطارية.</translation>
 <translation id="8061464966246066292">تباين عالٍ</translation>
 <translation id="8083540854303889870">محفوظة لوقت لاحق</translation>
+<translation id="8091387634532529612">التحديثات التلقائية</translation>
 <translation id="8098591350844501178">إيقاف إرسال الشاشة إلى <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">مفعلة، كل التطبيقات</translation>
 <translation id="8120151603115102514">‏شاشة القفل غير مفعّلة على هاتفك. لفتح قفل جهاز Chromebook، أدخِل كلمة المرور.</translation>
@@ -1426,4 +1432,5 @@
 <translation id="974545358917229949">عرض <ph name="RESULT_COUNT" /> نتيجة عن <ph name="QUERY" /></translation>
 <translation id="98515147261107953">أفقي</translation>
 <translation id="990277280839877440">تم إغلاق النافذة <ph name="WINDOW_TITILE" />.</translation>
+<translation id="996204416024568215">يُرجى الحصول على أحدث الميزات وتحسينات الأمان. يتم تنزيل التحديثات في الخلفية.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_az.xtb b/ash/strings/ash_strings_az.xtb
index 30bad2e..2bfd78e 100644
--- a/ash/strings/ash_strings_az.xtb
+++ b/ash/strings/ash_strings_az.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Sağ</translation>
 <translation id="1351937230027495976">Menyunu yığcamlaşdırın</translation>
 <translation id="1364382257761975320">Chromebook'u kiliddən çıxarmaq üçün barmaq izinizi istifadə edin</translation>
+<translation id="1365866993922957110">Avtomatik güncəlləmələr alın</translation>
 <translation id="1372545819342940910">Sonra baxmaq üçün masanı yadda saxlayın</translation>
 <translation id="1383597849754832576">Nitq fayllarını endirmək olmur. Sonra yenidən cəhd edin.</translation>
 <translation id="1383876407941801731">Axtar</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> çıxarıldı</translation>
 <translation id="1836215606488044471">Assistent (yüklənir...)</translation>
 <translation id="1838895407229022812">Gecə işığı deaktivdir.</translation>
+<translation id="1862380676329487333">Güncəlləyin və çıxın</translation>
 <translation id="1864454756846565995">USB-C cihazı (arxa port)</translation>
 <translation id="1879018240766558464">Anonim pəncərələr hazırda dəstəklənmir. Digər tətbiqlər yadda saxlanılacaq.</translation>
 <translation id="1882814835921407042">Mobil şəbəkə yoxdur</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Hazırda məzmunu kopyalamaq və ya əlavə etmək mümkün deyil</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Ayarları açın</translation>
+<translation id="4247123849143712100">Güncəlləyin və söndürün</translation>
 <translation id="4250229828105606438">Skrinşot</translation>
 <translation id="425364040945105958">SIM yoxdur</translation>
 <translation id="4261870227682513959">Bildiriş ayarlarını göstərin. Bildirişlər deaktivdir</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> sessiyası <ph name="MANAGER" /> tərəfindən idarə olunur</translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> qoşulub</translation>
 <translation id="6351032674660237738">TƏTBİQ TƏKLİFLƏRİ</translation>
+<translation id="6359587239691116345">Ən son funksiyaları və təhlükəsizlik təkmilləşdirmələrini əldə edin. Bu güncəlləməni rədd etsəniz, cihazınız artıq düzgün işləməyə bilər və təhlükəsizlik və performans problemləri ilə üzləşə bilərsiniz.</translation>
 <translation id="6376931439017688372">Bluetooth aktivdir</translation>
 <translation id="6381109794406942707">Cihazı kiliddən çıxarmaq üçün PIN'nizi daxil edin.</translation>
 <translation id="639644700271529076">LOCK off CAPS</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> son tarixdən əvvəl <ph name="DEVICE_TYPE" /> cihazını güncəlləməyinizi tələb edir</translation>
 <translation id="649452524636452238">Smart kart PIN-i</translation>
 <translation id="6495400115277918834">Şəkildə şəkil başladılıb, fokuslamaq üçün Alt+Shift+V düymələrinə basın</translation>
+<translation id="6500896621837555595">Güncəlləyin</translation>
 <translation id="6501401484702599040">Ekran <ph name="RECEIVER_NAME" /> üzərinə yayımlanır</translation>
 <translation id="6515727200518652613">Kamera itdi, yenidən qoşulmağa çalışır.</translation>
 <translation id="6520517963145875092">Çəkmək üçün pəncərə seçin</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Enerji vaxtı hesablanır.</translation>
 <translation id="8061464966246066292">Yüksək kontrast</translation>
 <translation id="8083540854303889870">Sonra üçün yadda saxlanıldı</translation>
+<translation id="8091387634532529612">Avtomatik güncəlləmələr</translation>
 <translation id="8098591350844501178">Ekranın <ph name="RECEIVER_NAME" /> üzrə yayımlanmasını dayandırın</translation>
 <translation id="8113423164597455979">Bütün tətbiqlərdə aktivdir</translation>
 <translation id="8120151603115102514">Telefonunuzun kilid ekranı yoxdur. Chromebook'u kiliddən çıxarmaq üçün parolu daxil edin.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949"><ph name="QUERY" /> üzrə <ph name="RESULT_COUNT" /> nəticə göstərilir</translation>
 <translation id="98515147261107953">Peyzaj</translation>
 <translation id="990277280839877440"><ph name="WINDOW_TITILE" /> pəncərəsi bağlandı.</translation>
+<translation id="996204416024568215">Ən son funksiyaları və təhlükəsizlik təkmilləşdirmələrini əldə edin. Güncəlləmələr arxa fonda işləyir.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_be.xtb b/ash/strings/ash_strings_be.xtb
index d12cf09..642765c9 100644
--- a/ash/strings/ash_strings_be.xtb
+++ b/ash/strings/ash_strings_be.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Справа</translation>
 <translation id="1351937230027495976">Згарнуць меню</translation>
 <translation id="1364382257761975320">Каб разблакіраваць Chromebook, выкарыстайце функцыю разблакіравання адбіткам пальца</translation>
+<translation id="1365866993922957110">Атрымліваць аўтаматычныя абнаўленні</translation>
 <translation id="1372545819342940910">Захаваць працоўны стол для прагляду пазней</translation>
 <translation id="1383597849754832576">Не ўдалося спампаваць файлы для ператварэння маўлення ў тэкст. Паўтарыце спробу пазней.</translation>
 <translation id="1383876407941801731">Пошук</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Элемент "<ph name="ITEM_TITLE" />" адмацаваны</translation>
 <translation id="1836215606488044471">Памочнік (загружаецца...)</translation>
 <translation id="1838895407229022812">Начная падсветка выключана.</translation>
+<translation id="1862380676329487333">Абнавіць і выйсці</translation>
 <translation id="1864454756846565995">Прылада USB-C (порт ззаду)</translation>
 <translation id="1879018240766558464">Вокны ў рэжыме інкогніта зараз не падтрымліваюцца. Іншыя праграмы будуць захаваны.</translation>
 <translation id="1882814835921407042">Мабільная сетка адсутнічае</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Не ўдалося скапіраваць або ўставіць змесціва</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Адкрыць налады</translation>
+<translation id="4247123849143712100">Абнавіць і завяршыць працу</translation>
 <translation id="4250229828105606438">Здымак экрана</translation>
 <translation id="425364040945105958">Няма SIM-карты</translation>
 <translation id="4261870227682513959">Паказаць налады апавяшчэнняў. Апавяшчэнні выключаны</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> – сеанс, якім кіруе <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">Прылада "<ph name="DEVICE_NAME" />" падключана</translation>
 <translation id="6351032674660237738">ПРАПАНОВЫ ПРАГРАМ</translation>
+<translation id="6359587239691116345">Усталюйце апошнія функцыі і паляпшэнні сістэмы бяспекі. Калі вы адмовіцеся ад гэтага абнаўлення, ваша прылада можа перастаць працаваць належным чынам. Магчымыя праблемы з прадукцыйнасцю і бяспекай.</translation>
 <translation id="6376931439017688372">Bluetooth уключаны</translation>
 <translation id="6381109794406942707">Каб разблакіраваць прыладу, увядзіце PIN-код.</translation>
 <translation id="639644700271529076">CAPS LOCK выключаны</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> патрабуе, каб вы абнавілі прыладу <ph name="DEVICE_TYPE" /> да заканчэння тэрміну</translation>
 <translation id="649452524636452238">PIN-код разумнай карткі</translation>
 <translation id="6495400115277918834">Рэжым "Відарыс у відарысе" запушчаны, для пераходу выкарыстайце спалучэнне клавіш Alt + Shift + V</translation>
+<translation id="6500896621837555595">Абнавіць</translation>
 <translation id="6501401484702599040">Ідзе трансляцыя экрана на <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Сувязь з камерай страчана. Ажыццяўляецца спроба паўторнага падключэння.</translation>
 <translation id="6520517963145875092">Выберыце акно для здымкі</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Разлічваецца час да разрадкі акумулятара.</translation>
 <translation id="8061464966246066292">Высокая кантраснасць</translation>
 <translation id="8083540854303889870">Захавана на будучыню</translation>
+<translation id="8091387634532529612">Аўтаматычныя абнаўленні</translation>
 <translation id="8098591350844501178">Спыніць трансляцыю экрана на прыёмнік "<ph name="RECEIVER_NAME" />"</translation>
 <translation id="8113423164597455979">Уключана, усе праграмы</translation>
 <translation id="8120151603115102514">На тэлефоне не выкарыстоўваецца функцыя экрана блакіроўкі. Каб разблакіраваць Chromebook, увядзіце пароль.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Паказваюцца вынікі (<ph name="RESULT_COUNT" />) па запыце "<ph name="QUERY" />"</translation>
 <translation id="98515147261107953">Альбомная</translation>
 <translation id="990277280839877440">Акно <ph name="WINDOW_TITILE" /> закрыта.</translation>
+<translation id="996204416024568215">Усталюйце апошнія функцыі і паляпшэнні сістэмы бяспекі. Абнаўленні ўсталёўваюцца ў фонавым рэжыме.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_bg.xtb b/ash/strings/ash_strings_bg.xtb
index 15d9b166..ea232b0 100644
--- a/ash/strings/ash_strings_bg.xtb
+++ b/ash/strings/ash_strings_bg.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Надясно</translation>
 <translation id="1351937230027495976">Свиване на менюто</translation>
 <translation id="1364382257761975320">За да отключите своя Chromebook, използвайте отпечатъка си</translation>
+<translation id="1365866993922957110">Получаване на автоматични актуализации</translation>
 <translation id="1372545819342940910">Запазване на работния кът за по-късно</translation>
 <translation id="1383597849754832576">Файловете за говор не могат да бъдат изтеглени. Опитайте отново по-късно.</translation>
 <translation id="1383876407941801731">Търсене</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Освободихте <ph name="ITEM_TITLE" /></translation>
 <translation id="1836215606488044471">Асистент (зарежда се...)</translation>
 <translation id="1838895407229022812">Функцията за нощно осветление е изключена.</translation>
+<translation id="1862380676329487333">Актуализиране и излизане от профила</translation>
 <translation id="1864454756846565995">USB-C устройство (задният порт)</translation>
 <translation id="1879018240766558464">Понастоящем не се поддържат прозорци в режим „инкогнито“. Другите приложения ще бъдат запазени.</translation>
 <translation id="1882814835921407042">Няма мобилна мрежа</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">В момента не можете да копирате, нито да поставяте съдържание</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Отваряне на настройките</translation>
+<translation id="4247123849143712100">Актуализиране и изключване</translation>
 <translation id="4250229828105606438">Eкранна снимка</translation>
 <translation id="425364040945105958">Няма SIM карта</translation>
 <translation id="4261870227682513959">Показване на настройките за известия. Известията са изключени</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913">„<ph name="DISPLAY_NAME" />“ е сесия, управлявана от <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">Установена е връзка с(ъс) <ph name="DEVICE_NAME" /></translation>
 <translation id="6351032674660237738">ПРЕДЛОЖЕНИЯ ЗА ПРИЛОЖЕНИЯ</translation>
+<translation id="6359587239691116345">Получавайте най-новите функции и подобрения в сигурността. Ако отхвърлите тази актуализация, устройството ви може вече да не работи правилно и може да имате проблеми със сигурността и производителността.</translation>
 <translation id="6376931439017688372">Функцията за Bluetooth е включена</translation>
 <translation id="6381109794406942707">Въведете ПИН кода си, за да отключите устройството.</translation>
 <translation id="639644700271529076">„CAPS LOCK“ е изключен</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> изисква да актуализирате устройството си <ph name="DEVICE_TYPE" /> преди крайния срок</translation>
 <translation id="649452524636452238">ПИН за смарткартата</translation>
 <translation id="6495400115277918834">Режимът „Картина в картината“ стартира. Натиснете Alt+Shift+V за поставяне на фокуса</translation>
+<translation id="6500896621837555595">Актуализиране</translation>
 <translation id="6501401484702599040">Екранът се предава към „<ph name="RECEIVER_NAME" />“</translation>
 <translation id="6515727200518652613">Връзката с камерата бе прекъсната. Прави се опит за възстановяването ѝ.</translation>
 <translation id="6520517963145875092">Изберете прозореца, който да се заснеме</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Издръжливостта на батерията се изчислява.</translation>
 <translation id="8061464966246066292">Висок контраст</translation>
 <translation id="8083540854303889870">Запазено за по-късно</translation>
+<translation id="8091387634532529612">Автоматични актуализации</translation>
 <translation id="8098591350844501178">Спиране на предаването на екрана към „<ph name="RECEIVER_NAME" />“</translation>
 <translation id="8113423164597455979">Вкл. за всички</translation>
 <translation id="8120151603115102514">Телефонът ви няма активирано заключване на екрана. За да отключите своя Chromebook, въведете паролата си.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Показани са <ph name="RESULT_COUNT" /> резултата за „<ph name="QUERY" />“</translation>
 <translation id="98515147261107953">Хоризонтално</translation>
 <translation id="990277280839877440">Прозорецът <ph name="WINDOW_TITILE" /> бе затворен.</translation>
+<translation id="996204416024568215">Получавайте най-новите функции и подобрения в сигурността. Актуализациите се извършват на заден план.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_bn.xtb b/ash/strings/ash_strings_bn.xtb
index 9285ceb..a10a5fe 100644
--- a/ash/strings/ash_strings_bn.xtb
+++ b/ash/strings/ash_strings_bn.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">ডানে</translation>
 <translation id="1351937230027495976">মেনুটি আড়াল করুন</translation>
 <translation id="1364382257761975320">Chromebook আনলক করতে, আপনার ফিঙ্গারপ্রিন্ট ব্যবহার করুন</translation>
+<translation id="1365866993922957110">অটোমেটিক আপডেট পান</translation>
 <translation id="1372545819342940910">পরে ব্যবহার করার জন্য ডেস্ক সেভ করুন</translation>
 <translation id="1383597849754832576">স্পিচ ফাইল ডাউনলোড করা যাবে না। পরে আবার চেষ্টা করুন।</translation>
 <translation id="1383876407941801731">Search</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> আনপিন করা হয়েছে</translation>
 <translation id="1836215606488044471">সহায়ক (লোড হচ্ছে...)</translation>
 <translation id="1838895407229022812">নাইট লাইট ফিচার বন্ধ করা আছে।</translation>
+<translation id="1862380676329487333">আপডেট করে সাইন-আউট করুন</translation>
 <translation id="1864454756846565995">USB-C ডিভাইস (পিছনের পোর্ট)</translation>
 <translation id="1879018240766558464">বর্তমানে ছদ্মবেশী উইন্ডো ব্যবহারের সুবিধা নেই। অন্যান্য অ্যাপ সেভ করা হবে।</translation>
 <translation id="1882814835921407042">মোবাইল নেটওয়ার্ক নেই</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">এই মুহূর্তে কন্টেন্ট কপি বা পেস্ট করা যাচ্ছে না</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">সেটিংস খুলুন</translation>
+<translation id="4247123849143712100">আপডেট করে বন্ধ করুন</translation>
 <translation id="4250229828105606438">স্ক্রিনশট</translation>
 <translation id="425364040945105958">কোনও সিম নেই</translation>
 <translation id="4261870227682513959">বিজ্ঞপ্তি সেটিংস দেখান। বিজ্ঞপ্তি বন্ধ আছে</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> এমন একটি ম্যানেজ করা সেশন যা <ph name="MANAGER" />-এর মাধ্যমে ম্যানেজ করা হয়</translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> কানেক্ট করা হয়েছে</translation>
 <translation id="6351032674660237738">অ্যাপের প্রস্তাবনা</translation>
+<translation id="6359587239691116345">লেটেস্ট ফিচার এবং নিরাপত্তা সংক্রান্ত উন্নতি পান। আপনি এই আপডেটটি বাতিল করলে, আপনার ডিভাইস আর সঠিকভাবে কাজ নাও করতে পারে এবং আপনি নিরাপত্তা এবং পারফর্ম্যান্স সংক্রান্ত সমস্যার সম্মুখীন হতে পারেন।</translation>
 <translation id="6376931439017688372">ব্লুটুথ চালু আছে</translation>
 <translation id="6381109794406942707">ডিভাইস আনলক করতে, আপনার পিন এন্টার করুন।</translation>
 <translation id="639644700271529076">CAPS LOCK বন্ধ আছে</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> আপনাকে ডেডলাইনের আগে <ph name="DEVICE_TYPE" /> আপডেট করতে বলছে</translation>
 <translation id="649452524636452238">স্মার্ট কার্ড পিন</translation>
 <translation id="6495400115277918834">ছবির-মধ্যে-ছবি ফিচার চালু করা হয়েছে, ফোকাস করতে Alt+Shift+V প্রেস করুন</translation>
+<translation id="6500896621837555595">আপডেট করুন</translation>
 <translation id="6501401484702599040"><ph name="RECEIVER_NAME" /> এ স্ক্রিন কাস্ট করা হচ্ছে</translation>
 <translation id="6515727200518652613">ক্যামেরা ডিসকানেক্ট হয়ে গেছে, আবার কানেক্ট করার চেষ্টা করা হচ্ছে।</translation>
 <translation id="6520517963145875092">ছবি তুলতে একটি উইন্ডো বেছে নিন</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">ব্যাটারি সময় গণনা করা হচ্ছে।</translation>
 <translation id="8061464966246066292">উচ্চ বৈসাদৃশ্য</translation>
 <translation id="8083540854303889870">পরবর্তী সময়ের জন্য সেভ করুন</translation>
+<translation id="8091387634532529612">অটোমেটিক আপডেট</translation>
 <translation id="8098591350844501178"><ph name="RECEIVER_NAME" /> এ স্ক্রিন কাস্ট করা বন্ধ করুন</translation>
 <translation id="8113423164597455979">সমস্ত অ্যাপে</translation>
 <translation id="8120151603115102514">আপনার ফোনে লক স্ক্রিন নেই। Chromebook আনলক করতে, পাসওয়ার্ড লিখুন।</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949"><ph name="QUERY" />-এর জন্য <ph name="RESULT_COUNT" />টি ফলাফল দেখানো হচ্ছে</translation>
 <translation id="98515147261107953">ল্যান্ডস্কেপ</translation>
 <translation id="990277280839877440">উইন্ডো <ph name="WINDOW_TITILE" /> বন্ধ করা আছে।</translation>
+<translation id="996204416024568215">লেটেস্ট ফিচার এবং নিরাপত্তা সংক্রান্ত উন্নতি পান। ব্যাকগ্রাউন্ডে আপডেট চলতে থাকবে।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_ca.xtb b/ash/strings/ash_strings_ca.xtb
index 0264187..ced1e61 100644
--- a/ash/strings/ash_strings_ca.xtb
+++ b/ash/strings/ash_strings_ca.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Dreta</translation>
 <translation id="1351937230027495976">Replega el menú</translation>
 <translation id="1364382257761975320">Per desbloquejar el Chromebook, utilitza l'empremta digital</translation>
+<translation id="1365866993922957110">Obtén actualitzacions automàtiques</translation>
 <translation id="1372545819342940910">Desa l'escriptori per a més tard</translation>
 <translation id="1383597849754832576">No es poden baixar fitxers de veu. Torna-ho a provar més tard.</translation>
 <translation id="1383876407941801731">Cerca</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> s'ha deixat de fixar</translation>
 <translation id="1836215606488044471">Assistent (s'està carregant...)</translation>
 <translation id="1838895407229022812">La funció Llum nocturna està desactivada.</translation>
+<translation id="1862380676329487333">Actualitza i tanca la sessió</translation>
 <translation id="1864454756846565995">Dispositiu USB-C (port posterior)</translation>
 <translation id="1879018240766558464">Les finestres d'incògnit no s'admeten actualment. Les altres aplicacions es desaran.</translation>
 <translation id="1882814835921407042">No hi ha cap xarxa mòbil</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">En aquests moments no es pot copiar ni enganxar contingut</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Obre la configuració</translation>
+<translation id="4247123849143712100">Actualitza i apaga</translation>
 <translation id="4250229828105606438">Captura de pantalla</translation>
 <translation id="425364040945105958">No hi ha cap SIM</translation>
 <translation id="4261870227682513959">Mostra la configuració de notificacions. Les notificacions estan desactivades.</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> és una sessió gestionada per <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">Dispositiu <ph name="DEVICE_NAME" /> connectat</translation>
 <translation id="6351032674660237738">SUGGERIMENTS D'APLICACIONS</translation>
+<translation id="6359587239691116345">Obtén les funcions i les millores de seguretat més recents. Si rebutges aquesta actualització, pot ser que el dispositiu ja no funcioni correctament i que tinguis problemes de seguretat i de rendiment.</translation>
 <translation id="6376931439017688372">El Bluetooth està activat</translation>
 <translation id="6381109794406942707">Per desbloquejar el dispositiu, introdueix el PIN.</translation>
 <translation id="639644700271529076">Bloq Maj està desactivat</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> requereix que actualitzis el dispositiu <ph name="DEVICE_TYPE" /> abans del termini establert</translation>
 <translation id="649452524636452238">PIN de la targeta intel·ligent</translation>
 <translation id="6495400115277918834">S'ha iniciat la pantalla en pantalla; prem Alt+Maj+V per posar-hi el focus</translation>
+<translation id="6500896621837555595">Actualitza</translation>
 <translation id="6501401484702599040">S'està emetent la pantalla a <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">S'ha perdut la càmera. S'està provant de tornar a connectar.</translation>
 <translation id="6520517963145875092">Selecciona la finestra que vols capturar</translation>
@@ -1215,6 +1220,7 @@
 <translation id="8054466585765276473">S'està calculant el temps de la bateria.</translation>
 <translation id="8061464966246066292">Contrast alt</translation>
 <translation id="8083540854303889870">Desat per a més tard</translation>
+<translation id="8091387634532529612">Actualitzacions automàtiques</translation>
 <translation id="8098591350844501178">Deixa d'emetre la pantalla a <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Sí, en totes</translation>
 <translation id="8120151603115102514">El telèfon no té una pantalla de bloqueig. Per desbloquejar el Chromebook, introdueix la contrasenya.</translation>
@@ -1421,4 +1427,5 @@
 <translation id="974545358917229949">S'estan mostrant <ph name="RESULT_COUNT" /> resultats per a "<ph name="QUERY" />"</translation>
 <translation id="98515147261107953">Horitzontal</translation>
 <translation id="990277280839877440">La finestra <ph name="WINDOW_TITILE" /> s'ha tancat.</translation>
+<translation id="996204416024568215">Obtén les funcions i les millores de seguretat més recents. Les actualitzacions es duen a terme en segon pla.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_cs.xtb b/ash/strings/ash_strings_cs.xtb
index 04df278e..6c648ac8 100644
--- a/ash/strings/ash_strings_cs.xtb
+++ b/ash/strings/ash_strings_cs.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Doprava</translation>
 <translation id="1351937230027495976">Sbalit nabídku</translation>
 <translation id="1364382257761975320">Pokud chcete Chromebook odemknout, použijte otisk prstu</translation>
+<translation id="1365866993922957110">Dostávejte automatické aktualizace</translation>
 <translation id="1372545819342940910">Uložit plochu na později</translation>
 <translation id="1383597849754832576">Stažení řečových souborů se nezdařilo. Zkuste to znovu později.</translation>
 <translation id="1383876407941801731">Vyhledávání</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Položka <ph name="ITEM_TITLE" /> byla odepnuta</translation>
 <translation id="1836215606488044471">Asistent (načítání...)</translation>
 <translation id="1838895407229022812">Noční režim je vypnutý.</translation>
+<translation id="1862380676329487333">Aktualizovat a odhlásit se</translation>
 <translation id="1864454756846565995">Zařízení USB Type-C (zadní port)</translation>
 <translation id="1879018240766558464">Anonymní okna v současné době nejsou podporována. Ostatní aplikace budou uloženy.</translation>
 <translation id="1882814835921407042">Žádná mobilní síť</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Momentálně nelze kopírovat ani vkládat obsah</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Otevřít Nastavení</translation>
+<translation id="4247123849143712100">Aktualizovat a vypnout</translation>
 <translation id="4250229828105606438">Snímek obrazovky</translation>
 <translation id="425364040945105958">Žádná SIM karta</translation>
 <translation id="4261870227682513959">Zobrazit nastavení oznámení. Oznámení jsou vypnutá</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> je spravovaná relace, kterou spravuje doména <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">Zařízení <ph name="DEVICE_NAME" /> je připojeno</translation>
 <translation id="6351032674660237738">NÁVRHY APLIKACÍ</translation>
+<translation id="6359587239691116345">Získejte nejnovější funkce a vylepšení zabezpečení. Pokud tuto aktualizaci odmítnete, vaše zařízení už nemusí pracovat správně a mohou se vyskytnout problémy se zabezpečením a výkonem.</translation>
 <translation id="6376931439017688372">Rozhraní Bluetooth je zapnuté</translation>
 <translation id="6381109794406942707">Chcete-li zařízení odemknout, zadejte PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK je vypnutý</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820">Organizace <ph name="MANAGER" /> vyžaduje, abyste toto zařízení <ph name="DEVICE_TYPE" /> do stanoveného termínu aktualizovali.</translation>
 <translation id="649452524636452238">PIN chytré karty</translation>
 <translation id="6495400115277918834">Byl spuštěn režim obrazu v obraze, výběr provedete stisknutím kláves Alt+Shift+V</translation>
+<translation id="6500896621837555595">Aktualizovat</translation>
 <translation id="6501401484702599040">Odesílání obrazovky do zařízení <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Kamera byla ztracena, probíhá pokus o opětovné připojení.</translation>
 <translation id="6520517963145875092">Vyberte okno, které chcete zachytit</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Výpočet doby výdrže baterie.</translation>
 <translation id="8061464966246066292">Vysoký kontrast</translation>
 <translation id="8083540854303889870">Uloženo na později</translation>
+<translation id="8091387634532529612">Automatické aktualizace</translation>
 <translation id="8098591350844501178">Ukončit odesílání obrazovky do přijímače <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Zap., všechny</translation>
 <translation id="8120151603115102514">Telefon nemá zámek obrazovky. Pokud chcete odemknout Chromebook, zadejte heslo.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Zobrazuje se tento počet výsledků pro dotaz <ph name="QUERY" />: <ph name="RESULT_COUNT" /></translation>
 <translation id="98515147261107953">Na šířku</translation>
 <translation id="990277280839877440">Okno <ph name="WINDOW_TITILE" /> bylo zavřeno.</translation>
+<translation id="996204416024568215">Získejte nejnovější funkce a vylepšení zabezpečení. Aktualizace probíhají na pozadí.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_cy.xtb b/ash/strings/ash_strings_cy.xtb
index 6123900..3be08dd9 100644
--- a/ash/strings/ash_strings_cy.xtb
+++ b/ash/strings/ash_strings_cy.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">De</translation>
 <translation id="1351937230027495976">Crebachu'r ddewislen</translation>
 <translation id="1364382257761975320">I ddatgloi eich Chromebook, defnyddiwch eich olion bysedd</translation>
+<translation id="1365866993922957110">Cael diweddariadau awtomatig</translation>
 <translation id="1372545819342940910">Cadw'r ddesg ar gyfer nes ymlaen</translation>
 <translation id="1383597849754832576">Methu â lawrlwytho ffeiliau lleferydd. Rhowch gynnig arall arni'n nes ymlaen.</translation>
 <translation id="1383876407941801731">Chwilio</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Cafodd <ph name="ITEM_TITLE" /> ei ddadbinio</translation>
 <translation id="1836215606488044471">Assistant (wrthi'n llwytho...)</translation>
 <translation id="1838895407229022812">Mae Golau Nos wedi'i ddiffodd.</translation>
+<translation id="1862380676329487333">Diweddaru ac allgofnodi</translation>
 <translation id="1864454756846565995">Dyfais USB-C (porth cefn)</translation>
 <translation id="1879018240766558464">Ni chefnogir ffenestri anhysbys ar hyn o bryd. Bydd apiau eraill yn cael eu cadw.</translation>
 <translation id="1882814835921407042">Dim rhwydwaith symudol</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Methu â chopïo na gludo cynnwys ar hyn o bryd</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Agor y gosodiadau</translation>
+<translation id="4247123849143712100">Diweddaru a diffodd</translation>
 <translation id="4250229828105606438">Sgrinlun</translation>
 <translation id="425364040945105958">Dim SIM</translation>
 <translation id="4261870227682513959">Dangos gosodiadau hysbysiadau. Mae hysbysiadau wedi'u diffodd</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913">Mae <ph name="DISPLAY_NAME" /> yn sesiwn a reolir gan <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">Mae <ph name="DEVICE_NAME" /> wedi'i chysylltu</translation>
 <translation id="6351032674660237738">AWGRYMIADAU APIAU</translation>
+<translation id="6359587239691116345">Cewch y nodweddion a'r gwelliannau diogelwch diweddaraf. Os byddwch yn gwrthod y diweddariad hwn, mae'n bosib na fydd eich dyfais yn gweithio'n iawn mwyach ac mae'n bosib y byddwch yn profi problemau diogelwch a pherfformiad.</translation>
 <translation id="6376931439017688372">Mae Bluetooth ymlaen</translation>
 <translation id="6381109794406942707">Rhowch eich PIN i ddatgloi'r ddyfais hon.</translation>
 <translation id="639644700271529076">Mae'r CAPS LOCK wedi'i ddiffodd</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820">Mae <ph name="MANAGER" /> gofyn i chi ddiweddaru eich <ph name="DEVICE_TYPE" /> cyn y dyddiad terfyn</translation>
 <translation id="649452524636452238">PIN cerdyn smart</translation>
 <translation id="6495400115277918834">Wedi cychwyn llun mewn llun, Alt+Shift+V i ffocysu</translation>
+<translation id="6500896621837555595">Diweddaru</translation>
 <translation id="6501401484702599040">Yn castio'r sgrîn i <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Mae'r camera wedi'i golli, wrthi'n ceisio ailgysylltu.</translation>
 <translation id="6520517963145875092">Dewiswch ffenestr i'w chipio</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Wrthi'n cyfrifo amser y batri.</translation>
 <translation id="8061464966246066292">Cyferbyniad uchel</translation>
 <translation id="8083540854303889870">Cadwyd ar gyfer nes ymlaen</translation>
+<translation id="8091387634532529612">Diweddariadau awtomatig</translation>
 <translation id="8098591350844501178">Stopio castio'r sgrîn i <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Ymlaen, pob ap</translation>
 <translation id="8120151603115102514">Nid oes clo sgrîn ar eich ffôn. I ddatgloi eich Chromebook, rhowch eich cyfrinair.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Wrthi'n dangos <ph name="RESULT_COUNT" /> o ganlyniadau ar gyfer <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Llorweddol</translation>
 <translation id="990277280839877440">Caewyd y ffenestr <ph name="WINDOW_TITILE" />.</translation>
+<translation id="996204416024568215">Cewch y nodweddion a'r gwelliannau diogelwch diweddaraf. Mae diweddariadau yn digwydd yn y cefndir.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_da.xtb b/ash/strings/ash_strings_da.xtb
index 46868a2..8716f1e 100644
--- a/ash/strings/ash_strings_da.xtb
+++ b/ash/strings/ash_strings_da.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Højre</translation>
 <translation id="1351937230027495976">Skjul menu</translation>
 <translation id="1364382257761975320">Hvis du vil låse din Chromebook op, skal du bruge dit fingeraftryk</translation>
+<translation id="1365866993922957110">Få automatiske opdateringer</translation>
 <translation id="1372545819342940910">Gem skrivebord til senere</translation>
 <translation id="1383597849754832576">Talefilerne kan ikke downloades. Prøv igen senere.</translation>
 <translation id="1383876407941801731">Søg</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> blev frigjort</translation>
 <translation id="1836215606488044471">Assistent (indlæser...)</translation>
 <translation id="1838895407229022812">Nattelys er slået fra.</translation>
+<translation id="1862380676329487333">Opdater, og log ud</translation>
 <translation id="1864454756846565995">USB-C-enhed (port bagpå)</translation>
 <translation id="1879018240766558464">Inkognitovinduer understøttes ikke i øjeblikket. Andre apps gemmes.</translation>
 <translation id="1882814835921407042">Intet mobilnetværk</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Det er ikke muligt at kopiere eller indsætte indhold på nuværende tidspunkt</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Åbn Indstillinger</translation>
+<translation id="4247123849143712100">Opdater, og sluk</translation>
 <translation id="4250229828105606438">Screenshot</translation>
 <translation id="425364040945105958">Intet SIM-kort</translation>
 <translation id="4261870227682513959">Vis indstillinger for notifikationer. Notifikationer er slået fra</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> er en session, der administreres af <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> er forbundet</translation>
 <translation id="6351032674660237738">APPFORSLAG</translation>
+<translation id="6359587239691116345">Få de nyeste funktioner og sikkerhedsforbedringer. Hvis du afviser denne opdatering, fungerer din enhed muligvis ikke længere korrekt, og du kan opleve problemer med sikkerheden og ydeevnen.</translation>
 <translation id="6376931439017688372">Bluetooth er slået til</translation>
 <translation id="6381109794406942707">Angiv din pinkode for at låse enheden op.</translation>
 <translation id="639644700271529076">CAPS LOCK er deaktiveret</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> kræver, at du opdaterer din <ph name="DEVICE_TYPE" />, før fristen udløber</translation>
 <translation id="649452524636452238">Pinkode til chipkort</translation>
 <translation id="6495400115277918834">Integreret billede blev startet – tryk på Alt + Shift + V for at fokusere på dette</translation>
+<translation id="6500896621837555595">Opdater</translation>
 <translation id="6501401484702599040">Caster skærmen til <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Forbindelsen til kameraet blev afbrudt. Genopretter forbindelsen.</translation>
 <translation id="6520517963145875092">Vælg et vindue, der skal tages billede af</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Beregner batteritid.</translation>
 <translation id="8061464966246066292">Høj kontrast</translation>
 <translation id="8083540854303889870">Gemt til senere</translation>
+<translation id="8091387634532529612">Automatiske opdateringer</translation>
 <translation id="8098591350844501178">Stop skærmcast til <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Til, alle apps</translation>
 <translation id="8120151603115102514">Du har ikke aktiveret en låseskærm på din telefon. Angiv din adgangskode for at låse din Chromebook op.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Viser <ph name="RESULT_COUNT" /> resultater for <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Liggende</translation>
 <translation id="990277280839877440">Vinduet <ph name="WINDOW_TITILE" /> blev lukket.</translation>
+<translation id="996204416024568215">Få de nyeste funktioner og sikkerhedsforbedringer. Opdateringerne foregår i baggrunden.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_es-419.xtb b/ash/strings/ash_strings_es-419.xtb
index 7d85576..70df099 100644
--- a/ash/strings/ash_strings_es-419.xtb
+++ b/ash/strings/ash_strings_es-419.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Derecha</translation>
 <translation id="1351937230027495976">Contraer menú</translation>
 <translation id="1364382257761975320">Para desbloquear la Chromebook, utiliza la huella dactilar</translation>
+<translation id="1365866993922957110">Obtener actualizaciones automáticas</translation>
 <translation id="1372545819342940910">Guardar el escritorio para más tarde</translation>
 <translation id="1383597849754832576">No se pueden descargar los videos de Subtitulado instantáneo. Vuelve a intentarlo más tarde.</translation>
 <translation id="1383876407941801731">Buscar</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Se dejó de fijar <ph name="ITEM_TITLE" /></translation>
 <translation id="1836215606488044471">Asistente (cargando…)</translation>
 <translation id="1838895407229022812">La luz nocturna está apagada.</translation>
+<translation id="1862380676329487333">Actualizar y salir</translation>
 <translation id="1864454756846565995">Dispositivo USB-C (puerto trasero)</translation>
 <translation id="1879018240766558464">Por el momento, las ventanas de incógnito no son compatibles. Se guardarán las demás apps.</translation>
 <translation id="1882814835921407042">Sin red móvil</translation>
@@ -562,6 +564,7 @@
 <translation id="423685346499232137">En este momento no se puede copiar ni pegar contenido</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Abrir la configuración</translation>
+<translation id="4247123849143712100">Actualizar y apagar</translation>
 <translation id="4250229828105606438">Captura de pantalla</translation>
 <translation id="425364040945105958">No hay ninguna tarjeta SIM</translation>
 <translation id="4261870227682513959">Mostrar la configuración de las notificaciones: Están desactivadas</translation>
@@ -921,6 +924,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> es una sesión administrada por <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">El dispositivo <ph name="DEVICE_NAME" /> está conectado</translation>
 <translation id="6351032674660237738">SUGERENCIAS DE APPS</translation>
+<translation id="6359587239691116345">Obtén las funciones y mejoras de seguridad más recientes. Si rechazas esta actualización, es posible que el dispositivo ya no funcione de manera adecuada y que tengas problemas de seguridad y rendimiento.</translation>
 <translation id="6376931439017688372">Se activó la conexión Bluetooth</translation>
 <translation id="6381109794406942707">Para desbloquear el dispositivo, ingresa el PIN.</translation>
 <translation id="639644700271529076">El bloqueo de mayúsculas está desactivado.</translation>
@@ -942,6 +946,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> requiere que actualices tu <ph name="DEVICE_TYPE" /> antes de la fecha límite</translation>
 <translation id="649452524636452238">PIN de la tarjeta inteligente</translation>
 <translation id="6495400115277918834">Se inició el modo pantalla en pantalla; presiona Alt+Mayúsculas+V para enfocar</translation>
+<translation id="6500896621837555595">Actualizar</translation>
 <translation id="6501401484702599040">Transmitiendo pantalla a <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Se desconectó la cámara. Intentando volver a establecer la conexión.</translation>
 <translation id="6520517963145875092">Selecciona una ventana que quieras capturar</translation>
@@ -1219,6 +1224,7 @@
 <translation id="8054466585765276473">Calculando duración de la batería...</translation>
 <translation id="8061464966246066292">Contraste alto</translation>
 <translation id="8083540854303889870">Guardados para después</translation>
+<translation id="8091387634532529612">Actualizaciones automáticas</translation>
 <translation id="8098591350844501178">Detener la transmisión de la pantalla a <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Sí, para todas</translation>
 <translation id="8120151603115102514">Tu teléfono no tiene una pantalla de bloqueo. Para desbloquear la Chromebook, ingresa la contraseña.</translation>
@@ -1425,4 +1431,5 @@
 <translation id="974545358917229949">Mostrando <ph name="RESULT_COUNT" /> resultados para <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Horizontal</translation>
 <translation id="990277280839877440">Se cerró la ventana <ph name="WINDOW_TITILE" />.</translation>
+<translation id="996204416024568215">Obtén las funciones y mejoras de seguridad más recientes. Las actualizaciones se realizan en segundo plano.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_es.xtb b/ash/strings/ash_strings_es.xtb
index 754493b3..06f2943 100644
--- a/ash/strings/ash_strings_es.xtb
+++ b/ash/strings/ash_strings_es.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Derecha</translation>
 <translation id="1351937230027495976">Ocultar menú</translation>
 <translation id="1364382257761975320">Para desbloquear tu Chromebook, usa tu huella digital</translation>
+<translation id="1365866993922957110">Recibir actualizaciones automáticas</translation>
 <translation id="1372545819342940910">Guardar escritorio para más tarde</translation>
 <translation id="1383597849754832576">No se han podido descargar los archivos de voz. Prueba de nuevo más tarde.</translation>
 <translation id="1383876407941801731">Buscar</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> ya no está fijado</translation>
 <translation id="1836215606488044471">Asistente (cargando...)</translation>
 <translation id="1838895407229022812">Luz nocturna desactivada.</translation>
+<translation id="1862380676329487333">Actualizar y cerrar sesión</translation>
 <translation id="1864454756846565995">Dispositivo USB-C (puerto trasero)</translation>
 <translation id="1879018240766558464">Las ventanas de Incógnito no se admiten actualmente. Se guardarán las demás aplicaciones.</translation>
 <translation id="1882814835921407042">Sin red móvil</translation>
@@ -562,6 +564,7 @@
 <translation id="423685346499232137">No se puede copiar ni pegar contenido en este momento</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Abrir Configuración</translation>
+<translation id="4247123849143712100">Actualizar y apagar</translation>
 <translation id="4250229828105606438">Captura de pantalla</translation>
 <translation id="425364040945105958">Sin SIM</translation>
 <translation id="4261870227682513959">Muestra la configuración de notificaciones. Las notificaciones están desactivadas.</translation>
@@ -921,6 +924,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> es una sesión administrada por <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> conectado</translation>
 <translation id="6351032674660237738">SUGERENCIAS DE APLICACIONES</translation>
+<translation id="6359587239691116345">Recibe las últimas funciones y mejoras de seguridad. Si rechazas esta actualización, es posible que tu dispositivo deje de funcionar correctamente y que tengas problemas de seguridad y rendimiento.</translation>
 <translation id="6376931439017688372">El Bluetooth está activado</translation>
 <translation id="6381109794406942707">Para desbloquear el dispositivo, introduce tu PIN.</translation>
 <translation id="639644700271529076">Bloqueo de mayúsculas desactivado</translation>
@@ -942,6 +946,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> requiere que actualices tu <ph name="DEVICE_TYPE" /> antes del plazo límite</translation>
 <translation id="649452524636452238">PIN de la tarjeta inteligente</translation>
 <translation id="6495400115277918834">El modo imagen en imagen se ha iniciado. Pulsa Alt + Mayús + V para enfocar.</translation>
+<translation id="6500896621837555595">Actualizar</translation>
 <translation id="6501401484702599040">Enviando la pantalla a <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">La cámara ha perdido la conexión, intentando volver a conectar.</translation>
 <translation id="6520517963145875092">Selecciona una ventana para hacer la captura</translation>
@@ -1219,6 +1224,7 @@
 <translation id="8054466585765276473">Calculando duración de la batería...</translation>
 <translation id="8061464966246066292">Contraste alto</translation>
 <translation id="8083540854303889870">Guardados para más tarde</translation>
+<translation id="8091387634532529612">Actualizaciones automáticas</translation>
 <translation id="8098591350844501178">Dejar de enviar la pantalla a <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Sí, todas</translation>
 <translation id="8120151603115102514">Tu teléfono no tiene pantalla de bloqueo. Para desbloquear tu Chromebook, escribe la contraseña.</translation>
@@ -1425,4 +1431,5 @@
 <translation id="974545358917229949">Se muestran <ph name="RESULT_COUNT" /> resultados de <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Horizontal</translation>
 <translation id="990277280839877440">La ventana <ph name="WINDOW_TITILE" /> se ha cerrado.</translation>
+<translation id="996204416024568215">Recibe las últimas funciones y mejoras de seguridad. Las actualizaciones se descargan e instalan en segundo plano.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_et.xtb b/ash/strings/ash_strings_et.xtb
index 22f18df..5f94964 100644
--- a/ash/strings/ash_strings_et.xtb
+++ b/ash/strings/ash_strings_et.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Paremale</translation>
 <translation id="1351937230027495976">Ahenda menüü</translation>
 <translation id="1364382257761975320">Chromebooki avamiseks kasutage oma sõrmejälge</translation>
+<translation id="1365866993922957110">Hangi automaatseid värskendusi</translation>
 <translation id="1372545819342940910">Salvesta töölaud hilisemaks</translation>
 <translation id="1383597849754832576">Kõnefaile ei saa alla laadida. Proovige hiljem uuesti.</translation>
 <translation id="1383876407941801731">Otsi</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> vabastati</translation>
 <translation id="1836215606488044471">Assistent (laadimine …)</translation>
 <translation id="1838895407229022812">Öövalgus on väljas.</translation>
+<translation id="1862380676329487333">Värskenda ja logi välja</translation>
 <translation id="1864454756846565995">C-tüüpi USB-seade (tagumine port)</translation>
 <translation id="1879018240766558464">Inkognito aknaid praegu ei toetata. Muud rakendused salvestatakse.</translation>
 <translation id="1882814835921407042">Mobiilsidevõrku pole</translation>
@@ -562,6 +564,7 @@
 <translation id="423685346499232137">Ei saa praegu sisu kopeerida ega kleepida</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Ava seaded</translation>
+<translation id="4247123849143712100">Värskenda ja lülita välja</translation>
 <translation id="4250229828105606438">Ekraanipilt</translation>
 <translation id="425364040945105958">SIM-kaarti pole</translation>
 <translation id="4261870227682513959">Kuvab märguandeseaded. Märguanded on välja lülitatud</translation>
@@ -921,6 +924,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> on hallatud seanss, mida haldab <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> on ühendatud</translation>
 <translation id="6351032674660237738">RAKENDUSTE SOOVITUSED</translation>
+<translation id="6359587239691116345">Hankige uusimad funktsioonid ja turvatäiustused. Kui sellest värskendusest keeldute, ei pruugi teie seade enam korralikult töötada ning võite kogeda turva- ja toimivusprobleeme.</translation>
 <translation id="6376931439017688372">Bluetooth on sisse lülitatud</translation>
 <translation id="6381109794406942707">Seadme avamiseks sisestage oma PIN-kood.</translation>
 <translation id="639644700271529076">SUURTÄHELUKK on välja lülitatud</translation>
@@ -942,6 +946,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> nõuab, et värskendaksite seadme <ph name="DEVICE_TYPE" /> operatsioonisüsteemi enne tähtaega</translation>
 <translation id="649452524636452238">Kiipkaardi PIN-kood</translation>
 <translation id="6495400115277918834">Pilt pildis käivitati, esiletõstmiseks vajutage klahvikombinatsiooni Alt + Tõstuklahv + V</translation>
+<translation id="6500896621837555595">Värskenda</translation>
 <translation id="6501401484702599040">Ekraani ülekandmine seadmesse <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Kaamera ühendus katkes, proovitakse uuesti ühendada.</translation>
 <translation id="6520517963145875092">Valige jäädvustatav aken</translation>
@@ -1219,6 +1224,7 @@
 <translation id="8054466585765276473">Aku tööaja arvutamine.</translation>
 <translation id="8061464966246066292">Kõrge kontrast</translation>
 <translation id="8083540854303889870">Salvestatud hilisemaks</translation>
+<translation id="8091387634532529612">Automaatsed värskendused</translation>
 <translation id="8098591350844501178">Peata ekraani ülekandmine vastuvõtjasse <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Sees, kõik rak.</translation>
 <translation id="8120151603115102514">Teie telefonil pole lukustuskuva. Chromebooki avamiseks sisestage parool.</translation>
@@ -1425,4 +1431,5 @@
 <translation id="974545358917229949">Kuvatud on <ph name="RESULT_COUNT" /> tulemust päringule <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Horisontaalpaigutus</translation>
 <translation id="990277280839877440">Aken <ph name="WINDOW_TITILE" /> on suletud.</translation>
+<translation id="996204416024568215">Hankige uusimad funktsioonid ja turvatäiustused. Värskendamine toimub taustal.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_eu.xtb b/ash/strings/ash_strings_eu.xtb
index 8d168fd..0ea867e 100644
--- a/ash/strings/ash_strings_eu.xtb
+++ b/ash/strings/ash_strings_eu.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Eskuinera</translation>
 <translation id="1351937230027495976">Tolestu menua</translation>
 <translation id="1364382257761975320">Chromebook-a desblokeatzeko, erabili hatz-marka</translation>
+<translation id="1365866993922957110">Jaso eguneratze automatikoak</translation>
 <translation id="1372545819342940910">Gorde lan-eremua gerorako</translation>
 <translation id="1383597849754832576">Ezin dira deskargatu hizketa-fitxategiak. Saiatu berriro geroago.</translation>
 <translation id="1383876407941801731">Bilaketa</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Kendu zaio aingura <ph name="ITEM_TITLE" /> elementuari</translation>
 <translation id="1836215606488044471">Laguntzailea (kargatzen…)</translation>
 <translation id="1838895407229022812">Gaueko argia itzalita dago.</translation>
+<translation id="1862380676329487333">Eguneratu eta amaitu saioa</translation>
 <translation id="1864454756846565995">USB-C gailua (atzealdeko ataka)</translation>
 <translation id="1879018240766558464">Une honetan ez dira onartzen ezkutuko moduko leihoak. Gainerako aplikazioak gorde egingo dira.</translation>
 <translation id="1882814835921407042">Ez dago sare mugikorrik</translation>
@@ -562,6 +564,7 @@
 <translation id="423685346499232137">Une honetan, ezin da kopiatu edo itsatsi edukirik</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Ireki ezarpenak</translation>
+<translation id="4247123849143712100">Eguneratu eta itzali</translation>
 <translation id="4250229828105606438">Pantaila-argazkia</translation>
 <translation id="425364040945105958">Ez dago SIMik</translation>
 <translation id="4261870227682513959">Erakutsi jakinarazpen-ezarpenak. Desaktibatuta daude jakinarazpenak.</translation>
@@ -921,6 +924,7 @@
 <translation id="6338485349199627913"><ph name="MANAGER" /> domeinuak kudeatutako saio kudeatua da <ph name="DISPLAY_NAME" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> gailua konektatu da</translation>
 <translation id="6351032674660237738">APLIKAZIOEN IRADOKIZUNAK</translation>
+<translation id="6359587239691116345">Lortu azken eginbideak eta segurtasun-hobekuntzak. Eguneratzea baztertzen baduzu, baliteke gailuak behar bezala funtzionatzeari uztea eta segurtasun- eta errendimendu-arazoak izatea.</translation>
 <translation id="6376931439017688372">Aktibatuta dago Bluetooth-a</translation>
 <translation id="6381109794406942707">Gailua desblokeatzeko, idatzi PINa.</translation>
 <translation id="639644700271529076">BLOK MAIUS desaktibatuta dago</translation>
@@ -942,6 +946,7 @@
 <translation id="6491071886865974820"><ph name="DEVICE_TYPE" /> gailua epemuga heldu aurretik eguneratzea eskatu dizu <ph name="MANAGER" /> kudeatzaileak</translation>
 <translation id="649452524636452238">Txartel adimendunaren PINa</translation>
 <translation id="6495400115277918834">Pantaila txiki gainjarria abiarazi da. Fokuratzeko, sakatu Alt, Maius eta V.</translation>
+<translation id="6500896621837555595">Eguneratu</translation>
 <translation id="6501401484702599040">Pantaila <ph name="RECEIVER_NAME" /> gailura igortzen ari da</translation>
 <translation id="6515727200518652613">Galdu egin da kameraren seinalea. Berriro konektatzen saiatzen.</translation>
 <translation id="6520517963145875092">Hautatu argazkian agertzea nahi duzun leihoa</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Bateria-denbora kalkulatzen.</translation>
 <translation id="8061464966246066292">Kontraste handia</translation>
 <translation id="8083540854303889870">Gerorako gordetakoak</translation>
+<translation id="8091387634532529612">Eguneratze automatikoak</translation>
 <translation id="8098591350844501178">Utzi pantaila <ph name="RECEIVER_NAME" /> izeneko gailura igortzeari</translation>
 <translation id="8113423164597455979">Guzt. aktibat.</translation>
 <translation id="8120151603115102514">Telefonoak ez dauka pantaila blokeaturik. Chromebook-a desblokeatzeko, idatzi pasahitza.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">"<ph name="QUERY" />" bilaketaren <ph name="RESULT_COUNT" /> emaitza daude ikusgai</translation>
 <translation id="98515147261107953">Horizontala</translation>
 <translation id="990277280839877440"><ph name="WINDOW_TITILE" /> leihoa itxi da.</translation>
+<translation id="996204416024568215">Lortu azken eginbideak eta segurtasun-hobekuntzak. Eguneratzeak atzeko planoan gertatzen dira.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_fi.xtb b/ash/strings/ash_strings_fi.xtb
index c3cfada..287543a 100644
--- a/ash/strings/ash_strings_fi.xtb
+++ b/ash/strings/ash_strings_fi.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Oikealla</translation>
 <translation id="1351937230027495976">Tiivistä valikko</translation>
 <translation id="1364382257761975320">Voit avata Chromebookin lukituksen käyttämällä sormenjälkeäsi</translation>
+<translation id="1365866993922957110">Päivitä automaattisesti</translation>
 <translation id="1372545819342940910">Tallenna työpöytä myöhempää käyttöä varten</translation>
 <translation id="1383597849754832576">Puhetiedostoja ei voi ladata. Yritä myöhemmin uudelleen.</translation>
 <translation id="1383876407941801731">Haku</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> irrotettiin</translation>
 <translation id="1836215606488044471">Assistant (ladataan…)</translation>
 <translation id="1838895407229022812">Yövalo on pois päältä.</translation>
+<translation id="1862380676329487333">Päivitä ja kirjaudu ulos</translation>
 <translation id="1864454756846565995">C-tyypin USB-laite (takaportti)</translation>
 <translation id="1879018240766558464">Incognito-ikkunoita ei tällä hetkellä tueta. Muut sovellukset tallennetaan.</translation>
 <translation id="1882814835921407042">Ei mobiiliverkkoa</translation>
@@ -443,7 +445,7 @@
 <translation id="3554637740840164787"><ph name="ITEM_TITLE" /> kiinnitettiin</translation>
 <translation id="3563775809269155755">Ota hotspot käyttöön</translation>
 <translation id="3566240529365775567">Avattu äsken</translation>
-<translation id="3571734092741541777">Määritä</translation>
+<translation id="3571734092741541777">Ota käyttöön</translation>
 <translation id="3573179567135747900">Vaihda takaisin kieleksi <ph name="FROM_LOCALE" /> (vaatii uudelleenkäynnistyksen)</translation>
 <translation id="3576141592585647168">Muuta aikavyöhykettä</translation>
 <translation id="3577473026931028326">Jotain meni pieleen. Yritä uudelleen.</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Sisältöä ei voi tällä hetkellä kopioida eikä liittää</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Avaa asetukset</translation>
+<translation id="4247123849143712100">Päivitä ja sammuta</translation>
 <translation id="4250229828105606438">Kuvakaappaus</translation>
 <translation id="425364040945105958">Ei SIM-korttia</translation>
 <translation id="4261870227682513959">Näytä ilmoitusasetukset. Ilmoitukset ovat pois päältä</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> on ylläpidetty käyttökerta, jota ylläpitää <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> yhdistetty</translation>
 <translation id="6351032674660237738">SOVELLUSEHDOTUKSET</translation>
+<translation id="6359587239691116345">Lataa uusimmat ominaisuudet ja tietoturvaparannukset. Jos hylkäät päivityksen, laite ei välttämättä toimi kunnolla, ja saatat kokea turvallisuuteen ja suorituskykyyn liittyviä ongelmia.</translation>
 <translation id="6376931439017688372">Bluetooth on päällä</translation>
 <translation id="6381109794406942707">Avaa laitteen lukitus lisäämällä PIN-koodisi.</translation>
 <translation id="639644700271529076">CAPS LOCK on pois päältä</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> edellyttää, että <ph name="DEVICE_TYPE" /> on päivitetty määräaikaan mennessä</translation>
 <translation id="649452524636452238">Älykortin PIN-koodi</translation>
 <translation id="6495400115277918834">Kuva kuvassa aloitettu, kohdista painamalla Alt+Shift+V</translation>
+<translation id="6500896621837555595">Päivitä</translation>
 <translation id="6501401484702599040">Näkymä peilataan kohteeseen <ph name="RECEIVER_NAME" />.</translation>
 <translation id="6515727200518652613">Kameraa ei löydy, yritetään yhdistää uudelleen.</translation>
 <translation id="6520517963145875092">Valitse ikkuna kuvakaappausta varten</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Lasketaan akun kesto.</translation>
 <translation id="8061464966246066292">Suuri kontrasti</translation>
 <translation id="8083540854303889870">Tallennettu myöhempää käyttöä varten</translation>
+<translation id="8091387634532529612">Automaattiset päivitykset</translation>
 <translation id="8098591350844501178">Lopeta suoratoisto: <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Päällä, kaikki</translation>
 <translation id="8120151603115102514">Puhelimessasi ei ole lukitusnäyttöä. Avaa Chromebookin lukitus kirjoittamalla salasana.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Näytetään <ph name="RESULT_COUNT" /> tulosta haulla <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Vaakasuunta</translation>
 <translation id="990277280839877440">Ikkuna <ph name="WINDOW_TITILE" /> suljettu.</translation>
+<translation id="996204416024568215">Lataa uusimmat ominaisuudet ja tietoturvaparannukset. Päivitykset tapahtuvat taustalla.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_fil.xtb b/ash/strings/ash_strings_fil.xtb
index 9e0d8f8..96a13bf 100644
--- a/ash/strings/ash_strings_fil.xtb
+++ b/ash/strings/ash_strings_fil.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Kanan</translation>
 <translation id="1351937230027495976">I-collapse ang menu</translation>
 <translation id="1364382257761975320">Para i-unlock ang iyong Chromebook, gamitin ang fingerprint mo</translation>
+<translation id="1365866993922957110">Makatanggap ng mga awtomatikong update</translation>
 <translation id="1372545819342940910">I-save ang desk para sa ibang pagkakataon</translation>
 <translation id="1383597849754832576">Hindi ma-download ang mga speech file. Subukan ulit sa ibang pagkakataon.</translation>
 <translation id="1383876407941801731">Hanapin</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Na-unpin ang <ph name="ITEM_TITLE" /></translation>
 <translation id="1836215606488044471">Assistant (naglo-load...)</translation>
 <translation id="1838895407229022812">Naka-off ang Night Light.</translation>
+<translation id="1862380676329487333">I-update at mag-sign out</translation>
 <translation id="1864454756846565995">USB-C device (port sa rear)</translation>
 <translation id="1879018240766558464">Kasalukuyang hindi sinusuportahan ang mga Incognito window. Mase-save ang iba pang app.</translation>
 <translation id="1882814835921407042">Walang mobile network</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Hindi makopya o ma-paste ang content sa ngayon</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Buksan ang mga setting</translation>
+<translation id="4247123849143712100">I-update at i-shut down</translation>
 <translation id="4250229828105606438">Screenshot</translation>
 <translation id="425364040945105958">Walang SIM</translation>
 <translation id="4261870227682513959">Ipakita ang mga setting ng notification. Naka-off ang mga notification</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913">Ang <ph name="DISPLAY_NAME" /> ay isang session na pinapamahalaan ng <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">Nakonekta ang <ph name="DEVICE_NAME" /></translation>
 <translation id="6351032674660237738">MGA IMINUMUNGKAHING APP</translation>
+<translation id="6359587239691116345">Makuha ang mga pinakabagong feature at pagpapahusay sa seguridad. Kung tatanggihan mo ang update na ito, posibleng hindi na gumana nang maayos ang iyong device, at posible kang makaranas ng mga isyu sa seguridad at performance.</translation>
 <translation id="6376931439017688372">Naka-on ang Bluetooth</translation>
 <translation id="6381109794406942707">Para i-unlock ang device, ilagay ang iyong PIN.</translation>
 <translation id="639644700271529076">Naka-off ang CAPS LOCK</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820">Hinihiling sa iyo ng <ph name="MANAGER" /> na i-update mo ang iyong <ph name="DEVICE_TYPE" /> bago ang deadline</translation>
 <translation id="649452524636452238">PIN ng smart card</translation>
 <translation id="6495400115277918834">Nasimulan ang picture-in-picture, pindutin ang Alt+Shift+V para mag-focus</translation>
+<translation id="6500896621837555595">I-update</translation>
 <translation id="6501401484702599040">Kina-cast ang screen sa <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Nawala ang camera, sinusubukang kumonekta ulit.</translation>
 <translation id="6520517963145875092">Pumili ng window na ika-capture</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Kinakalkula ang oras ng baterya.</translation>
 <translation id="8061464966246066292">Mataas na contrast</translation>
 <translation id="8083540854303889870">Naka-save para sa ibang pagkakataon</translation>
+<translation id="8091387634532529612">Mga awtomatikong update</translation>
 <translation id="8098591350844501178">Ihinto ang pag-cast ng screen sa <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Naka-on lahat</translation>
 <translation id="8120151603115102514">Walang lock screen ang iyong telepono. Para i-unlock ang iyong Chromebook, ilagay ang password.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Ipinapakita ang <ph name="RESULT_COUNT" /> (na) resulta para sa <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Landscape</translation>
 <translation id="990277280839877440">Isinara ang window na <ph name="WINDOW_TITILE" />.</translation>
+<translation id="996204416024568215">Makuha ang mga pinakabagong feature at pagpapahusay sa seguridad. Nangyayari ang mga update sa background.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_fr.xtb b/ash/strings/ash_strings_fr.xtb
index bc22abb5..4afe577 100644
--- a/ash/strings/ash_strings_fr.xtb
+++ b/ash/strings/ash_strings_fr.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">À droite</translation>
 <translation id="1351937230027495976">Réduire le menu</translation>
 <translation id="1364382257761975320">Pour déverrouiller votre Chromebook, utilisez votre empreinte</translation>
+<translation id="1365866993922957110">Activer les mises à jour automatiques</translation>
 <translation id="1372545819342940910">Enregistrer le bureau pour plus tard</translation>
 <translation id="1383597849754832576">Impossible de télécharger les fichiers vocaux. Réessayez plus tard.</translation>
 <translation id="1383876407941801731">Rechercher</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> a été retiré</translation>
 <translation id="1836215606488044471">Assistant (chargement…)</translation>
 <translation id="1838895407229022812">Éclairage nocturne désactivé.</translation>
+<translation id="1862380676329487333">Mettre à jour et se déconnecter</translation>
 <translation id="1864454756846565995">Appareil USB de type C (port situé sur l'arrière de l'appareil)</translation>
 <translation id="1879018240766558464">Les fenêtres de navigation privée ne sont pas prises en charge pour le moment. Les autres applis seront enregistrées.</translation>
 <translation id="1882814835921407042">Pas de réseau mobile</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Impossible de copier ou coller du contenu pour l'instant</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Ouvrir les paramètres</translation>
+<translation id="4247123849143712100">Mettre à jour et arrêter</translation>
 <translation id="4250229828105606438">Capture d'écran</translation>
 <translation id="425364040945105958">Aucune carte SIM</translation>
 <translation id="4261870227682513959">Afficher les paramètres de notification. Les notifications sont désactivées</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> est une session gérée par <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> connecté(s)</translation>
 <translation id="6351032674660237738">SUGGESTIONS D'APPLICATIONS</translation>
+<translation id="6359587239691116345">Bénéficiez des dernières fonctionnalités et améliorations de sécurité. Si vous refusez cette mise à jour, votre appareil risque de ne plus fonctionner correctement, et vous risquez de rencontrer des problèmes de sécurité et de performances.</translation>
 <translation id="6376931439017688372">Bluetooth activé</translation>
 <translation id="6381109794406942707">Pour déverrouiller l'appareil, saisissez votre code.</translation>
 <translation id="639644700271529076">La touche de verrouillage des majuscules est désactivée.</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> exige la mise à jour de votre <ph name="DEVICE_TYPE" /> avant la date limite</translation>
 <translation id="649452524636452238">Code de la carte à puce</translation>
 <translation id="6495400115277918834">Picture-in-picture a démarré, Alt+Shift+V pour sélectionner</translation>
+<translation id="6500896621837555595">Mettre à jour</translation>
 <translation id="6501401484702599040">Diffusion de l'écran sur "<ph name="RECEIVER_NAME" />"</translation>
 <translation id="6515727200518652613">Appareil photo déconnecté, tentative de reconnexion en cours.</translation>
 <translation id="6520517963145875092">Sélectionner une fenêtre à capturer</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Calcul de l'autonomie de la batterie en cours…</translation>
 <translation id="8061464966246066292">Contraste élevé</translation>
 <translation id="8083540854303889870">Bureaux enregistrés</translation>
+<translation id="8091387634532529612">Mises à jour automatiques</translation>
 <translation id="8098591350844501178">Arrêter de diffuser l'écran sur "<ph name="RECEIVER_NAME" />"</translation>
 <translation id="8113423164597455979">Activées, toutes applis</translation>
 <translation id="8120151603115102514">Votre téléphone n'a pas d'écran de verrouillage. Déverrouillez votre Chromebook avec votre mot de passe.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Affichage de <ph name="RESULT_COUNT" /> résultats pour <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Paysage</translation>
 <translation id="990277280839877440">Fenêtre <ph name="WINDOW_TITILE" /> fermée.</translation>
+<translation id="996204416024568215">Bénéficiez des dernières fonctionnalités et améliorations de sécurité. Les mises à jour s'effectuent en arrière-plan.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_gl.xtb b/ash/strings/ash_strings_gl.xtb
index 2f403b6..72fddc662 100644
--- a/ash/strings/ash_strings_gl.xtb
+++ b/ash/strings/ash_strings_gl.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Dereita</translation>
 <translation id="1351937230027495976">Contraer menú</translation>
 <translation id="1364382257761975320">Para desbloquear o Chromebook, utiliza a impresión dixital</translation>
+<translation id="1365866993922957110">Recibir actualizacións automáticas</translation>
 <translation id="1372545819342940910">Gardar escritorio para máis tarde</translation>
 <translation id="1383597849754832576">Non se puideron descargar os ficheiros de voz. Téntao máis tarde.</translation>
 <translation id="1383876407941801731">Buscar</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> (soltouse)</translation>
 <translation id="1836215606488044471">Asistente (cargando...)</translation>
 <translation id="1838895407229022812">A función Luz nocturna está desactivada.</translation>
+<translation id="1862380676329487333">Actualizar e pechar sesión</translation>
 <translation id="1864454756846565995">Dispositivo USB‑C (porto posterior)</translation>
 <translation id="1879018240766558464">As ventás do modo de incógnito agora mesmo non son compatibles. Gardaranse outras aplicacións.</translation>
 <translation id="1882814835921407042">Non hai ningunha rede de telefonía móbil</translation>
@@ -562,6 +564,7 @@
 <translation id="423685346499232137">Non se puido copiar ou pegar o contido neste momento</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Abrir configuración</translation>
+<translation id="4247123849143712100">Actualizar e apagar</translation>
 <translation id="4250229828105606438">Captura de pantalla</translation>
 <translation id="425364040945105958">Non hai SIM</translation>
 <translation id="4261870227682513959">Mostrar a configuración de notificacións. Están desactivadas</translation>
@@ -921,6 +924,7 @@
 <translation id="6338485349199627913"><ph name="MANAGER" /> xestiona esta sesión (<ph name="DISPLAY_NAME" />)</translation>
 <translation id="6344138931392227467">Conectouse o dispositivo (<ph name="DEVICE_NAME" />)</translation>
 <translation id="6351032674660237738">SUXESTIÓNS DE APLICACIÓNS</translation>
+<translation id="6359587239691116345">Goza das últimas funcións e melloras de seguranza. Se rexeitas esta actualización, é posible que o dispositivo deixe de funcionar adecuadamente e que teñas problemas de seguranza e de rendemento.</translation>
 <translation id="6376931439017688372">O Bluetooth está activado</translation>
 <translation id="6381109794406942707">Para desbloquear o dispositivo escribe o PIN.</translation>
 <translation id="639644700271529076">O bloqueo de maiúsculas está desactivado</translation>
@@ -942,6 +946,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> require que actualices o teu dispositivo (<ph name="DEVICE_TYPE" />) antes de que finalice o prazo</translation>
 <translation id="649452524636452238">PIN da tarxeta intelixente</translation>
 <translation id="6495400115277918834">Iniciouse a función da pantalla superposta. Para enfocar esta pantalla, preme Alt + Maiúsculas + V</translation>
+<translation id="6500896621837555595">Actualizar</translation>
 <translation id="6501401484702599040">Emitindo pantalla en <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Perdeuse a conexión coa cámara; tentando conexión de novo.</translation>
 <translation id="6520517963145875092">Selecciona a ventá que queiras capturar</translation>
@@ -1219,6 +1224,7 @@
 <translation id="8054466585765276473">Calculando o tempo da batería.</translation>
 <translation id="8061464966246066292">Alto contraste</translation>
 <translation id="8083540854303889870">Elementos gardados para máis tarde</translation>
+<translation id="8091387634532529612">Actualizacións automáticas</translation>
 <translation id="8098591350844501178">Deter a emisión da pantalla en: <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Si, para todas</translation>
 <translation id="8120151603115102514">O teu teléfono non ten unha pantalla de bloqueo. Para desbloquear o Chromebook, escribe o contrasinal.</translation>
@@ -1425,4 +1431,5 @@
 <translation id="974545358917229949">Mostrando <ph name="RESULT_COUNT" /> resultados para "<ph name="QUERY" />"</translation>
 <translation id="98515147261107953">Horizontal</translation>
 <translation id="990277280839877440">Pechouse a ventá <ph name="WINDOW_TITILE" />.</translation>
+<translation id="996204416024568215">Goza das últimas funcións e melloras de seguranza. As actualizacións realízanse en segundo plano.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_hu.xtb b/ash/strings/ash_strings_hu.xtb
index 140ad8a..56adabe9 100644
--- a/ash/strings/ash_strings_hu.xtb
+++ b/ash/strings/ash_strings_hu.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Jobbra</translation>
 <translation id="1351937230027495976">Menü összecsukása</translation>
 <translation id="1364382257761975320">A Chromebook zárolásának feloldásához használja ujjlenyomatát.</translation>
+<translation id="1365866993922957110">Automatikus frissítések fogadása</translation>
 <translation id="1372545819342940910">Asztal mentése későbbre</translation>
 <translation id="1383597849754832576">Nem sikerült a beszédfájlok letöltése. Próbálja újra később.</translation>
 <translation id="1383876407941801731">Keresés</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> rögzítése feloldva</translation>
 <translation id="1836215606488044471">Segéd (betöltés…)</translation>
 <translation id="1838895407229022812">Az Éjszakai fény ki van kapcsolva.</translation>
+<translation id="1862380676329487333">Frissítés és kijelentkezés</translation>
 <translation id="1864454756846565995">C típusú USB-vel kompatibilis eszköz (hátsó port)</translation>
 <translation id="1879018240766558464">Az inkognitó ablakok jelenleg nem támogatottak. Az egyéb alkalmazásokat menti a rendszer.</translation>
 <translation id="1882814835921407042">Nincs mobilhálózat</translation>
@@ -562,6 +564,7 @@
 <translation id="423685346499232137">Jelenleg nem lehet vágólapra másolni vagy beilleszteni tartalmakat</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Beállítások megnyitása</translation>
+<translation id="4247123849143712100">Frissítés és leállítás</translation>
 <translation id="4250229828105606438">Képernyőkép</translation>
 <translation id="425364040945105958">Nincs SIM</translation>
 <translation id="4261870227682513959">Az értesítési beállítások megjelenítése. Az értesítések ki vannak kapcsolva</translation>
@@ -921,6 +924,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> – <ph name="MANAGER" /> által kezelt munkamenet</translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> csatlakoztatva</translation>
 <translation id="6351032674660237738">ALKALMAZÁSJAVASLATOK</translation>
+<translation id="6359587239691116345">Szeretném megkapni a legújabb funkciókat és biztonsági fejlesztéseket. Ha elutasítja ezt a frissítést, akkor előfordulhat, hogy az eszköz a továbbiakban nem fog megfelelően működni, és biztonsággal, illetve teljesítménnyel kapcsolatos problémákat tapasztalhat.</translation>
 <translation id="6376931439017688372">A Bluetooth be van kapcsolva</translation>
 <translation id="6381109794406942707">Az eszköz feloldásához adja meg a PIN-kódot.</translation>
 <translation id="639644700271529076">A CAPS LOCK ki van kapcsolva</translation>
@@ -942,6 +946,7 @@
 <translation id="6491071886865974820">A(z) <ph name="MANAGER" /> megköveteli, hogy frissítse <ph name="DEVICE_TYPE" /> eszközét a határidőig</translation>
 <translation id="649452524636452238">Az intelligens kártya PIN-kódja</translation>
 <translation id="6495400115277918834">Kép a képben mód elindítva, a fókuszáláshoz nyomja le az Alt+Shift+V billentyűparancsot</translation>
+<translation id="6500896621837555595">Frissítés</translation>
 <translation id="6501401484702599040">Képernyő átküldése ide: <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Kamera elveszítve. A kapcsolat helyreállítása folyamatban van.</translation>
 <translation id="6520517963145875092">Jelöljön ki egy ablakot a rögzítéshez</translation>
@@ -1219,6 +1224,7 @@
 <translation id="8054466585765276473">Akkumulátor-időtartam kiszámítása.</translation>
 <translation id="8061464966246066292">Kontrasztos megjelenítés</translation>
 <translation id="8083540854303889870">Későbbre mentett</translation>
+<translation id="8091387634532529612">Automatikus frissítések</translation>
 <translation id="8098591350844501178">A képernyő „<ph name="RECEIVER_NAME" />” eszközre történő átküldésének leállítása</translation>
 <translation id="8113423164597455979">Be, összes app</translation>
 <translation id="8120151603115102514">Telefonján nincs beállítva lezárási képernyő. A Chromebook feloldásához írja be jelszavát.</translation>
@@ -1425,4 +1431,5 @@
 <translation id="974545358917229949"><ph name="RESULT_COUNT" /> találat megjelenítése a következő lekérdezésre: <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Fekvő</translation>
 <translation id="990277280839877440">Bezárta a következő ablakot: <ph name="WINDOW_TITILE" />.</translation>
+<translation id="996204416024568215">Szeretném megkapni a legújabb funkciókat és biztonsági fejlesztéseket. A frissítés a háttérben történik.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_hy.xtb b/ash/strings/ash_strings_hy.xtb
index 70ca524..c68b5b5cac 100644
--- a/ash/strings/ash_strings_hy.xtb
+++ b/ash/strings/ash_strings_hy.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Աջ</translation>
 <translation id="1351937230027495976">Ծալել ընտրացանկը</translation>
 <translation id="1364382257761975320">Ապակողպեք ձեր Chromebook-ը մատնահետքի միջոցով</translation>
+<translation id="1365866993922957110">Ստանալ ավտոմատ թարմացումներ</translation>
 <translation id="1372545819342940910">Պահել աշխատասեղանը</translation>
 <translation id="1383597849754832576">Չհաջողվեց ներբեռնել ենթագրերի ֆայլը։ Փորձեք ավելի ուշ։</translation>
 <translation id="1383876407941801731">Որոնում</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">«<ph name="ITEM_TITLE" />» տարրն ապամրացվեց</translation>
 <translation id="1836215606488044471">Օգնական (բեռնում...)</translation>
 <translation id="1838895407229022812">Գիշերային ռեժիմն անջատված է</translation>
+<translation id="1862380676329487333">Թարմացնել և դուրս գալ</translation>
 <translation id="1864454756846565995">USB-C սարք (հետևի միացք)</translation>
 <translation id="1879018240766558464">Ինկոգնիտո պատուհանները ներկայումս չեն աջակցվում։ Մյուս հավելվածները կպահվեն։</translation>
 <translation id="1882814835921407042">Բջջային կապ չկա</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Այս պահին հնարավոր չէ բովանդակություն պատճենել կամ տեղադրել</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Բացել կարգավորումները</translation>
+<translation id="4247123849143712100">Թարմացնել և անջատել</translation>
 <translation id="4250229828105606438">Սքրինշոթ</translation>
 <translation id="425364040945105958">SIM քարտ չկա</translation>
 <translation id="4261870227682513959">Ցուցադրել ծանուցումների կարգավորումները: Ծանուցումներն անջատված են:</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> աշխատաշրջանը կառավարվում է <ph name="MANAGER" />-ի կողմից</translation>
 <translation id="6344138931392227467">Զուգակցվեց <ph name="DEVICE_NAME" /> սարքը</translation>
 <translation id="6351032674660237738">ՀԱՎԵԼՎԱԾՆԵՐԻ ԱՌԱՋԱՐԿՆԵՐ</translation>
+<translation id="6359587239691116345">Օգտվեք վերջին գործառույթներից և բարելավված անվտանգությունից։ Եթե չընդունեք այս թարմացումը, հնարավոր է՝ ձեր սարքն այլևս չաշխատի պատշաճ կերպով, և ձեզ մոտ կարող են առաջանալ անվտանգության և արդյունավետության խնդիրներ։</translation>
 <translation id="6376931439017688372">Bluetooth-ը միացված է</translation>
 <translation id="6381109794406942707">Սարքն ապակողպելու համար մուտքագրեք ձեր PIN կոդը։</translation>
 <translation id="639644700271529076">CAPS LOCK-ն անջատված է</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820">Կառավարիչը (<ph name="MANAGER" />) պահանջում է, որ թարմացնեք ձեր <ph name="DEVICE_TYPE" /> սարքը, քանի դեռ վերջնաժամկետը չի լրացել։</translation>
 <translation id="649452524636452238">Խելացի քարտի PIN կոդը</translation>
 <translation id="6495400115277918834">«Նկար նկարի մեջ» ռեժիմը միացված է։ Ֆոկուսը տեղափոխելու համար սեղմեք Alt+Shift+V։</translation>
+<translation id="6500896621837555595">Թարմացնել</translation>
 <translation id="6501401484702599040">Էկրանի հեռարձակում <ph name="RECEIVER_NAME" />-ին</translation>
 <translation id="6515727200518652613">Տեսախցիկի հետ կապն ընդհատվել է։ Կատարվում է վերամիացման փորձ։</translation>
 <translation id="6520517963145875092">Լուսանկարելու համար ընտրեք պատուհան</translation>
@@ -1217,6 +1222,7 @@
 <translation id="8054466585765276473">Մարտկոցի ժամանակի հաշվարկում:</translation>
 <translation id="8061464966246066292">Բարձր կոնտրաստ</translation>
 <translation id="8083540854303889870">Պահված է հետագայի համար</translation>
+<translation id="8091387634532529612">Ավտոմատ թարմացումներ</translation>
 <translation id="8098591350844501178">Դադարեցնել էկրանի հեռարձակումը <ph name="RECEIVER_NAME" />-ին</translation>
 <translation id="8113423164597455979">Բոլորը միացված են</translation>
 <translation id="8120151603115102514">Հեռախոսում կարգավորված չէ կողպէկրան։ Ձեր Chromebook-ն ապակողպելու համար մուտքագրեք գաղտնաբառը։</translation>
@@ -1423,4 +1429,5 @@
 <translation id="974545358917229949">Ցուցադրվում է «<ph name="QUERY" />»-ի որոնման <ph name="RESULT_COUNT" /> արդյունք</translation>
 <translation id="98515147261107953">Հորիզոնական</translation>
 <translation id="990277280839877440"><ph name="WINDOW_TITILE" /> պատուհանը փակվեց։</translation>
+<translation id="996204416024568215">Օգտվեք վերջին գործառույթներից և բարելավված անվտանգությունից։ Թարմացումներն արվում են ֆոնային ռեժիմում։</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_id.xtb b/ash/strings/ash_strings_id.xtb
index 52f2370..355c429 100644
--- a/ash/strings/ash_strings_id.xtb
+++ b/ash/strings/ash_strings_id.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Kanan</translation>
 <translation id="1351937230027495976">Ciutkan menu</translation>
 <translation id="1364382257761975320">Untuk membuka kunci Chromebook, gunakan sidik jari</translation>
+<translation id="1365866993922957110">Dapatkan update otomatis</translation>
 <translation id="1372545819342940910">Simpan desktop untuk nanti</translation>
 <translation id="1383597849754832576">Tidak dapat mendownload file ucapan. Coba lagi nanti.</translation>
 <translation id="1383876407941801731">Telusuri</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> telah dilepas pinnya</translation>
 <translation id="1836215606488044471">Asisten (sedang dimuat...)</translation>
 <translation id="1838895407229022812">Cahaya Malam nonaktif.</translation>
+<translation id="1862380676329487333">Update dan logout</translation>
 <translation id="1864454756846565995">Perangkat USB-C (port belakang)</translation>
 <translation id="1879018240766558464">Jendela Samaran saat ini tidak didukung. Aplikasi lainnya akan disimpan.</translation>
 <translation id="1882814835921407042">Tidak ada jaringan seluler</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Saat ini tidak dapat menyalin atau menempelkan konten</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Buka setelan</translation>
+<translation id="4247123849143712100">Update dan matikan</translation>
 <translation id="4250229828105606438">Screenshot</translation>
 <translation id="425364040945105958">Tidak ada SIM</translation>
 <translation id="4261870227682513959">Tampilkan setelan notifikasi. Notifikasi nonaktif.</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> adalah sesi terkelola yang dikelola oleh <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> terhubung</translation>
 <translation id="6351032674660237738">SARAN APLIKASI</translation>
+<translation id="6359587239691116345">Dapatkan fitur dan peningkatan keamanan terbaru. Jika Anda menolak update ini, perangkat mungkin tidak lagi berfungsi dengan baik dan Anda mungkin mengalami masalah keamanan dan performa.</translation>
 <translation id="6376931439017688372">Bluetooth aktif</translation>
 <translation id="6381109794406942707">Untuk membuka kunci perangkat, masukkan PIN Anda.</translation>
 <translation id="639644700271529076">CAPS LOCK tidak aktif</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> mengharuskan Anda mengupdate <ph name="DEVICE_TYPE" /> sebelum tiba batas waktu</translation>
 <translation id="649452524636452238">PIN kartu smart</translation>
 <translation id="6495400115277918834">Picture-in-picture dimulai, Alt+Shift+V untuk memfokuskan</translation>
+<translation id="6500896621837555595">Update</translation>
 <translation id="6501401484702599040">Mentransmisi layar ke <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Koneksi kamera terputus, mencoba menghubungkan kembali.</translation>
 <translation id="6520517963145875092">Pilih jendela untuk diambil gambarnya</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Menghitung masa pakai baterai.</translation>
 <translation id="8061464966246066292">Kontras tinggi</translation>
 <translation id="8083540854303889870">Disimpan untuk nanti</translation>
+<translation id="8091387634532529612">Update otomatis</translation>
 <translation id="8098591350844501178">Hentikan casting layar ke <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Aktif, semua</translation>
 <translation id="8120151603115102514">Ponsel Anda tidak memiliki layar kunci. Untuk membuka kunci Chromebook, masukkan sandi.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Menampilkan <ph name="RESULT_COUNT" /> hasil untuk <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Lanskap</translation>
 <translation id="990277280839877440">Jendela <ph name="WINDOW_TITILE" /> menutup.</translation>
+<translation id="996204416024568215">Dapatkan fitur dan peningkatan keamanan terbaru. Update berlangsung di latar belakang.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_is.xtb b/ash/strings/ash_strings_is.xtb
index 4479eb6..153a413 100644
--- a/ash/strings/ash_strings_is.xtb
+++ b/ash/strings/ash_strings_is.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Réttsælis</translation>
 <translation id="1351937230027495976">Draga valmynd saman</translation>
 <translation id="1364382257761975320">Notaðu fingrafar til að taka Chromebook úr lás</translation>
+<translation id="1365866993922957110">Fá sjálfvirkar uppfærslur</translation>
 <translation id="1372545819342940910">Vista skrifborð til síðari nota</translation>
 <translation id="1383597849754832576">Ekki er hægt að sækja talskrár. Reyndu aftur síðar.</translation>
 <translation id="1383876407941801731">Leita</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> var losað</translation>
 <translation id="1836215606488044471">Aðstoðarmaður (hleður...)</translation>
 <translation id="1838895407229022812">Slökkt er á næturljósi.</translation>
+<translation id="1862380676329487333">Uppfæra og skrá út</translation>
 <translation id="1864454756846565995">USB-C-tæki (tengi að aftan)</translation>
 <translation id="1879018240766558464">Huliðsgluggar eru ekki studdir eins og er. Önnur forrit verða vistuð.</translation>
 <translation id="1882814835921407042">Ekkert farsímakerfi</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Ekki hægt að afrita og líma efni eins og stendur</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Opna stillingar</translation>
+<translation id="4247123849143712100">Uppfæra og slökkva</translation>
 <translation id="4250229828105606438">Skjámynd</translation>
 <translation id="425364040945105958">Ekkert SIM-kort</translation>
 <translation id="4261870227682513959">Sýna tilkynningastillingar. Slökkt er á tilkynningum</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> er stýrð lota sem <ph name="MANAGER" /> hefur umsjón með</translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> tengd</translation>
 <translation id="6351032674660237738">TILLÖGUR AÐ FORRITUM</translation>
+<translation id="6359587239691116345">Fáðu nýjustu eiginleikana og öryggisúrbætur. Ef þú hafnar þessari uppfærslu er hugsanlegt að tækið þitt virki ekki lengur rétt og vandamál varðandi öryggi og afköst gætu komið upp.</translation>
 <translation id="6376931439017688372">Kveikt er á Bluetooth</translation>
 <translation id="6381109794406942707">Til að opna tækið skaltu slá inn PIN-númerið þitt.</translation>
 <translation id="639644700271529076">Slökkt er á HÁSTAFALÁS</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> krefst þess að þú uppfærir <ph name="DEVICE_TYPE" /> áður en fresturinn rennur út</translation>
 <translation id="649452524636452238">PIN-númer snjallkorts</translation>
 <translation id="6495400115277918834">Mynd í mynd er hafin, ýttu á Alt+Shift+V til að setja í fókus</translation>
+<translation id="6500896621837555595">Uppfæra</translation>
 <translation id="6501401484702599040">Sendir út skjáinn til <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Myndavél horfin, reynir að tengjast aftur.</translation>
 <translation id="6520517963145875092">Veldu glugga til að mynda</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Reiknar rafhlöðuendingu.</translation>
 <translation id="8061464966246066292">Mikil birtuskil</translation>
 <translation id="8083540854303889870">Vistað til síðari nota</translation>
+<translation id="8091387634532529612">Sjálfvirkar uppfærslur</translation>
 <translation id="8098591350844501178">Hætta að senda skjáinn út í <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Öll forrit</translation>
 <translation id="8120151603115102514">Síminn þinn er ekki með lásskjá. Sláðu inn aðgangsorð til að taka Chromebook úr lás.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Sýnir niðurstöður <ph name="RESULT_COUNT" /> fyrir „<ph name="QUERY" />“</translation>
 <translation id="98515147261107953">Langsnið</translation>
 <translation id="990277280839877440">Glugganum „<ph name="WINDOW_TITILE" />“ lokað.</translation>
+<translation id="996204416024568215">Fáðu nýjustu eiginleikana og öryggisúrbætur. Uppfærslur fara fram í bakgrunninum.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_iw.xtb b/ash/strings/ash_strings_iw.xtb
index 0d10d176..791a654 100644
--- a/ash/strings/ash_strings_iw.xtb
+++ b/ash/strings/ash_strings_iw.xtb
@@ -14,6 +14,7 @@
 <translation id="1052916631016577720">סריקת פריטים</translation>
 <translation id="1056775291175587022">אין רשתות</translation>
 <translation id="1056898198331236512">אזהרה</translation>
+<translation id="1058009965971887428">שליחת דוח משוב</translation>
 <translation id="1059194134494239015"><ph name="DISPLAY_NAME" />: <ph name="RESOLUTION" /></translation>
 <translation id="1062407476771304334">החלפה</translation>
 <translation id="1073899992769346247">צריך להחליף את הסוללה או לטעון אותה</translation>
@@ -83,6 +84,7 @@
 <translation id="1346748346194534595">ימינה</translation>
 <translation id="1351937230027495976">כיווץ התפריט</translation>
 <translation id="1364382257761975320">‏כדי לבטל את נעילת ה-Chromebook, עליך להשתמש בטביעת האצבע שלך</translation>
+<translation id="1365866993922957110">קבלת עדכונים אוטומטיים</translation>
 <translation id="1372545819342940910">שמירת שולחן העבודה הווירטואלי למועד מאוחר יותר</translation>
 <translation id="1383597849754832576">אין אפשרות להוריד קובצי דיבור. יש לנסות שוב מאוחר יותר.</translation>
 <translation id="1383876407941801731">חיפוש</translation>
@@ -160,6 +162,7 @@
 <translation id="1830308660060964064">ההצמדה של <ph name="ITEM_TITLE" /> בוטלה</translation>
 <translation id="1836215606488044471">‏Assistant (בטעינה...)</translation>
 <translation id="1838895407229022812">תאורת הלילה כבויה.</translation>
+<translation id="1862380676329487333">עדכון ויציאה מהחשבון</translation>
 <translation id="1864454756846565995">‏מכשיר עם יציאת USB-C (יציאה אחורית)</translation>
 <translation id="1879018240766558464">בשלב זה, אין תמיכה בחלונות פרטיים. אפליקציות אחרות יישמרו.</translation>
 <translation id="1882814835921407042">אין רשת סלולרית</translation>
@@ -560,6 +563,7 @@
 <translation id="423685346499232137">לא ניתן להעתיק או להדביק תוכן כרגע</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">פתיחת ההגדרות</translation>
+<translation id="4247123849143712100">עדכון וכיבוי</translation>
 <translation id="4250229828105606438">צילום מסך</translation>
 <translation id="425364040945105958">‏אין כרטיס SIM</translation>
 <translation id="4261870227682513959">צפייה בהגדרות של הודעות. ההודעות מושבתות</translation>
@@ -901,6 +905,7 @@
 <translation id="6182592640011875895">פתיחת שולחן העבודה</translation>
 <translation id="619279033188484792">הצגת התראות, מדיה ותמונות מהזמן האחרון במכשיר <ph name="DEVICE_TYPE" /></translation>
 <translation id="619335566042889110">לטעינה מלאה</translation>
+<translation id="6193431488227440296">פיתוח</translation>
 <translation id="6220928844947387476">יש לך אפשרות להקליט את עצמך ואת המסך באותו הזמן</translation>
 <translation id="622484624075952240">למטה</translation>
 <translation id="6231419273573514727">ייתכן שהביצועים של הציוד ההיקפי יוגבלו</translation>
@@ -918,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> הוא סשן מנוהל שמנוהל על ידי <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> מחובר</translation>
 <translation id="6351032674660237738">הצעות לאפליקציות</translation>
+<translation id="6359587239691116345">קבלה של התכונות ושיפורי האבטחה האחרונים. ללא הסכמתך לעדכון הזה, המכשיר שלך עשוי להפסיק לפעול כמו שצריך ויכול להיות שיהיו בעיות באבטחה ובביצועים.</translation>
 <translation id="6376931439017688372">‏Bluetooth פועל</translation>
 <translation id="6381109794406942707">כדי לבטל את הנעילה של המכשיר, יש להזין את קוד האימות.</translation>
 <translation id="639644700271529076">‏CAPS LOCK כבוי</translation>
@@ -939,6 +945,7 @@
 <translation id="6491071886865974820">בהתאם לדרישה של <ph name="MANAGER" />, עליך לעדכן את ה-<ph name="DEVICE_TYPE" /> לפני המועד האחרון</translation>
 <translation id="649452524636452238">קוד האימות של הכרטיס החכם</translation>
 <translation id="6495400115277918834">‏הופעלה התכונה 'תמונה בתוך תמונה'. מקישים על Alt+Shift+V כדי להתמקד</translation>
+<translation id="6500896621837555595">עדכון</translation>
 <translation id="6501401484702599040">העברת המסך אל <ph name="RECEIVER_NAME" /> מתבצעת</translation>
 <translation id="6515727200518652613">הקשר למצלמה אבד, מתבצע ניסיון להתחברות מחדש</translation>
 <translation id="6520517963145875092">יש לבחור חלון לצילום</translation>
@@ -1218,6 +1225,7 @@
 <translation id="8054466585765276473">מחשב זמן סוללה</translation>
 <translation id="8061464966246066292">ניגודיות גבוהה</translation>
 <translation id="8083540854303889870">שולחן העבודה נשמר למועד מאוחר יותר</translation>
+<translation id="8091387634532529612">עדכונים אוטומטיים</translation>
 <translation id="8098591350844501178">הפסקת העברת המסך אל <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">מופעל, כל האפליקציות</translation>
 <translation id="8120151603115102514">‏לא מוגדר בטלפון שלך מסך נעילה. צריך להזין סיסמה כדי לפתוח את ה-Chromebook.</translation>
@@ -1426,4 +1434,5 @@
 <translation id="974545358917229949">מוצגות <ph name="RESULT_COUNT" /> תוצאות עבור השאילתה: <ph name="QUERY" /></translation>
 <translation id="98515147261107953">לרוחב</translation>
 <translation id="990277280839877440">החלון <ph name="WINDOW_TITILE" /> נסגר.</translation>
+<translation id="996204416024568215">קבלה של התכונות ושיפורי האבטחה האחרונים. העדכונים מתבצעים ברקע.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_ka.xtb b/ash/strings/ash_strings_ka.xtb
index d91de731d..420245f0 100644
--- a/ash/strings/ash_strings_ka.xtb
+++ b/ash/strings/ash_strings_ka.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">მარჯვნივ</translation>
 <translation id="1351937230027495976">მენიუს ჩაკეცვა</translation>
 <translation id="1364382257761975320">თქვენი Chromebook-ის განსაბლოკად გამოიყენეთ თქვენი თითის ანაბეჭდი</translation>
+<translation id="1365866993922957110">ავტომატური განახლებების მიღება</translation>
 <translation id="1372545819342940910">სამუშაო მაგიდის შენახვა სამომავლოდ</translation>
 <translation id="1383597849754832576">მეტყველების ფაილების ჩამოტვირთვა ვერ მოხერხდა. ცადეთ მოგვიანებით.</translation>
 <translation id="1383876407941801731">ძიება</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> აღარ არის ჩამაგრებული</translation>
 <translation id="1836215606488044471">ასისტენტი (იტვირთება...)</translation>
 <translation id="1838895407229022812">ღამის განათება გამორთულია.</translation>
+<translation id="1862380676329487333">განახლება და გასვლა</translation>
 <translation id="1864454756846565995">USB-C მოწყობილობა (უკანა პორტი)</translation>
 <translation id="1879018240766558464">ინკოგნიტო ფანჯრები ამჟამად მხარდაუჭერელია. სხვა აპები შეინახება.</translation>
 <translation id="1882814835921407042">მობილური ქსელი არ არის</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">კონტენტის კოპირება და ჩასმა ამჟამად ვერ ხერხდება</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">პარამეტრების გახსნა</translation>
+<translation id="4247123849143712100">განახლება და გამორთვა</translation>
 <translation id="4250229828105606438">ეკრანის ანაბეჭდი</translation>
 <translation id="425364040945105958">SIM-ბარათი არ არის</translation>
 <translation id="4261870227682513959">შეტყობინების პარამეტრების ჩვენება. შეტყობინებები გამორთულია</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> არის მართული სესია, რომელსაც მართავს <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> დაკავშირებულია</translation>
 <translation id="6351032674660237738">აპების შემოთავაზებები</translation>
+<translation id="6359587239691116345">ისარგებლეთ უახლესი ფუნქციებითა და უსაფრთხოების გაუმჯობესებებით. თუ ამ განახლებას უარყოფთ, თქვენმა მოწყობილობამ, შესაძლოა, სათანადოდ აღარ იმუშაოს, უსაფრთხოებასა და წარმადობასთან დაკავშირებით კი გარკვეული პრობლემები შეგექმნათ.</translation>
 <translation id="6376931439017688372">Bluetooth ჩართულია</translation>
 <translation id="6381109794406942707">მოწყობილობის განსაბლოკად შეიყვანეთ PIN-კოდი.</translation>
 <translation id="639644700271529076">CAPS LOCK გამორთულია</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> ითხოვს, განაახლოთ თქვენი <ph name="DEVICE_TYPE" /> ბოლო ვადამდე</translation>
 <translation id="649452524636452238">სმარტ-ბარათის PIN-კოდი</translation>
 <translation id="6495400115277918834">გაეშვა რეჟიმი ეკრანი ეკრანში, ფოკუსირებისთვის გამოიყენეთ კლავიშთა კომბინაცია Alt+Shift+V</translation>
+<translation id="6500896621837555595">განახლება</translation>
 <translation id="6501401484702599040">ეკრანის ტრანსლირება აქ: <ph name="RECEIVER_NAME" />…</translation>
 <translation id="6515727200518652613">კამერა დაიკარგა, ვცდილობთ ხელახლა დაკავშირებას.</translation>
 <translation id="6520517963145875092">აირჩიეთ აღსაბეჭდი ფანჯარა</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">ბატარეის დროის გამოთვლა.</translation>
 <translation id="8061464966246066292">მაღალკონტრასტული რეჟიმი</translation>
 <translation id="8083540854303889870">შენახულია სამომავლოდ</translation>
+<translation id="8091387634532529612">ავტომატური განახლებები</translation>
 <translation id="8098591350844501178"><ph name="RECEIVER_NAME" />-ში ეკრანის ტრანსლირების შეწყვეტა</translation>
 <translation id="8113423164597455979">ჩართული, ყველა აპისთვის</translation>
 <translation id="8120151603115102514">თქვენს ტელეფონს არ აქვს ეკრანის დაბლოკვა. თქვენი Chromebook-ის განსაბლოკად შეიყვანეთ პაროლი.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">ნაჩვენებია <ph name="RESULT_COUNT" /> შედეგი მოთხოვნაზე: <ph name="QUERY" /></translation>
 <translation id="98515147261107953">პეიზაჟი</translation>
 <translation id="990277280839877440">ფანჯარა „<ph name="WINDOW_TITILE" />“ დაიხურა.</translation>
+<translation id="996204416024568215">ისარგებლეთ უახლესი ფუნქციებითა და უსაფრთხოების გაუმჯობესებებით. განახლება ხორციელდება ფონურ რეჟიმში.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_ko.xtb b/ash/strings/ash_strings_ko.xtb
index 9b1a511..0973194 100644
--- a/ash/strings/ash_strings_ko.xtb
+++ b/ash/strings/ash_strings_ko.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">오른쪽</translation>
 <translation id="1351937230027495976">메뉴 접기</translation>
 <translation id="1364382257761975320">Chromebook을 잠금 해제하려면 지문을 사용하세요.</translation>
+<translation id="1365866993922957110">자동 업데이트 받기</translation>
 <translation id="1372545819342940910">나중을 위해 데스크 저장</translation>
 <translation id="1383597849754832576">음성 파일을 다운로드할 수 없습니다. 나중에 다시 시도해 보세요.</translation>
 <translation id="1383876407941801731">검색</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> 고정 취소됨</translation>
 <translation id="1836215606488044471">어시스턴트(로드 중...)</translation>
 <translation id="1838895407229022812">야간 조명이 꺼졌습니다.</translation>
+<translation id="1862380676329487333">업데이트 및 로그아웃</translation>
 <translation id="1864454756846565995">USB-C 기기(후면 포트)</translation>
 <translation id="1879018240766558464">시크릿 창은 현재 지원되지 않습니다. 다른 앱은 저장됩니다.</translation>
 <translation id="1882814835921407042">모바일 네트워크 없음</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">현재 콘텐츠를 복사하거나 붙여넣을 수 없습니다.</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">설정 열기</translation>
+<translation id="4247123849143712100">업데이트 및 종료</translation>
 <translation id="4250229828105606438">스크린샷</translation>
 <translation id="425364040945105958">SIM 없음</translation>
 <translation id="4261870227682513959">알림 설정을 표시합니다. 알림이 사용 중지되어 있습니다.</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> 세션은 <ph name="MANAGER" />에서 관리합니다.</translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> 기기가 연결됨</translation>
 <translation id="6351032674660237738">앱 추천</translation>
+<translation id="6359587239691116345">최신 기능과 보안 개선 사항을 받습니다. 이 업데이트를 거부하면 기기가 더 이상 제대로 작동하지 않을 수 있으며 보안 및 성능 문제가 발생할 수 있습니다.</translation>
 <translation id="6376931439017688372">블루투스 사용 중</translation>
 <translation id="6381109794406942707">기기의 잠금을 해제하려면 PIN을 입력하세요.</translation>
 <translation id="639644700271529076">CAPS LOCK이 꺼져 있음</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" />에서 기한 전에 <ph name="DEVICE_TYPE" /> 기기를 업데이트할 것을 요구합니다.</translation>
 <translation id="649452524636452238">스마트 카드 PIN</translation>
 <translation id="6495400115277918834">PIP 모드 시작됨, Alt+Shift+V 키를 눌러 포커스</translation>
+<translation id="6500896621837555595">업데이트</translation>
 <translation id="6501401484702599040"><ph name="RECEIVER_NAME" />(으)로 화면 전송 중</translation>
 <translation id="6515727200518652613">카메라가 사라졌습니다. 다시 연결해 보세요.</translation>
 <translation id="6520517963145875092">캡처할 창을 선택하세요.</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">배터리 시간 계산 중</translation>
 <translation id="8061464966246066292">고대비</translation>
 <translation id="8083540854303889870">저장된 항목</translation>
+<translation id="8091387634532529612">자동 업데이트</translation>
 <translation id="8098591350844501178"><ph name="RECEIVER_NAME" />에 화면 전송 중지</translation>
 <translation id="8113423164597455979">모든 앱에서 사용 중</translation>
 <translation id="8120151603115102514">휴대전화에 잠금 화면이 없습니다. Chromebook을 잠금 해제하려면 비밀번호를 입력하세요.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949"><ph name="QUERY" /> 검색결과 <ph name="RESULT_COUNT" />개 표시 중</translation>
 <translation id="98515147261107953">가로 방향</translation>
 <translation id="990277280839877440"><ph name="WINDOW_TITILE" /> 창이 닫혔습니다.</translation>
+<translation id="996204416024568215">최신 기능과 보안 개선 사항을 받습니다. 업데이트는 백그라운드에서 이루어집니다.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_lo.xtb b/ash/strings/ash_strings_lo.xtb
index 035d72b..179385c 100644
--- a/ash/strings/ash_strings_lo.xtb
+++ b/ash/strings/ash_strings_lo.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">ເບື້ອງຂວາ</translation>
 <translation id="1351937230027495976">ຫຍໍ້ເມນູ</translation>
 <translation id="1364382257761975320">ເພື່ອປົດລັອກ Chromebook ຂອງທ່ານ, ໃຫ້ໃຊ້ລາຍນິ້ວມືຂອງທ່ານ</translation>
+<translation id="1365866993922957110">ຮັບການອັບເດດໂດຍອັດຕະໂນມັດ</translation>
 <translation id="1372545819342940910">ບັນທຶກໂຕະໄວ້ພາຍຫຼັງ</translation>
 <translation id="1383597849754832576">ບໍ່ສາມາດດາວໂຫຼດໄຟລ໌ສຽງເວົ້າໄດ້. ກະລຸນາລອງໃໝ່ໃນພາຍຫຼັງ.</translation>
 <translation id="1383876407941801731">ຊອກຫາ</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">ຖອນປັກໝຸດ <ph name="ITEM_TITLE" /> ແລ້ວ</translation>
 <translation id="1836215606488044471">ຜູ້ຊ່ວຍ (ກຳລັງໂຫຼດຢູ່...)</translation>
 <translation id="1838895407229022812">ແສງກາງຄືນປິດຢູ່.</translation>
+<translation id="1862380676329487333">ອັບເດດ ແລະ ອອກຈາກລະບົບ</translation>
 <translation id="1864454756846565995">ອຸ​ປະ​ກອນ USB-C (ຜອດ​ດ້ານຫຼັງ)</translation>
 <translation id="1879018240766558464">ຕອນນີ້ບໍ່ຮອງຮັບໜ້າຈໍທີ່ບໍ່ເປີດເຜີຍຕົວຕົນເທື່ອ. ແອັບອື່ນໆຈະຖືກບັນທຶກໄວ້.</translation>
 <translation id="1882814835921407042">ບໍ່ມີເຄືອຂ່າຍມືຖື</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">ບໍ່ສາມາດສຳເນົາ ຫຼື ວາງເນື້ອຫາໄດ້ໃນຕອນນີ້</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">ເປີດ​ການ​ຕັ້ງ​ຄ່າ</translation>
+<translation id="4247123849143712100">ອັບເດດ ແລະ ປິດເຄື່ອງ</translation>
 <translation id="4250229828105606438">ຮູບຖ່າຍໜ້າຈໍ</translation>
 <translation id="425364040945105958">ບໍ່ມີ SIM</translation>
 <translation id="4261870227682513959">ສະແດງການຕັ້ງຄ່າການແຈ້ງເຕືອນ. ການແຈ້ງເຕືອນປິດຢູ່</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> ແມ່ນເຊດຊັນແບບມີການຈັດການທີ່ຖືກຈັດການໂດຍ <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">ເຊື່ອມຕໍ່ <ph name="DEVICE_NAME" /> ແລ້ວ</translation>
 <translation id="6351032674660237738">ການແນະນຳແອັບ</translation>
+<translation id="6359587239691116345">ໃຊ້ຄຸນສົມບັດຫຼ້າສຸດ ແລະ ການປັບປຸງຄວາມປອດໄພ. ຖ້າທ່ານປະຕິເສດການອັບເດດນີ້, ອຸປະກອນຂອງທ່ານອາດຈະເຮັດວຽກບໍ່ໄດ້ຕາມປົກກະຕິອີກຕໍ່ໄປ ແລະ ທ່ານອາດພົບບັນຫາຄວາມປອດໄພ ແລະ ປະສິດທິພາບ.</translation>
 <translation id="6376931439017688372">Bluetooth ເປີດຢູ່</translation>
 <translation id="6381109794406942707">ເພື່ອປົດລັອກອຸປະກອນ, ກະລຸນາປ້ອນ PIN ຂອງທ່ານ.</translation>
 <translation id="639644700271529076">CAPS LOCK ປິດ</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> ຕ້ອງການໃຫ້ທ່ານອັບເດດ <ph name="DEVICE_TYPE" /> ຂອງທ່ານກ່ອນເວລາທີ່ກຳນົດໄວ້</translation>
 <translation id="649452524636452238">PIN ບັດອັດສະລິຍະ</translation>
 <translation id="6495400115277918834">ເລີ່ມການສະແດງຜົນຊ້ອນກັນແລ້ວ, ກົດ Alt+Shift+V ເພື່ອໂຟກັສ</translation>
+<translation id="6500896621837555595">ອັບເດດ</translation>
 <translation id="6501401484702599040">ກຳລັງ​ສົ່ງສັນຍານໜ້າ​ຈໍ​ຫາ <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">ກ້ອງຖ່າຍຮູບຂາດການເຊື່ອມຕໍ່, ກຳລັງພະຍາຍາມເຊື່ອມຕໍ່ຄືນໃໝ່.</translation>
 <translation id="6520517963145875092">ເລືອກໜ້າຈໍທີ່ຈະຖ່າຍຮູບ</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">ການ​ຄິດ​ໄລ່​ເວລາແບັດເຕີຣີ.</translation>
 <translation id="8061464966246066292">ຄວາມເຂັ້ມສູງ</translation>
 <translation id="8083540854303889870">ບັນທຶກໄວ້ສໍາລັບພາຍຫຼັງ</translation>
+<translation id="8091387634532529612">ອັບເດດອັດຕະໂນມັດ</translation>
 <translation id="8098591350844501178">ຢຸດການສົ່ງສັນຍານໜ້າຈໍຫາ <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">ເປີດ, ທຸກແອັບ</translation>
 <translation id="8120151603115102514">ໂທລະສັບຂອງທ່ານບໍ່ມີໜ້າຈໍລັອກ. ເພື່ອປົດລັອກ Chromebook ຂອງທ່ານ, ໃຫ້ໃສ່ລະຫັດຜ່ານກ່ອນ.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">ສະແດງຜົນການຊອກຫາ <ph name="RESULT_COUNT" /> ລາຍການສຳລັບ <ph name="QUERY" /></translation>
 <translation id="98515147261107953">ລວງຂວາງ</translation>
 <translation id="990277280839877440">ປິດໜ້າຈໍ <ph name="WINDOW_TITILE" /> ແລ້ວ.</translation>
+<translation id="996204416024568215">ໃຊ້ຄຸນສົມບັດຫຼ້າສຸດ ແລະ ການປັບປຸງຄວາມປອດໄພ. ການອັບເດດເກີດຂຶ້ນໃນພາບພື້ນຫຼັງ.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_lv.xtb b/ash/strings/ash_strings_lv.xtb
index 9be7dbc..05d9ffe8 100644
--- a/ash/strings/ash_strings_lv.xtb
+++ b/ash/strings/ash_strings_lv.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Pa labi</translation>
 <translation id="1351937230027495976">Sakļaut izvēlni</translation>
 <translation id="1364382257761975320">Lai atbloķētu Chromebook datoru, izmantojiet pirksta nospiedumu.</translation>
+<translation id="1365866993922957110">Saņemt automātiskos atjauninājumus</translation>
 <translation id="1372545819342940910">Saglabāt darbvietu vēlākai izmantošanai</translation>
 <translation id="1383597849754832576">Nevar lejupielādēt automātisko subtitru failus. Vēlāk mēģiniet vēlreiz.</translation>
 <translation id="1383876407941801731">Meklēt</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> tika atsprausti</translation>
 <translation id="1836215606488044471">Asistents (notiek ielāde...)</translation>
 <translation id="1838895407229022812">Nakts režīms ir izslēgts.</translation>
+<translation id="1862380676329487333">Atjaunināt un izrakstīties</translation>
 <translation id="1864454756846565995">USB-C ierīce (aizmugurējā pieslēgvieta)</translation>
 <translation id="1879018240766558464">Inkognito režīma logi pašlaik netiek atbalstīti. Citas lietotnes tiks saglabātas.</translation>
 <translation id="1882814835921407042">Nav mobilā tīkla</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Pašlaik nevar kopēt vai ielīmēt saturu.</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Atvērt iestatījumus</translation>
+<translation id="4247123849143712100">Atjaunināt un izslēgt</translation>
 <translation id="4250229828105606438">Ekrānuzņēmums</translation>
 <translation id="425364040945105958">Nav SIM kartes</translation>
 <translation id="4261870227682513959">Rādīt paziņojumu iestatījumus. Paziņojumi ir izslēgti</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> ir pārvaldīta sesija, ko pārvalda <ph name="MANAGER" />.</translation>
 <translation id="6344138931392227467">Izveidots savienojums ar ierīci <ph name="DEVICE_NAME" /></translation>
 <translation id="6351032674660237738">LIETOTŅU IETEIKUMI</translation>
+<translation id="6359587239691116345">Iegūstiet jaunākās funkcijas un drošības uzlabojumus. Ja noraidīsiet šo atjauninājumu, iespējams, jūsu ierīce vairs nedarbosies pareizi un jūs saskarsieties ar drošības un veiktspējas problēmām.</translation>
 <translation id="6376931439017688372">Bluetooth ir ieslēgts</translation>
 <translation id="6381109794406942707">Lai atbloķētu ierīci, ievadiet PIN.</translation>
 <translation id="639644700271529076">Funkcija CAPS LOCK ir izslēgta.</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> pieprasa, lai jūs atjauninātu ierīci <ph name="DEVICE_TYPE" /> pirms noteiktā termiņa</translation>
 <translation id="649452524636452238">Viedkartes PIN</translation>
 <translation id="6495400115277918834">Palaists režīms “attēls attēlā”; nospiediet taustiņu kombināciju Alt+Shift+V, lai fokusētu</translation>
+<translation id="6500896621837555595">Atjaunināt</translation>
 <translation id="6501401484702599040">Notiek ekrāna apraide šādā vietā: <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Zudis savienojums ar kameru, tiek mēģināts atjaunot savienojumu.</translation>
 <translation id="6520517963145875092">Atlasiet logu, kura saturs jātver</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Notiek akumulatora darbības ilguma aprēķināšana.</translation>
 <translation id="8061464966246066292">Augsts kontrasts</translation>
 <translation id="8083540854303889870">Saglabāti vēlākai izmantošanai</translation>
+<translation id="8091387634532529612">Automātiskie atjauninājumi</translation>
 <translation id="8098591350844501178">Apturēt ekrāna apraidi uztvērējā “<ph name="RECEIVER_NAME" />”</translation>
 <translation id="8113423164597455979">Iesl. v. lietotnēs</translation>
 <translation id="8120151603115102514">Jūsu tālrunim nav iespējots bloķēšanas ekrāns. Lai atbloķētu Chromebook datoru, ievadiet paroli.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Tiek rādīti <ph name="RESULT_COUNT" /> rezultāti vaicājumam “<ph name="QUERY" />”</translation>
 <translation id="98515147261107953">Ainava</translation>
 <translation id="990277280839877440">Logs “<ph name="WINDOW_TITILE" />” ir aizvērts.</translation>
+<translation id="996204416024568215">Iegūstiet jaunākās funkcijas un drošības uzlabojumus. Atjauninājumi tiek veikti fonā.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_or.xtb b/ash/strings/ash_strings_or.xtb
index 430b629..df43774 100644
--- a/ash/strings/ash_strings_or.xtb
+++ b/ash/strings/ash_strings_or.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">ଡାହାଣ</translation>
 <translation id="1351937230027495976">ମେନୁକୁ ସଙ୍କୁଚିତ କରନ୍ତୁ</translation>
 <translation id="1364382257761975320">ଆପଣଙ୍କ Chromebookକୁ ଅନଲକ୍ କରିବା ପାଇଁ, ଆପଣଙ୍କ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରନ୍ତୁ</translation>
+<translation id="1365866993922957110">ସ୍ୱଚାଳିତ ଅପଡେଟଗୁଡ଼ିକୁ ପାଆନ୍ତୁ</translation>
 <translation id="1372545819342940910">ପରବର୍ତ୍ତୀ ସମୟ ପାଇଁ ଡେସ୍କ ସେଭ କରନ୍ତୁ</translation>
 <translation id="1383597849754832576">ସ୍ପିଚ୍ ଫାଇଲଗୁଡ଼ିକୁ ଡାଉନଲୋଡ୍ କରାଯାଇପାରିବ ନାହିଁ। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="1383876407941801731">Search</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" />କୁ ଅନ୍‌ପିନ୍ କରାଯାଇଛି</translation>
 <translation id="1836215606488044471">ଆସିଷ୍ଟାଣ୍ଟ (ଲୋଡ୍‌ ହେଉଛି...)</translation>
 <translation id="1838895407229022812">ନାଇଟ୍ ଲାଇଟ୍ ବନ୍ଦ ଅଛି।</translation>
+<translation id="1862380676329487333">ଅପଡେଟ କରି ସାଇନ ଆଉଟ କରନ୍ତୁ</translation>
 <translation id="1864454756846565995">USB-C ଡିଭାଇସ୍ (ପଛ ପୋର୍ଟ)</translation>
 <translation id="1879018240766558464">ବର୍ତ୍ତମାନ ଇନକଗ୍ନିଟୋ ୱିଣ୍ଡୋଗୁଡ଼ିକ ସମର୍ଥିତ ନୁହେଁ। ଅନ୍ୟ ଆପଗୁଡ଼ିକ ସେଭ ହୋଇଯିବ।</translation>
 <translation id="1882814835921407042">କୌଣସି ମୋବାଇଲ ନେଟୱାର୍କ ନାହିଁ</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">ଏହି ସମୟରେ ବିଷୟବସ୍ତୁକୁ କପି କିମ୍ବା ପେଷ୍ଟ କରାଯାଇପାରିବ ନାହିଁ</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">ସେଟିଂସ୍‌ ଖୋଲନ୍ତୁ</translation>
+<translation id="4247123849143712100">ଅପଡେଟ କରି ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="4250229828105606438">ସ୍କ୍ରିନ୍‍ସଟ୍</translation>
 <translation id="425364040945105958">କୌଣସି SIM ନାହିଁ</translation>
 <translation id="4261870227682513959">ବିଜ୍ଞପ୍ତି ସେଟିଂସ୍ ଦେଖାନ୍ତୁ। ବିଜ୍ଞପ୍ତି ବନ୍ଦ ଅଛି</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> ହେଉଛି <ph name="MANAGER" /> ଦ୍ୱାରା ପରିଚାଳିତ ହେଉଥିବା ଏକ ପରିଚାଳିତ ସେସନ୍</translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> ସଂଯୋଗ କରାଯାଇଛି</translation>
 <translation id="6351032674660237738">ଆପ୍ ପରାମର୍ଶ</translation>
+<translation id="6359587239691116345">ନବୀନତମ ଫିଚର ଏବଂ ସୁରକ୍ଷା ଉନ୍ନତିଗୁଡ଼ିକୁ ପାଆନ୍ତୁ। ଯଦି ଆପଣ ଏହି ଅପଡେଟକୁ ଅଗ୍ରାହ୍ୟ କରନ୍ତି, ତେବେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଉ ସଠିକ୍ ଭାବେ କାମ କରିନପାରେ ଏବଂ ଆପଣ ସୁରକ୍ଷା ଓ ପରଫରମାନ୍ସ ସମସ୍ୟାଗୁଡ଼ିକର ସମ୍ମୁଖୀନ ହୋଇପାରନ୍ତି।</translation>
 <translation id="6376931439017688372">ବ୍ଲୁଟୁଥ୍ ଚାଲୁ ଅଛି</translation>
 <translation id="6381109794406942707">ଡିଭାଇସକୁ ଅନଲକ୍ କରିବା ପାଇଁ ଆପଣଙ୍କର PIN ଲେଖନ୍ତୁ।</translation>
 <translation id="639644700271529076">କ୍ୟାପସ୍ ଲକ୍ ବନ୍ଦ ଅଛି</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> ପାଇଁ ଆପଣ ସମୟସୀମା ପୂର୍ବରୁ ଆପଣଙ୍କ <ph name="DEVICE_TYPE" />କୁ ଅପଡେଟ କରିବା ଆବଶ୍ୟକ</translation>
 <translation id="649452524636452238">ସ୍ମାର୍ଟ କାର୍ଡ PIN</translation>
 <translation id="6495400115277918834">ପିକଚର-ଇନ-ପିକଚର ଆରମ୍ଭ ହୋଇଛି, ଫୋକସ କରିବାକୁ Alt+Shift+V ଦବାନ୍ତୁ</translation>
+<translation id="6500896621837555595">ଅପଡେଟ କରନ୍ତୁ</translation>
 <translation id="6501401484702599040"><ph name="RECEIVER_NAME" />କୁ ସ୍କ୍ରିନ୍ କାଷ୍ଟ କରାଯାଉଛି</translation>
 <translation id="6515727200518652613">କ୍ୟାମେରା ଡିସକନେକ୍ଟ ହୋଇଯାଇଛି, ପୁଣି କନେକ୍ଟ କରିବା ପାଇଁ ଚେଷ୍ଟା କରାଯାଉଛି।</translation>
 <translation id="6520517963145875092">କ୍ୟାପଚର୍ କରିବାକୁ ଏକ ୱିଣ୍ଡୋ ଚୟନ କରନ୍ତୁ</translation>
@@ -1217,6 +1222,7 @@
 <translation id="8054466585765276473">ବ୍ୟାଟେରୀ ସମୟ ହିସାବ କରାଯାଉଛି।</translation>
 <translation id="8061464966246066292">ଉଚ୍ଚ କଣ୍ଟ୍ରାଷ୍ଟ</translation>
 <translation id="8083540854303889870">ପରବର୍ତ୍ତୀ ସମୟ ପାଇଁ ସେଭ କରାଯାଇଛି</translation>
+<translation id="8091387634532529612">ସ୍ୱଚାଳିତ ଅପଡେଟଗୁଡ଼ିକ</translation>
 <translation id="8098591350844501178"><ph name="RECEIVER_NAME" />ରେ ସ୍କ୍ରିନ୍‍ କାଷ୍ଟ କରିବା ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="8113423164597455979">ଚାଲୁ, ସବୁ ଆପ୍</translation>
 <translation id="8120151603115102514">ଆପଣଙ୍କ ଫୋନରେ ଏକ ଲକ ସ୍କ୍ରିନ ନାହିଁ। ଆପଣଙ୍କ Chromebookକୁ ଅନଲକ କରିବା ପାଇଁ ପାସୱାର୍ଡ ଲେଖନ୍ତୁ।</translation>
@@ -1423,4 +1429,5 @@
 <translation id="974545358917229949"><ph name="QUERY" /> ପାଇଁ <ph name="RESULT_COUNT" />ଟି ଫଳାଫଳ ଡିସ୍‌ପ୍ଲେ ହେଉଛି</translation>
 <translation id="98515147261107953">ଲ୍ୟାଣ୍ଡସ୍କେପ୍</translation>
 <translation id="990277280839877440">Window <ph name="WINDOW_TITILE" /> ବନ୍ଦ କରାଯାଇଛି।</translation>
+<translation id="996204416024568215">ନବୀନତମ ଫିଚର ଏବଂ ସୁରକ୍ଷା ଉନ୍ନତିଗୁଡ଼ିକୁ ପାଆନ୍ତୁ। ପୃଷ୍ଠପଟରେ ଅପଡେଟଗୁଡ଼ିକ ହୋଇଥାଏ।</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_pt-BR.xtb b/ash/strings/ash_strings_pt-BR.xtb
index 5474164e..ce72fc22 100644
--- a/ash/strings/ash_strings_pt-BR.xtb
+++ b/ash/strings/ash_strings_pt-BR.xtb
@@ -716,7 +716,7 @@
 <translation id="5071064518267176975">Um app quer usar o microfone</translation>
 <translation id="5078796286268621944">PIN incorreto</translation>
 <translation id="5083553833479578423">Desbloqueie mais recursos do Assistente.</translation>
-<translation id="509790653408515442">Os apps do smartphone vão aparecer aqui quando você fizer streaming deles</translation>
+<translation id="509790653408515442">Quando você fizer uma transmissão dos apps do smartphone, eles vão aparecer aqui.</translation>
 <translation id="5098537242461068432">As janelas e o espaço de trabalho foram reabertos</translation>
 <translation id="5107522548814527560">Web</translation>
 <translation id="5117590920725113268">Mostrar próximo mês</translation>
diff --git a/ash/strings/ash_strings_ru.xtb b/ash/strings/ash_strings_ru.xtb
index 30e58b9..1cf24c4 100644
--- a/ash/strings/ash_strings_ru.xtb
+++ b/ash/strings/ash_strings_ru.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Справа</translation>
 <translation id="1351937230027495976">Свернуть меню</translation>
 <translation id="1364382257761975320">Чтобы разблокировать Chromebook, используйте отпечаток пальца.</translation>
+<translation id="1365866993922957110">Получать автоматические обновления</translation>
 <translation id="1372545819342940910">Сохранить рабочий стол</translation>
 <translation id="1383597849754832576">Не удалось скачать файлы автоматических субтитров. Повторите попытку позже.</translation>
 <translation id="1383876407941801731">Поиск</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Объект "<ph name="ITEM_TITLE" />" откреплен</translation>
 <translation id="1836215606488044471">Ассистент (загрузка…)</translation>
 <translation id="1838895407229022812">Ночная подсветка отключена</translation>
+<translation id="1862380676329487333">Обновить и выйти</translation>
 <translation id="1864454756846565995">Устройство USB-C (порт сзади)</translation>
 <translation id="1879018240766558464">Окна в режиме инкогнито пока не поддерживаются. Остальные приложения будут сохранены.</translation>
 <translation id="1882814835921407042">Не подключено к мобильной сети</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">В настоящий момент нельзя копировать или вставлять содержимое.</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Открыть настройки</translation>
+<translation id="4247123849143712100">Обновить и завершить работу</translation>
 <translation id="4250229828105606438">Скриншот</translation>
 <translation id="425364040945105958">Нет SIM-карты</translation>
 <translation id="4261870227682513959">Показать настройки уведомлений. Уведомления отключены.</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913">Сеансом "<ph name="DISPLAY_NAME" />" управляет <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">Подключено устройство "<ph name="DEVICE_NAME" />".</translation>
 <translation id="6351032674660237738">ПРЕДЛАГАЕМЫЕ ПРИЛОЖЕНИЯ</translation>
+<translation id="6359587239691116345">Получите доступ к новым функциям и улучшениям безопасности. Если вы откажетесь от этого обновления, могут возникнуть сбои в работе устройства, а также проблемы с безопасностью и производительностью.</translation>
 <translation id="6376931439017688372">Bluetooth включен</translation>
 <translation id="6381109794406942707">Чтобы разблокировать устройство, введите PIN-код.</translation>
 <translation id="639644700271529076">CAPS LOCK отключен</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820">Согласно требованиям <ph name="MANAGER" /> вам нужно обновить устройство <ph name="DEVICE_TYPE" /> до истечения срока.</translation>
 <translation id="649452524636452238">PIN-код для смарт-карты</translation>
 <translation id="6495400115277918834">Включен режим "Картинка в картинке", чтобы переместить фокус, нажмите Alt + Shift + V</translation>
+<translation id="6500896621837555595">Обновить</translation>
 <translation id="6501401484702599040">Трансляция содержимого экрана: <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Попытка переподключения после потери связи с камерой.</translation>
 <translation id="6520517963145875092">Выберите окно для снимка</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Подсчет оставшегося времени работы от батареи…</translation>
 <translation id="8061464966246066292">Высокая контрастность</translation>
 <translation id="8083540854303889870">Сохранено</translation>
+<translation id="8091387634532529612">Автоматическое обновление</translation>
 <translation id="8098591350844501178">Остановить трансляцию содержимого экрана на устройство "<ph name="RECEIVER_NAME" />"</translation>
 <translation id="8113423164597455979">Вкл. для всех</translation>
 <translation id="8120151603115102514">На телефоне нет блокировки экрана. Чтобы разблокировать Chromebook, введите пароль.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Показано результатов поиска по запросу "<ph name="QUERY" />": <ph name="RESULT_COUNT" /></translation>
 <translation id="98515147261107953">Альбомная</translation>
 <translation id="990277280839877440">Окно "<ph name="WINDOW_TITILE" />" закрыто.</translation>
+<translation id="996204416024568215">Получите доступ к новым функциям и улучшениям безопасности. Обновление выполняется в фоновом режиме.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_si.xtb b/ash/strings/ash_strings_si.xtb
index f5a565e..83271625 100644
--- a/ash/strings/ash_strings_si.xtb
+++ b/ash/strings/ash_strings_si.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">දක්ෂිණාවර්ත</translation>
 <translation id="1351937230027495976">මෙනුව හකුළන්න</translation>
 <translation id="1364382257761975320">ඔබගේ Chromebook අගුලු හැරීමට, ඔබගේ ඇඟිලි සලකුණ භාවිත කරන්න</translation>
+<translation id="1365866993922957110">ස්වයංක්‍රීය යාවත්කාලීන ලබා ගන්න</translation>
 <translation id="1372545819342940910">පසුවට මේසය සුරකින්න</translation>
 <translation id="1383597849754832576">කථන ගොනු බාගැනීමට නොහැකිය. පසුව නැවත උත්සාහ කරන්න.</translation>
 <translation id="1383876407941801731">සොයන්න</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> නො-අමුණා ඇත</translation>
 <translation id="1836215606488044471">සහායක (පූරණය වේ...)</translation>
 <translation id="1838895407229022812">රාත්‍රී ආලෝකය අක්‍රියයි.</translation>
+<translation id="1862380676329487333">යාවත්කාලීන කර වරන්න</translation>
 <translation id="1864454756846565995">USB-C උපාංගය (පසුපස තොට)</translation>
 <translation id="1879018240766558464">අප්‍රසිද්ධ කවුළු දැනට සහාය නොදක්වයි. වෙනත් යෙදුම් සුරකිනු ඇත.</translation>
 <translation id="1882814835921407042">ජංගම ජාලයක් නැත</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">මෙම අවස්ථාවේදී අන්තර්ගතය පිටපත් කිරීමට හෝ ඇලවීමට නොහැකිය</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">සැකසීම් විවෘත කරන්න</translation>
+<translation id="4247123849143712100">යාවත්කාලීන කර වසා දමන්න</translation>
 <translation id="4250229828105606438">තිරරූපය</translation>
 <translation id="425364040945105958">SIM නැත</translation>
 <translation id="4261870227682513959">දැනුම් දීම් සැකසීම් පෙන්වන්න. දැනුම් දීම් ක්‍රියාවිරහිතයි</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> යනු <ph name="MANAGER" /> විසින් කළමනාකරණය කරනු ලබන කළමනාකරණය කළ සැසියකි</translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> සම්බන්ධිතයි</translation>
 <translation id="6351032674660237738">යෙදුම් යෝජනා</translation>
+<translation id="6359587239691116345">නවතම විශේෂාංග සහ ආරක්ෂක වැඩි දියුණු කිරීම් ලබා ගන්න. ඔබ මෙම යාවත්කාලීනය ප්‍රතික්ෂේප කරන්නේ නම්, ඔබේ උපාංගය තවදුරටත් නිසි ලෙස ක්‍රියා නොකරන අතර ඔබ ආරක්ෂක සහ කාර්ය සාධන ගැටලු අත්විඳිය හැක.</translation>
 <translation id="6376931439017688372">බ්ලූටූත් ක්‍රියාත්මකයි</translation>
 <translation id="6381109794406942707">උපාංගය අගුලු ඇරීමට, ඔබේ රහස් අංකය ඇතුළත් කරන්න.</translation>
 <translation id="639644700271529076">කැප්ස් ලොක් අක්‍රීයයි</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> හට නියමිත වේලාවට පෙර ඔබ ඔබගේ <ph name="DEVICE_TYPE" /> යාවත්කාලීන කිරීම අවශ්‍යයි</translation>
 <translation id="649452524636452238">ස්මාර්ට් කාඩ්පත් රහස් අංකය</translation>
 <translation id="6495400115277918834">පින්තූරයක් තුළ පින්තූරයක් ආරම්භ විය, නාභිගත කිරීමට Alt+Shift+V</translation>
+<translation id="6500896621837555595">යාවත්කාලීන කරන්න</translation>
 <translation id="6501401484702599040"><ph name="RECEIVER_NAME" /> වෙත තිරය විකාශය කරමින්</translation>
 <translation id="6515727200518652613">කැමරාව නැති විය, නැවත සම්බන්ධ වීමට උත්සාහ කරමින්.</translation>
 <translation id="6520517963145875092">ග්‍රහණය කිරීමට කවුළුවක් තෝරන්න</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">බැටරි කාලය ගණනය කර‍මින්.</translation>
 <translation id="8061464966246066292">අධිවිභේදනය</translation>
 <translation id="8083540854303889870">පසුවට සුරකින ලදි</translation>
+<translation id="8091387634532529612">ස්වයංක්‍රීය යාවත්කාලීන</translation>
 <translation id="8098591350844501178"><ph name="RECEIVER_NAME" /> වෙත තිරය විකාශය නවතන්න</translation>
 <translation id="8113423164597455979">සියලු යෙදුම් සක්‍රිය.</translation>
 <translation id="8120151603115102514">ඔබගේ දුරකථනයට අගුලු තිරයක් නොමැත. ඔබගේ Chromebook අගුලු හැරීමට, මුරපදය ඇතුළු කරන්න.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949"><ph name="QUERY" /> සඳහා ප්‍රතිඵල <ph name="RESULT_COUNT" />ක් දක්වමින්</translation>
 <translation id="98515147261107953">තිරස්</translation>
 <translation id="990277280839877440"><ph name="WINDOW_TITILE" /> කවුළුව වසා ඇත.</translation>
+<translation id="996204416024568215">නවතම විශේෂාංග සහ ආරක්ෂක වැඩි දියුණු කිරීම් ලබා ගන්න. යාවත්කාලීන කිරීම් පසුබිමේ සිදු වේ.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_sl.xtb b/ash/strings/ash_strings_sl.xtb
index 9cba656..7bfd2df4 100644
--- a/ash/strings/ash_strings_sl.xtb
+++ b/ash/strings/ash_strings_sl.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">V desno</translation>
 <translation id="1351937230027495976">Strni meni</translation>
 <translation id="1364382257761975320">Če želite odkleniti Chromebook, uporabite prstni odtis.</translation>
+<translation id="1365866993922957110">Prenos samodejnih posodobitev</translation>
 <translation id="1372545819342940910">Shrani namizje za pozneje</translation>
 <translation id="1383597849754832576">Datotek za govor ni mogoče prenesti. Poskusite pozneje.</translation>
 <translation id="1383876407941801731">Išči</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Element <ph name="ITEM_TITLE" /> je bil odpet</translation>
 <translation id="1836215606488044471">Pomočnik (nalaganje ...)</translation>
 <translation id="1838895407229022812">Nočna svetloba je izklopljena.</translation>
+<translation id="1862380676329487333">Posodobi in odjavi</translation>
 <translation id="1864454756846565995">Naprava USB-C (vrata zadaj)</translation>
 <translation id="1879018240766558464">Anonimna okna trenutno niso podprta. Druge aplikacije bodo shranjene.</translation>
 <translation id="1882814835921407042">Ni mobilnih omrežij</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Vsebine trenutno ni mogoče kopirati ali prilepiti.</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Odpri nastavitve</translation>
+<translation id="4247123849143712100">Posodobi in zaustavi</translation>
 <translation id="4250229828105606438">Posnetek zaslona</translation>
 <translation id="425364040945105958">Ni kartice SIM</translation>
 <translation id="4261870227682513959">Prikaz nastavitev obvestil. Obvestila so izklopljena.</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> je upravljana seja, ki jo upravlja domena <ph name="MANAGER" />.</translation>
 <translation id="6344138931392227467">Naprava <ph name="DEVICE_NAME" /> je povezana</translation>
 <translation id="6351032674660237738">PREDLOGI ZA APLIKACIJE</translation>
+<translation id="6359587239691116345">Zagotovite si najnovejše funkcije in varnostne izboljšave. Če zavrnete to posodobitev, naprava morda ne bo več delovala pravilno in boste morda naleteli na varnostne težave in težave z zmogljivostjo.</translation>
 <translation id="6376931439017688372">Bluetooth je vklopljen</translation>
 <translation id="6381109794406942707">Če želite odkleniti napravo, vnesite kodo PIN.</translation>
 <translation id="639644700271529076">Tipka CAPS LOCK je izklopljena</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> zahteva, da pred rokom posodobite napravo <ph name="DEVICE_TYPE" />.</translation>
 <translation id="649452524636452238">PIN za pametno kartico</translation>
 <translation id="6495400115277918834">Začela se je slika v sliki, pritisnite Alt + Shift + V za fokus</translation>
+<translation id="6500896621837555595">Posodobi</translation>
 <translation id="6501401484702599040">Predvajanje zaslona v napravi <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Povezava s fotoaparatom je prekinjena, poskusite jo znova vzpostaviti.</translation>
 <translation id="6520517963145875092">Izberite okno za posnetek</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Izračunavanje časa trajanja akumulatorja.</translation>
 <translation id="8061464966246066292">Visok kontrast</translation>
 <translation id="8083540854303889870">Shranjeno za pozneje</translation>
+<translation id="8091387634532529612">Samodejne posodobitve</translation>
 <translation id="8098591350844501178">Ustavi predvajanje zaslona v napravi <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Vklop. za vse</translation>
 <translation id="8120151603115102514">Telefon nima zaklepanja zaslona. Če želite odkleniti Chromebook, vnesite geslo.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Prikaz <ph name="RESULT_COUNT" /> rezultatov za poizvedbo <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Ležeče</translation>
 <translation id="990277280839877440">Okno <ph name="WINDOW_TITILE" /> je zaprto.</translation>
+<translation id="996204416024568215">Zagotovite si najnovejše funkcije in varnostne izboljšave. Posodobitve se izvajajo v ozadju.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_sq.xtb b/ash/strings/ash_strings_sq.xtb
index 40b33f8f..a88778f2 100644
--- a/ash/strings/ash_strings_sq.xtb
+++ b/ash/strings/ash_strings_sq.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Djathtas</translation>
 <translation id="1351937230027495976">Palos menynë</translation>
 <translation id="1364382257761975320">Për të shkyçur Chromebook-un tënd, përdor gjurmën e gishtit</translation>
+<translation id="1365866993922957110">Merr përditësimet automatike</translation>
 <translation id="1372545819342940910">Ruaj tavolinën e punës për më vonë</translation>
 <translation id="1383597849754832576">Skedarët e ligjërimit nuk mund të shkarkohen. Provo përsëri më vonë.</translation>
 <translation id="1383876407941801731">Kërko</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> u zhgozhdua</translation>
 <translation id="1836215606488044471">Asistenti (po ngarkohet...)</translation>
 <translation id="1838895407229022812">"Drita e natës" është joaktive.</translation>
+<translation id="1862380676329487333">Përditëso dhe dil</translation>
 <translation id="1864454756846565995">Pajisja USB-C (porta prapa)</translation>
 <translation id="1879018240766558464">Dritaret "E fshehta" nuk mbështeten aktualisht. Aplikacionet e tjera do të ruhen.</translation>
 <translation id="1882814835921407042">Nuk ka rrjet celular</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Nuk mund të kopjohen ose të ngjiten përmbajtje në këtë moment</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Hap cilësimet</translation>
+<translation id="4247123849143712100">Përditëso dhe fike</translation>
 <translation id="4250229828105606438">Pamje e ekranit</translation>
 <translation id="425364040945105958">Nuk ka kartë SIM</translation>
 <translation id="4261870227682513959">Shfaq cilësimet e njoftimeve. Njoftimet janë joaktive</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> është sesion i menaxhuar që menaxhohet nga <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> u lidh</translation>
 <translation id="6351032674660237738">SUGJERIMET E APLIKACIONEVE</translation>
+<translation id="6359587239691116345">Merr veçoritë dhe përmirësimet më të fundit të sigurisë. Nëse e refuzon këtë përditësim, pajisja jote mund të mos funksionojë më siç duhet dhe mund të kesh probleme me sigurinë dhe cilësinë e funksionimit.</translation>
 <translation id="6376931439017688372">Bluetooth-i është aktiv</translation>
 <translation id="6381109794406942707">Për të shkyçur pajisjen, fut kodin PIN.</translation>
 <translation id="639644700271529076">KYÇJA E KAPITALEVE është joaktive</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> kërkon që ta përditësosh pajisjen tënde <ph name="DEVICE_TYPE" /> përpara afatit</translation>
 <translation id="649452524636452238">Kodi PIN i kartës smart</translation>
 <translation id="6495400115277918834">"Figurë brenda figurës" filloi; shtyp "Alt+Shift+V" për të fokusuar</translation>
+<translation id="6500896621837555595">Përditëso</translation>
 <translation id="6501401484702599040">Po transmeton ekranin te <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Kamera u shkëput; po provohet rilidhja.</translation>
 <translation id="6520517963145875092">Zgjidh një dritare për të regjistruar</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Po llogarit kohën e baterisë.</translation>
 <translation id="8061464966246066292">Kontrast i lartë</translation>
 <translation id="8083540854303889870">Ruajtur për më vonë</translation>
+<translation id="8091387634532529612">Përditësimet automatike</translation>
 <translation id="8098591350844501178">Ndalo transmetimin e ekranit te <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Aktiv, të gjitha aplikacionet</translation>
 <translation id="8120151603115102514">Telefoni yt nuk ka një ekran kyçjeje. Për të shkyçur Chromebook-un tënd, fut fjalëkalimin.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Po shfaq <ph name="RESULT_COUNT" /> rezultate për <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Horizontal</translation>
 <translation id="990277280839877440">Dritarja <ph name="WINDOW_TITILE" /> u mbyll.</translation>
+<translation id="996204416024568215">Merr veçoritë dhe përmirësimet më të fundit të sigurisë. Përditësimet kryhen në sfond.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_sr-Latn.xtb b/ash/strings/ash_strings_sr-Latn.xtb
index 54ca54b41..6049871 100644
--- a/ash/strings/ash_strings_sr-Latn.xtb
+++ b/ash/strings/ash_strings_sr-Latn.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Udesno</translation>
 <translation id="1351937230027495976">Skupi meni</translation>
 <translation id="1364382257761975320">Da biste otključali Chromebook, koristite otisak prsta</translation>
+<translation id="1365866993922957110">Automatski preuzimaj ažuriranja</translation>
 <translation id="1372545819342940910">Sačuvaj radnu površinu za kasnije</translation>
 <translation id="1383597849754832576">Preuzimanje fajlova govora nije uspelo. Probajte kasnije.</translation>
 <translation id="1383876407941801731">Pretraži</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Stavka <ph name="ITEM_TITLE" /> je otkačena</translation>
 <translation id="1836215606488044471">Pomoćnik (učitava se...)</translation>
 <translation id="1838895407229022812">Noćno svetlo je isključeno.</translation>
+<translation id="1862380676329487333">Ažuriraj i odjavi me</translation>
 <translation id="1864454756846565995">Uređaj sa USB priključkom tipa C (zadnji port)</translation>
 <translation id="1879018240766558464">Prozori bez arhiviranja trenutno nisu podržani. Druge aplikacije će biti sačuvane.</translation>
 <translation id="1882814835921407042">Nema mobilne mreže</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Trenutno ne možete da kopirate ili nalepite sadržaj</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Otvori podešavanja</translation>
+<translation id="4247123849143712100">Ažuriraj i isključi</translation>
 <translation id="4250229828105606438">Snimak ekrana</translation>
 <translation id="425364040945105958">Nema SIM kartice</translation>
 <translation id="4261870227682513959">Pregledajte podešavanja obaveštenja. Obaveštenja su isključena</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> je sesija kojom upravlja <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> – povezano</translation>
 <translation id="6351032674660237738">PREDLOZI APLIKACIJA</translation>
+<translation id="6359587239691116345">Dobijajte najnovije funkcije i bezbednosna poboljšanja. Ako odbijete ovo ažuriranje, uređaj možda više neće raditi kako treba, a vi možete da imate problema sa bezbednošću i performansama.</translation>
 <translation id="6376931439017688372">Bluetooth je uključen</translation>
 <translation id="6381109794406942707">Da biste otključali uređaj, unesite PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK je isključen</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> traži da ažurirate <ph name="DEVICE_TYPE" /> pre isteka roka</translation>
 <translation id="649452524636452238">PIN pametne kartice</translation>
 <translation id="6495400115277918834">Pokrenuta je slika u slici, Alt+Shift+V da biste fokusirali</translation>
+<translation id="6500896621837555595">Ažuriraj</translation>
 <translation id="6501401484702599040">Ekran se prebacuje na <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Veza sa kamerom je prekinuta, pokušava da se ponovo poveže.</translation>
 <translation id="6520517963145875092">Izaberite prozor za snimanje</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Izračunavanje vremena trajanja baterije.</translation>
 <translation id="8061464966246066292">Visoki kontrast</translation>
 <translation id="8083540854303889870">Sačuvano za kasnije</translation>
+<translation id="8091387634532529612">Automatska ažuriranja</translation>
 <translation id="8098591350844501178">Zaustavi prebacivanje ekrana na <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Uključeno, sve</translation>
 <translation id="8120151603115102514">Telefon nema zaključani ekran. Da biste otključali Chromebook, unesite lozinku.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Prikazuju se rezultati (<ph name="RESULT_COUNT" />) za: <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Horizontalno</translation>
 <translation id="990277280839877440">Prozor <ph name="WINDOW_TITILE" /> je zatvoren.</translation>
+<translation id="996204416024568215">Dobijajte najnovije funkcije i bezbednosna poboljšanja. Ažuriranja se vrše u pozadini.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_sr.xtb b/ash/strings/ash_strings_sr.xtb
index 6e656eb..7333b9c 100644
--- a/ash/strings/ash_strings_sr.xtb
+++ b/ash/strings/ash_strings_sr.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Удесно</translation>
 <translation id="1351937230027495976">Скупи мени</translation>
 <translation id="1364382257761975320">Да бисте откључали Chromebook, користите отисак прста</translation>
+<translation id="1365866993922957110">Аутоматски преузимај ажурирања</translation>
 <translation id="1372545819342940910">Сачувај радну површину за касније</translation>
 <translation id="1383597849754832576">Преузимање фајлова говора није успело. Пробајте касније.</translation>
 <translation id="1383876407941801731">Претражи</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">Ставка <ph name="ITEM_TITLE" /> је откачена</translation>
 <translation id="1836215606488044471">Помоћник (учитава се...)</translation>
 <translation id="1838895407229022812">Ноћно светло је искључено.</translation>
+<translation id="1862380676329487333">Ажурирај и одјави ме</translation>
 <translation id="1864454756846565995">Уређај са USB прикључком типа C (задњи порт)</translation>
 <translation id="1879018240766558464">Прозори без архивирања тренутно нису подржани. Друге апликације ће бити сачуване.</translation>
 <translation id="1882814835921407042">Нема мобилне мреже</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Тренутно не можете да копирате или налепите садржај</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Отвори подешавања</translation>
+<translation id="4247123849143712100">Ажурирај и искључи</translation>
 <translation id="4250229828105606438">Снимак екрана</translation>
 <translation id="425364040945105958">Нема SIM картице</translation>
 <translation id="4261870227682513959">Прегледајте подешавања обавештења. Обавештења су искључена</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> је сесија којом управља <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> – повезанo</translation>
 <translation id="6351032674660237738">ПРЕДЛОЗИ АПЛИКАЦИЈА</translation>
+<translation id="6359587239691116345">Добијајте најновије функције и безбедносна побољшања. Ако одбијете ово ажурирање, уређај можда више неће радити како треба, а ви можете да имате проблема са безбедношћу и перформансама.</translation>
 <translation id="6376931439017688372">Bluetooth је укључен</translation>
 <translation id="6381109794406942707">Да бисте откључали уређај, унесите PIN.</translation>
 <translation id="639644700271529076">CAPS LOCK је искључен</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> тражи да ажурирате <ph name="DEVICE_TYPE" /> пре истека рока</translation>
 <translation id="649452524636452238">PIN паметне картице</translation>
 <translation id="6495400115277918834">Покренута је слика у слици, Alt+Shift+V да бисте фокусирали</translation>
+<translation id="6500896621837555595">Ажурирај</translation>
 <translation id="6501401484702599040">Екран се пребацује на <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Веза са камером је прекинута, покушава да се поново повеже.</translation>
 <translation id="6520517963145875092">Изаберите прозор за снимање</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Израчунавање времена трајања батерије.</translation>
 <translation id="8061464966246066292">Високи контраст</translation>
 <translation id="8083540854303889870">Сачувано за касније</translation>
+<translation id="8091387634532529612">Аутоматска ажурирања</translation>
 <translation id="8098591350844501178">Заустави пребацивање екрана на <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Укључено, све</translation>
 <translation id="8120151603115102514">Телефон нема закључани екран. Да бисте откључали Chromebook, унесите лозинку.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Приказују се резултати (<ph name="RESULT_COUNT" />) за: <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Хоризонтално</translation>
 <translation id="990277280839877440">Прозор <ph name="WINDOW_TITILE" /> је затворен.</translation>
+<translation id="996204416024568215">Добијајте најновије функције и безбедносна побољшања. Ажурирања се врше у позадини.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_sv.xtb b/ash/strings/ash_strings_sv.xtb
index 9b58e99be..ff80a0973 100644
--- a/ash/strings/ash_strings_sv.xtb
+++ b/ash/strings/ash_strings_sv.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Höger</translation>
 <translation id="1351937230027495976">Komprimera menyn</translation>
 <translation id="1364382257761975320">Använd ditt fingeravtryck om du vill låsa upp Chromebook</translation>
+<translation id="1365866993922957110">Få automatiska uppdateringar</translation>
 <translation id="1372545819342940910">Spara skrivbordet till senare</translation>
 <translation id="1383597849754832576">Det gick inte att ladda ned röstfilerna. Försök igen senare.</translation>
 <translation id="1383876407941801731">Sök</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> har lossats</translation>
 <translation id="1836215606488044471">Assistent (läses in …)</translation>
 <translation id="1838895407229022812">Nattljus är inaktiverat.</translation>
+<translation id="1862380676329487333">Uppdatera och logga ut</translation>
 <translation id="1864454756846565995">USB-C-enhet (bakre port)</translation>
 <translation id="1879018240766558464">Inkognitofönster stöds inte för närvarande. Andra appar sparas.</translation>
 <translation id="1882814835921407042">Inget mobilnätverk</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Det går inte att kopiera eller klistra in innehåll just nu</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Öppna Inställningar</translation>
+<translation id="4247123849143712100">Uppdatera och stäng av</translation>
 <translation id="4250229828105606438">Skärmbild</translation>
 <translation id="425364040945105958">Inget SIM-kort</translation>
 <translation id="4261870227682513959">Visa aviseringsinställningar. Aviseringar har inaktiverats</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> är en hanterad session som hanteras av <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> har anslutits</translation>
 <translation id="6351032674660237738">APPFÖRSLAG</translation>
+<translation id="6359587239691116345">Få de senaste funktionerna och säkerhetsförbättringarna. Om du inte godkänner uppdateringen kan det hända att enheten slutar fungerar som den ska och det kan uppstå säkerhets- och prestandaproblem.</translation>
 <translation id="6376931439017688372">Bluetooth är aktiverat</translation>
 <translation id="6381109794406942707">Lås upp enheten genom att ange pinkoden.</translation>
 <translation id="639644700271529076">CAPS LOCK är av</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> kräver att du uppdaterar din <ph name="DEVICE_TYPE" /> före deadline</translation>
 <translation id="649452524636452238">Pinkod till smartkort</translation>
 <translation id="6495400115277918834">Bild-i-bild har startats, tryck på Alt + Skift + V för att välja fokus</translation>
+<translation id="6500896621837555595">Uppdatera</translation>
 <translation id="6501401484702599040">Skärmen castas till <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Kameran kopplades från. Försöker återansluta.</translation>
 <translation id="6520517963145875092">Välj ett fönster att ta en bild av</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Batteritiden beräknas.</translation>
 <translation id="8061464966246066292">Hög kontrast</translation>
 <translation id="8083540854303889870">Har sparats till senare</translation>
+<translation id="8091387634532529612">Automatiska uppdateringar</translation>
 <translation id="8098591350844501178">Sluta casta skärmen till <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Alla appar på</translation>
 <translation id="8120151603115102514">Telefonen saknar låsskärm. Lås upp Chromebook med lösenordet.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949"><ph name="RESULT_COUNT" /> resultat visas för <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Liggande</translation>
 <translation id="990277280839877440">Fönstret <ph name="WINDOW_TITILE" /> har stängts.</translation>
+<translation id="996204416024568215">Få de senaste funktionerna och säkerhetsförbättringarna. Uppdateringar görs i bakgrunden.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_sw.xtb b/ash/strings/ash_strings_sw.xtb
index 4c50ee6..502148d4 100644
--- a/ash/strings/ash_strings_sw.xtb
+++ b/ash/strings/ash_strings_sw.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Kulia</translation>
 <translation id="1351937230027495976">Kunja menyu</translation>
 <translation id="1364382257761975320">Ili ufungue Chromebook yako, tumia alama yako ya kidole</translation>
+<translation id="1365866993922957110">Pata masasisho ya kiotomatiki</translation>
 <translation id="1372545819342940910">Hifadhi eneokazi kwa matumizi ya baadaye</translation>
 <translation id="1383597849754832576">Imeshindwa kupakua faili za matamshi. Jaribu tena baadaye.</translation>
 <translation id="1383876407941801731">Tafuta</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" /> imebanduliwa</translation>
 <translation id="1836215606488044471">Mratibu (inapakia...)</translation>
 <translation id="1838895407229022812">Umezima Mwanga wa Usiku.</translation>
+<translation id="1862380676329487333">Sasisha kisha uondoke kwenye akaunti</translation>
 <translation id="1864454756846565995">Kifaa cha USB-C (mlango wa nyuma)</translation>
 <translation id="1879018240766558464">Madirisha fiche hayawezi kutumika kwa sasa. Programu nyingine zitahifadhiwa.</translation>
 <translation id="1882814835921407042">Hakuna mtandao wa simu</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Huwezi kunakili au kubandika maudhui wakati huu</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Fungua mipangilio</translation>
+<translation id="4247123849143712100">Sasisha kisha uzime</translation>
 <translation id="4250229828105606438">Picha ya skrini</translation>
 <translation id="425364040945105958">Hakuna SIM</translation>
 <translation id="4261870227682513959">Onyesha mipangilio ya arifa. Umezima arifa</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> ni kipindi kinachodhibitiwa ambacho kinadhibitiwa na <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467"><ph name="DEVICE_NAME" /> imeunganishwa</translation>
 <translation id="6351032674660237738">MAPENDEKEZO YA PROGRAMU</translation>
+<translation id="6359587239691116345">Pata vipengele vipya zaidi na maboresho ya usalama. Iwapo utakataa sasisho hili, huenda kifaa chako kisifanye kazi ipasavyo na unaweza kukumbwa na hitilafu za kiusalama na kiutendaji.</translation>
 <translation id="6376931439017688372">Bluetooth imewashwa</translation>
 <translation id="6381109794406942707">Ili ufungue kifaa, weka PIN yako.</translation>
 <translation id="639644700271529076">CAPS LOCK imezimwa</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> inahitaji usasishe <ph name="DEVICE_TYPE" /> yako kabla ya tarehe ya mwisho</translation>
 <translation id="649452524636452238">PIN ya kadi mahiri</translation>
 <translation id="6495400115277918834">Hali ya kupachika picha ndani ya picha nyingine imeanzishwa, bonyeza vitufe vya Alt, Shift na herufi V ili uiangazie</translation>
+<translation id="6500896621837555595">Sasisha</translation>
 <translation id="6501401484702599040">Inatuma skrini kwenye <ph name="RECEIVER_NAME" /></translation>
 <translation id="6515727200518652613">Kamera imepoteza muunganisho, inajaribu kuunganisha tena.</translation>
 <translation id="6520517963145875092">Chagua dirisha ili unase</translation>
@@ -1219,6 +1224,7 @@
 <translation id="8054466585765276473">Inakokotoa muda wa betri.</translation>
 <translation id="8061464966246066292">Kilinganushi kikubwa</translation>
 <translation id="8083540854303889870">Imehifadhiwa kwa ajili ya baadaye</translation>
+<translation id="8091387634532529612">Masasisho ya kiotomatiki</translation>
 <translation id="8098591350844501178">Acha kutuma skrini kwenye <ph name="RECEIVER_NAME" /></translation>
 <translation id="8113423164597455979">Imewashwa: zote</translation>
 <translation id="8120151603115102514">Simu yako haina kipengele cha kufunga skrini. Ili ufungue Chromebook yako, weka nenosiri.</translation>
@@ -1425,4 +1431,5 @@
 <translation id="974545358917229949">Inaonyesha matokeo <ph name="RESULT_COUNT" /> ya <ph name="QUERY" /></translation>
 <translation id="98515147261107953">Mlalo</translation>
 <translation id="990277280839877440">Dirisha la <ph name="WINDOW_TITILE" /> limefungwa.</translation>
+<translation id="996204416024568215">Pata vipengele vipya zaidi na maboresho ya usalama. Masasisho yanafanyika chinichini.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_uk.xtb b/ash/strings/ash_strings_uk.xtb
index d7b8b9b6..e509185 100644
--- a/ash/strings/ash_strings_uk.xtb
+++ b/ash/strings/ash_strings_uk.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">Праворуч</translation>
 <translation id="1351937230027495976">Згорнути меню</translation>
 <translation id="1364382257761975320">Щоб розблокувати Chromebook, скористайтеся відбитком пальця</translation>
+<translation id="1365866993922957110">Отримувати автоматичні оновлення</translation>
 <translation id="1372545819342940910">Зберегти робочий стіл</translation>
 <translation id="1383597849754832576">Не вдалося завантажити файли живих субтитрів. Повторіть спробу пізніше.</translation>
 <translation id="1383876407941801731">Пошук</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064"><ph name="ITEM_TITLE" />: відкріплено</translation>
 <translation id="1836215606488044471">Асистент (завантаження…)</translation>
 <translation id="1838895407229022812">Нічний екран вимкнено.</translation>
+<translation id="1862380676329487333">Оновити й вийти</translation>
 <translation id="1864454756846565995">Пристрій із портом USB типу C (на задній панелі)</translation>
 <translation id="1879018240766558464">Вікна в режимі анонімного перегляду наразі не підтримуються. Інші додатки буде збережено.</translation>
 <translation id="1882814835921407042">Немає мобільних мереж</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">Наразі не вдається скопіювати або вставити контент</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">Відкрити налаштування</translation>
+<translation id="4247123849143712100">Оновити й завершити роботу</translation>
 <translation id="4250229828105606438">Знімок екрана</translation>
 <translation id="425364040945105958">Немає SIM-карти</translation>
 <translation id="4261870227682513959">Показати налаштування сповіщень. Сповіщення вимкнено</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913"><ph name="DISPLAY_NAME" /> – сеанс, яким керує <ph name="MANAGER" /></translation>
 <translation id="6344138931392227467">Пристрій <ph name="DEVICE_NAME" /> під’єднано</translation>
 <translation id="6351032674660237738">ПРОПОЗИЦІЇ ДОДАТКІВ</translation>
+<translation id="6359587239691116345">Отримуйте доступ до найновіших функцій і покращеної безпеки. Якщо відхилити це оновлення, ваш пристрій може працювати неналежним чином і у вас можуть виникати проблеми з безпекою та продуктивністю.</translation>
 <translation id="6376931439017688372">Bluetooth увімкнено</translation>
 <translation id="6381109794406942707">Щоб розблокувати пристрій, введіть PIN-код.</translation>
 <translation id="639644700271529076">Режим CAPS LOCK вимкнено</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> вимагає, щоб ви оновили пристрій <ph name="DEVICE_TYPE" /> до кінцевого терміну</translation>
 <translation id="649452524636452238">PIN-код розумної картки</translation>
 <translation id="6495400115277918834">Увімкнено режим "Картинка в картинці"; щоб виділити, натисніть Alt+Shift+V</translation>
+<translation id="6500896621837555595">Оновити</translation>
 <translation id="6501401484702599040">Вміст екрана транслюється на пристрій "<ph name="RECEIVER_NAME" />"</translation>
 <translation id="6515727200518652613">Немає з’єднання з камерою. Триває підключення.</translation>
 <translation id="6520517963145875092">Виберіть вікно, знімок якого потрібно зробити</translation>
@@ -1218,6 +1223,7 @@
 <translation id="8054466585765276473">Обчислення часу роботи акумулятора.</translation>
 <translation id="8061464966246066292">Високий контраст</translation>
 <translation id="8083540854303889870">Збережено на потім</translation>
+<translation id="8091387634532529612">Автоматичні оновлення</translation>
 <translation id="8098591350844501178">Зупинити трансляцію екрана на пристрій "<ph name="RECEIVER_NAME" />"</translation>
 <translation id="8113423164597455979">Увімкнено всі</translation>
 <translation id="8120151603115102514">На телефоні немає екрана блокування. Щоб розблокувати Chromebook, введіть пароль.</translation>
@@ -1424,4 +1430,5 @@
 <translation id="974545358917229949">Показано результати (<ph name="RESULT_COUNT" />) для запиту "<ph name="QUERY" />"</translation>
 <translation id="98515147261107953">Альбомна</translation>
 <translation id="990277280839877440">Вікно <ph name="WINDOW_TITILE" /> закрито.</translation>
+<translation id="996204416024568215">Отримуйте доступ до найновіших функцій і покращеної безпеки. Оновлення відбуваються у фоновому режимі.</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_zh-CN.xtb b/ash/strings/ash_strings_zh-CN.xtb
index db470e3..4c4becb 100644
--- a/ash/strings/ash_strings_zh-CN.xtb
+++ b/ash/strings/ash_strings_zh-CN.xtb
@@ -84,6 +84,7 @@
 <translation id="1346748346194534595">向右</translation>
 <translation id="1351937230027495976">收起菜单</translation>
 <translation id="1364382257761975320">若要解锁 Chromebook,请使用指纹</translation>
+<translation id="1365866993922957110">获取自动更新</translation>
 <translation id="1372545819342940910">保存桌面以备后用</translation>
 <translation id="1383597849754832576">无法下载实时字幕文件。请稍后再试。</translation>
 <translation id="1383876407941801731">搜索</translation>
@@ -161,6 +162,7 @@
 <translation id="1830308660060964064">“<ph name="ITEM_TITLE" />”已被取消固定</translation>
 <translation id="1836215606488044471">智能助理(正在加载中…)</translation>
 <translation id="1838895407229022812">当前已关闭护眼模式。</translation>
+<translation id="1862380676329487333">更新并退出</translation>
 <translation id="1864454756846565995">USB-C 设备(背面端口)</translation>
 <translation id="1879018240766558464">目前不支持无痕式窗口。其他应用会被保存。</translation>
 <translation id="1882814835921407042">无移动网络</translation>
@@ -561,6 +563,7 @@
 <translation id="423685346499232137">目前无法复制或粘贴内容</translation>
 <translation id="4239069858505860023">GPRS</translation>
 <translation id="4242533952199664413">打开“设置”</translation>
+<translation id="4247123849143712100">更新并关机</translation>
 <translation id="4250229828105606438">屏幕截图</translation>
 <translation id="425364040945105958">无 SIM 卡</translation>
 <translation id="4261870227682513959">显示通知设置。通知已关闭</translation>
@@ -920,6 +923,7 @@
 <translation id="6338485349199627913">“<ph name="DISPLAY_NAME" />”是一个由 <ph name="MANAGER" /> 管理的受管理自助服务终端</translation>
 <translation id="6344138931392227467">已连接到“<ph name="DEVICE_NAME" />”</translation>
 <translation id="6351032674660237738">应用推荐</translation>
+<translation id="6359587239691116345">获取最新的功能和安全性方面的改进。如果您拒绝此更新,您的设备可能会无法继续正常运行,您则可能会遇到安全问题和性能问题。</translation>
 <translation id="6376931439017688372">蓝牙已开启</translation>
 <translation id="6381109794406942707">要解锁此设备,请输入您的 PIN 码。</translation>
 <translation id="639644700271529076">CAPS LOCK 已关闭</translation>
@@ -941,6 +945,7 @@
 <translation id="6491071886865974820"><ph name="MANAGER" /> 要求您在截止日期之前更新 <ph name="DEVICE_TYPE" /></translation>
 <translation id="649452524636452238">智能卡 PIN 码</translation>
 <translation id="6495400115277918834">已启动“画中画”模式,按 Alt+Shift+V 可聚焦</translation>
+<translation id="6500896621837555595">更新</translation>
 <translation id="6501401484702599040">正在将屏幕投放到“<ph name="RECEIVER_NAME" />”</translation>
 <translation id="6515727200518652613">相机连接已中断,正在尝试重新连接。</translation>
 <translation id="6520517963145875092">选择一个窗口即可截图</translation>
@@ -1215,6 +1220,7 @@
 <translation id="8054466585765276473">正在计算续航时间。</translation>
 <translation id="8061464966246066292">高对比度</translation>
 <translation id="8083540854303889870">已保存供日后使用</translation>
+<translation id="8091387634532529612">自动更新</translation>
 <translation id="8098591350844501178">停止将屏幕投放到“<ph name="RECEIVER_NAME" />”</translation>
 <translation id="8113423164597455979">开启,所有应用</translation>
 <translation id="8120151603115102514">您的手机未设置锁屏。若要解锁 Chromebook,请输入密码。</translation>
@@ -1421,4 +1427,5 @@
 <translation id="974545358917229949">显示了 <ph name="RESULT_COUNT" /> 条与“<ph name="QUERY" />”相符的结果</translation>
 <translation id="98515147261107953">横向</translation>
 <translation id="990277280839877440">已关闭窗口“<ph name="WINDOW_TITILE" />”。</translation>
+<translation id="996204416024568215">获取最新的功能和安全性方面的改进。更新在后台进行。</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/strings/ash_strings_zh-HK.xtb b/ash/strings/ash_strings_zh-HK.xtb
index 1e154a547..74115cb 100644
--- a/ash/strings/ash_strings_zh-HK.xtb
+++ b/ash/strings/ash_strings_zh-HK.xtb
@@ -922,7 +922,7 @@
 <translation id="6338485349199627913">「<ph name="DISPLAY_NAME" />」是由 <ph name="MANAGER" /> 管理的工作階段</translation>
 <translation id="6344138931392227467">已連結 <ph name="DEVICE_NAME" /></translation>
 <translation id="6351032674660237738">應用程式建議</translation>
-<translation id="6359587239691116345">取得最新功能並改善安全性。如果拒絕這項更新,裝置可能無法再正常運作,你也可能會遇到安全性和效能問題。</translation>
+<translation id="6359587239691116345">取得最新功能和改善安全性的資訊。如果拒絕此更新,裝置可能無法再正常運作,您亦可能會遇到安全性和效能問題。</translation>
 <translation id="6376931439017688372">藍牙已開啟</translation>
 <translation id="6381109794406942707">如要解鎖裝置,請輸入 PIN。</translation>
 <translation id="639644700271529076">大寫鍵已關閉</translation>
@@ -1428,5 +1428,5 @@
 <translation id="974545358917229949">顯示緊 <ph name="RESULT_COUNT" /> 個同「<ph name="QUERY" />」有關嘅結果</translation>
 <translation id="98515147261107953">橫向</translation>
 <translation id="990277280839877440">視窗 <ph name="WINDOW_TITILE" /> 閂咗。</translation>
-<translation id="996204416024568215">取得最新功能並改善安全性。更新作業會在背景執行。</translation>
+<translation id="996204416024568215">取得最新功能和改善安全性的資訊。更新會在背景中執行。</translation>
 </translationbundle>
\ No newline at end of file
diff --git a/ash/style/OWNERS b/ash/style/OWNERS
index fcd01e7..d9e86372 100644
--- a/ash/style/OWNERS
+++ b/ash/style/OWNERS
@@ -1 +1,2 @@
 minch@chromium.org
+skau@chromium.org
diff --git a/ash/style/ash_color_mixer.cc b/ash/style/ash_color_mixer.cc
index 342994d17..db634fe 100644
--- a/ash/style/ash_color_mixer.cc
+++ b/ash/style/ash_color_mixer.cc
@@ -97,23 +97,6 @@
   mixer[ui::kColorAshFocusRing] = use_dark_color
                                       ? ui::ColorTransform(gfx::kGoogleBlue300)
                                       : ui::ColorTransform(gfx::kGoogleBlue600);
-
-  mixer[ui::kColorAshSystemUIBorderColor1] =
-      use_dark_color ? ui::ColorTransform(kColorAshShieldAndBase80)
-                     : ui::ColorTransform(SkColorSetA(SK_ColorBLACK, 0x0F));
-  mixer[ui::kColorAshSystemUIBorderColor2] =
-      use_dark_color ? ui::ColorTransform(kColorAshShieldAndBase60)
-                     : ui::ColorTransform(SkColorSetA(SK_ColorBLACK, 0x0F));
-  mixer[ui::kColorAshSystemUIBorderColor3] = {SkColorSetA(SK_ColorBLACK, 0x0F)};
-
-  mixer[ui::kColorAshSystemUIHighlightColor1] =
-      use_dark_color ? ui::ColorTransform(SkColorSetA(SK_ColorWHITE, 0x14))
-                     : ui::ColorTransform(SkColorSetA(SK_ColorWHITE, 0x4C));
-  mixer[ui::kColorAshSystemUIHighlightColor2] =
-      use_dark_color ? ui::ColorTransform(SkColorSetA(SK_ColorWHITE, 0x0F))
-                     : ui::ColorTransform(SkColorSetA(SK_ColorWHITE, 0x33));
-  mixer[ui::kColorAshSystemUIHighlightColor3] = {
-      ui::kColorAshSystemUIHighlightColor1};
 }
 
 // Mappings the Content layer colors for Material 2.
@@ -416,13 +399,13 @@
   if (!features::IsDarkLightModeEnabled()) {
     ash::ScopedLightModeAsDefault scoped_light_mode_as_default;
     mixer[ui::kColorAshSystemUILightBorderColor1] = {
-        ui::kColorAshSystemUIBorderColor1};
+        ui::kColorHighlightBorderBorder1};
     mixer[ui::kColorAshSystemUILightBorderColor2] = {
-        ui::kColorAshSystemUIBorderColor2};
+        ui::kColorHighlightBorderBorder2};
     mixer[ui::kColorAshSystemUILightHighlightColor1] = {
-        ui::kColorAshSystemUIHighlightColor1};
+        ui::kColorHighlightBorderHighlight1};
     mixer[ui::kColorAshSystemUILightHighlightColor2] = {
-        ui::kColorAshSystemUIHighlightColor2};
+        ui::kColorHighlightBorderHighlight2};
     return;
   }
 
diff --git a/ash/style/ash_color_provider.cc b/ash/style/ash_color_provider.cc
index 4537bb7..7b74c44e 100644
--- a/ash/style/ash_color_provider.cc
+++ b/ash/style/ash_color_provider.cc
@@ -181,17 +181,17 @@
     case ControlsLayerType::kFocusRingColor:
       return color_provider->GetColor(ui::kColorAshFocusRing);
     case ControlsLayerType::kHighlightColor1:
-      return color_provider->GetColor(ui::kColorAshSystemUIHighlightColor1);
+      return color_provider->GetColor(ui::kColorHighlightBorderHighlight1);
     case ControlsLayerType::kHighlightColor2:
-      return color_provider->GetColor(ui::kColorAshSystemUIHighlightColor2);
+      return color_provider->GetColor(ui::kColorHighlightBorderHighlight2);
     case ControlsLayerType::kHighlightColor3:
-      return color_provider->GetColor(ui::kColorAshSystemUIHighlightColor3);
+      return color_provider->GetColor(ui::kColorHighlightBorderHighlight3);
     case ControlsLayerType::kBorderColor1:
-      return color_provider->GetColor(ui::kColorAshSystemUIBorderColor1);
+      return color_provider->GetColor(ui::kColorHighlightBorderBorder1);
     case ControlsLayerType::kBorderColor2:
-      return color_provider->GetColor(ui::kColorAshSystemUIBorderColor2);
+      return color_provider->GetColor(ui::kColorHighlightBorderBorder2);
     case ControlsLayerType::kBorderColor3:
-      return color_provider->GetColor(ui::kColorAshSystemUIBorderColor3);
+      return color_provider->GetColor(ui::kColorHighlightBorderBorder3);
   }
 }
 
diff --git a/ash/system/channel_indicator/channel_indicator.cc b/ash/system/channel_indicator/channel_indicator.cc
index e8a4dc0..0f941c0 100644
--- a/ash/system/channel_indicator/channel_indicator.cc
+++ b/ash/system/channel_indicator/channel_indicator.cc
@@ -12,6 +12,7 @@
 #include "ash/system/tray/tray_constants.h"
 #include "base/memory/weak_ptr.h"
 #include "base/strings/strcat.h"
+#include "base/strings/string_util.h"
 #include "components/session_manager/session_manager_types.h"
 #include "components/version_info/channel.h"
 #include "ui/accessibility/ax_node_data.h"
@@ -183,4 +184,14 @@
   return image_view() && image_view()->GetVisible();
 }
 
+std::u16string ChannelIndicatorView::GetAccessibleNameString() const {
+  if (image_view())
+    return image_view()->GetAccessibleName();
+
+  if (label())
+    return label()->GetAccessibleName();
+
+  return base::EmptyString16();
+}
+
 }  // namespace ash
diff --git a/ash/system/channel_indicator/channel_indicator.h b/ash/system/channel_indicator/channel_indicator.h
index 3fbd15b..395b145 100644
--- a/ash/system/channel_indicator/channel_indicator.h
+++ b/ash/system/channel_indicator/channel_indicator.h
@@ -5,6 +5,7 @@
 #ifndef ASH_SYSTEM_CHANNEL_INDICATOR_CHANNEL_INDICATOR_H_
 #define ASH_SYSTEM_CHANNEL_INDICATOR_CHANNEL_INDICATOR_H_
 
+#include <string>
 #include "ash/public/cpp/session/session_observer.h"
 #include "ash/system/tray/tray_item_view.h"
 #include "base/memory/weak_ptr.h"
@@ -41,6 +42,9 @@
   bool IsLabelVisibleForTesting();
   bool IsImageViewVisibleForTesting();
 
+  // Returns the accessibility name.
+  std::u16string GetAccessibleNameString() const;
+
  private:
   void Update();
   void SetImageOrText();
diff --git a/ash/system/message_center/ash_notification_view.cc b/ash/system/message_center/ash_notification_view.cc
index 671faca..d552a0e 100644
--- a/ash/system/message_center/ash_notification_view.cc
+++ b/ash/system/message_center/ash_notification_view.cc
@@ -289,7 +289,6 @@
   title_view_->SetMultiLine(true);
   title_view_->SetAllowCharacterBreak(true);
   title_view_->SetMaxLines(kTitleLabelExpandedMaxLines);
-  title_view_->SetMaximumWidth(kNotificationInMessageCenterWidth);
 
   ConfigureLabelStyle(title_row_divider_, kTimestampInCollapsedViewSize,
                       /*is_color_primary=*/false);
@@ -763,6 +762,22 @@
   return base::Milliseconds(kGeneralCollapseAnimationDuration);
 }
 
+void AshNotificationView::AbortAllLayerAnimations() {
+  layer()->GetAnimator()->AbortAllAnimations();
+
+  // Aborting animations on these views can result in the view being deleted. To
+  // prevent a container overflow we need to copy the view pointers into a
+  // separate vector before calling abort animations on them.
+  std::vector<views::View*> grouped_notifications;
+  std::copy(grouped_notifications_container_->children().begin(),
+            grouped_notifications_container_->children().end(),
+            std::back_inserter(grouped_notifications));
+
+  for (auto* child : grouped_notifications) {
+    child->layer()->GetAnimator()->AbortAllAnimations();
+  }
+}
+
 void AshNotificationView::AddGroupNotification(
     const message_center::Notification& notification) {
   DCHECK(is_grouped_parent_view_);
@@ -877,7 +892,9 @@
         self->expand_button_->UpdateGroupedNotificationsCount(
             self->total_grouped_notifications_);
 
-        self->grouped_notifications_container_->RemoveChildViewT(to_be_removed);
+        // crbug/1347815: Release this view immediately to prevent msan failure.
+        self->grouped_notifications_container_->RemoveChildViewT(to_be_removed)
+            .release();
         self->PreferredSizeChanged();
       },
       weak_factory_.GetWeakPtr(), notification_id);
@@ -1411,7 +1428,8 @@
 
   return notification_width - kNotificationViewPadding.width() -
          kAppIconViewSize - kMainRightViewChildPadding.width() -
-         kAppIconViewSize - kRightContentExpandedPadding.width() -
+         kAppIconViewSize - right_content()->width() -
+         kRightContentExpandedPadding.width() -
          kMessageLabelInExpandedStatePadding.width();
 }
 
@@ -1524,7 +1542,7 @@
       grouped_notifications_container_->height();
   size_t removed_index =
       grouped_notifications_container_->GetIndexOf(to_be_removed).value();
-  LOG(ERROR) << "Removed after animation";
+
   grouped_notifications_container_->RemoveChildViewT(to_be_removed).reset();
 
   auto* notification_view_controller = message_center_utils::
diff --git a/ash/system/message_center/ash_notification_view.h b/ash/system/message_center/ash_notification_view.h
index 8deb79c8..78f3df1 100644
--- a/ash/system/message_center/ash_notification_view.h
+++ b/ash/system/message_center/ash_notification_view.h
@@ -68,6 +68,7 @@
   void GroupedNotificationsPreferredSizeChanged();
 
   // message_center::MessageView:
+  void AbortAllLayerAnimations() override;
   void AddGroupNotification(
       const message_center::Notification& notification) override;
   void PopulateGroupNotifications(
diff --git a/ash/system/unified/unified_system_tray.cc b/ash/system/unified/unified_system_tray.cc
index 5993a292..952e84f 100644
--- a/ash/system/unified/unified_system_tray.cc
+++ b/ash/system/unified/unified_system_tray.cc
@@ -48,6 +48,7 @@
 #include "base/memory/scoped_refptr.h"
 #include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
+#include "base/strings/string_util.h"
 #include "base/time/time.h"
 #include "base/timer/timer.h"
 #include "ui/base/l10n/l10n_util.h"
@@ -575,6 +576,11 @@
   std::u16string battery = PowerStatus::Get()->GetAccessibleNameString(false);
   std::vector<std::u16string> status = {time, battery};
 
+  status.push_back(features::IsReleaseTrackUiEnabled() &&
+                           channel_indicator_view_->GetVisible()
+                       ? channel_indicator_view_->GetAccessibleNameString()
+                       : base::EmptyString16());
+
   status.push_back(network_tray_view_->GetVisible()
                        ? network_tray_view_->GetAccessibleNameString()
                        : base::EmptyString16());
diff --git a/ash/webui/diagnostics_ui/resources/ip_config_info_drawer.js b/ash/webui/diagnostics_ui/resources/ip_config_info_drawer.js
index a004d05..229bc602 100644
--- a/ash/webui/diagnostics_ui/resources/ip_config_info_drawer.js
+++ b/ash/webui/diagnostics_ui/resources/ip_config_info_drawer.js
@@ -119,7 +119,10 @@
    * @return {string}
    */
   computeSubnetMask_() {
-    if (this.network.ipConfig && this.network.ipConfig.routingPrefix) {
+    // Routing prefix should be [1,32] when set. 0 indicates an unset value.
+    if (this.network.ipConfig && this.network.ipConfig.routingPrefix &&
+        this.network.ipConfig.routingPrefix >= 0 &&
+        this.network.ipConfig.routingPrefix <= 32) {
       return getSubnetMaskFromRoutingPrefix(
           this.network.ipConfig.routingPrefix);
     }
diff --git a/ash/webui/os_feedback_ui/resources/help_content.html b/ash/webui/os_feedback_ui/resources/help_content.html
index 50c8bebc..dd6605d 100644
--- a/ash/webui/os_feedback_ui/resources/help_content.html
+++ b/ash/webui/os_feedback_ui/resources/help_content.html
@@ -3,7 +3,7 @@
     color: var(--cros-text-color-secondary);
     font-size: 15px;
     font-weight: 500;
-    margin: 24px 0 0;
+    margin: 0;
   }
 
   .help-item {
@@ -39,12 +39,30 @@
     max-width: 200px;
     text-align: center;
   }
+
+  #helpContentLabelContainer {
+    align-items: center;
+    display: inline-flex;
+    margin-top: 24px;
+  }
+
+  #helpContentIcon {
+    display: inline-block;
+    height: 20px;
+    --iron-icon-fill-color: var(--cros-icon-color-secondary);
+    margin-inline-start: 6px;
+    width: 20px;
+  }
 </style>
 <iron-media-query query="(prefers-color-scheme: dark)"
   query-matches="{{isDarkModeEnabled_}}">
 </iron-media-query>
 <div id="helpContentContainer">
-  <h2 class="help-content-label">[[getLabel_(searchResult, isOnline_)]]</h2>
+  <div id="helpContentLabelContainer">
+    <h2 class="help-content-label">[[getLabel_(searchResult, isOnline_)]]</h2>
+    <iron-icon icon="help-content:info" id="helpContentIcon">
+    </iron-icon>
+  </div>
   <template is="dom-if" if="[[!isOnline_]]">
     <div class="help-content-offline-details">
       <img src="[[getOfflineIllustrationSrc_(isDarkModeEnabled_)]]" 
diff --git a/ash/webui/os_feedback_ui/resources/help_content.js b/ash/webui/os_feedback_ui/resources/help_content.js
index 38dd2db..71646c2b74 100644
--- a/ash/webui/os_feedback_ui/resources/help_content.js
+++ b/ash/webui/os_feedback_ui/resources/help_content.js
@@ -6,6 +6,10 @@
 import './strings.m.js';
 import '//resources/polymer/v3_0/iron-icon/iron-icon.js';
 import '//resources/polymer/v3_0/iron-media-query/iron-media-query.js';
+import '//resources/cr_elements/cr_icons_css.m.js';
+import '//resources/cr_elements/hidden_style_css.m.js';
+import '//resources/cr_elements/icons.m.js';
+import '//resources/cr_elements/shared_vars_css.m.js';
 
 import {mojoString16ToString} from '//resources/ash/common/mojo_utils.js';
 import {I18nBehavior, I18nBehaviorInterface} from '//resources/js/i18n_behavior.m.js';
diff --git a/ash/webui/os_feedback_ui/resources/help_resources_icons.html b/ash/webui/os_feedback_ui/resources/help_resources_icons.html
index 7010bbb9..c47122d 100644
--- a/ash/webui/os_feedback_ui/resources/help_resources_icons.html
+++ b/ash/webui/os_feedback_ui/resources/help_resources_icons.html
@@ -323,3 +323,14 @@
     </defs>
   </svg>
 </iron-iconset-svg>
+
+<iron-iconset-svg name="help-content" size="20">
+  <svg width="20" height="20"
+      xmlns="http://www.w3org/2000/svg">
+    <defs>
+      <g id="info">
+        <path fill-rule="evenodd" clip-rule="evenodd" d="M9 14H11V10H9V14ZM10 2C5.584 2 2 5.584 2 10C2 14.416 5.584 18 10 18C14.416 18 18 14.416 18 10C18 5.584 14.416 2 10 2ZM10 16C6.6925 16 4 13.3075 4 10C4 6.6925 6.6925 4 10 4C13.3075 4 16 6.6925 16 10C16 13.3075 13.3075 16 10 16ZM9 8H11V6H9V8Z"></path>
+      </g>
+    </defs>
+  </svg>
+</iron-iconset-svg>
diff --git a/base/strings/string_util_internal.h b/base/strings/string_util_internal.h
index 99d1dfc..acfa051 100644
--- a/base/strings/string_util_internal.h
+++ b/base/strings/string_util_internal.h
@@ -536,7 +536,7 @@
     const std::vector<std::basic_string<CharT>>& subst,
     std::vector<size_t>* offsets) {
   size_t substitutions = subst.size();
-  DCHECK_LT(substitutions, 10U);
+  DCHECK_LT(substitutions, 11U);
 
   size_t sub_length = 0;
   for (const auto& cur : subst)
diff --git a/base/win/registry.cc b/base/win/registry.cc
index 6b535aa..41e221b 100644
--- a/base/win/registry.cc
+++ b/base/win/registry.cc
@@ -259,6 +259,14 @@
   return (result == ERROR_SUCCESS) ? count : 0;
 }
 
+FILETIME RegKey::GetLastWriteTime() const {
+  FILETIME last_write_time;
+  LONG result = RegQueryInfoKey(key_, nullptr, nullptr, nullptr, nullptr,
+                                nullptr, nullptr, nullptr, nullptr, nullptr,
+                                nullptr, &last_write_time);
+  return (result == ERROR_SUCCESS) ? last_write_time : FILETIME{};
+}
+
 LONG RegKey::GetValueNameAt(DWORD index, std::wstring* name) const {
   wchar_t buf[256];
   DWORD bufsize = std::size(buf);
diff --git a/base/win/registry.h b/base/win/registry.h
index 00a7f90..50550393 100644
--- a/base/win/registry.h
+++ b/base/win/registry.h
@@ -76,6 +76,9 @@
   // determined.
   DWORD GetValueCount() const;
 
+  // Returns the last write time or 0 on failure.
+  FILETIME GetLastWriteTime() const;
+
   // Determines the nth value's name.
   LONG GetValueNameAt(DWORD index, std::wstring* name) const;
 
diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni
index 1b339c5..5550eec 100644
--- a/build/config/compiler/compiler.gni
+++ b/build/config/compiler/compiler.gni
@@ -257,9 +257,8 @@
     use_debug_fission == "default" || use_debug_fission || !use_debug_fission,
     "Invalid use_debug_fission.")
 if (use_debug_fission == "default") {
-  use_debug_fission = (is_android && is_official_build) ||
-                      (is_debug && !is_fuchsia && !is_apple && !is_win &&
-                       (use_gold || use_lld) && cc_wrapper == "")
+  use_debug_fission = is_debug && !is_android && !is_fuchsia && !is_apple &&
+                      !is_win && (use_gold || use_lld) && cc_wrapper == ""
 }
 
 # If it wasn't manually set, set to an appropriate default.
diff --git a/build/fuchsia/linux_internal.sdk.sha1 b/build/fuchsia/linux_internal.sdk.sha1
index de44cbd..894f5b65 100644
--- a/build/fuchsia/linux_internal.sdk.sha1
+++ b/build/fuchsia/linux_internal.sdk.sha1
@@ -1 +1 @@
-9.20220731.3.1
+9.20220801.2.1
diff --git a/buildtools/third_party/libc++/BUILD.gn b/buildtools/third_party/libc++/BUILD.gn
index 14587f2..4fec8db3 100644
--- a/buildtools/third_party/libc++/BUILD.gn
+++ b/buildtools/third_party/libc++/BUILD.gn
@@ -68,6 +68,8 @@
     libs = [ "atomic" ]
   }
 
+  inputs = [ "__config_site" ]
+
   sources = [
     "trunk/src/algorithm.cpp",
     "trunk/src/any.cpp",
@@ -124,7 +126,7 @@
     configs -= [ "//build/config/win:winver" ]
     configs += [ ":winver" ]
     if (libcxx_natvis_include) {
-      inputs = [
+      inputs += [
         # libc++.natvis listed as an input here instead of in
         # //build/config/c++:runtime_library to prevent unnecessary size
         # increase in generated build files.
diff --git a/buildtools/third_party/libc++/__config_site b/buildtools/third_party/libc++/__config_site
index eedb9954..98383cd 100644
--- a/buildtools/third_party/libc++/__config_site
+++ b/buildtools/third_party/libc++/__config_site
@@ -26,5 +26,6 @@
 /* #undef _LIBCPP_HAS_PARALLEL_ALGORITHMS */
 /* #undef _LIBCPP_HAS_NO_RANDOM_DEVICE */
 /* #undef _LIBCPP_HAS_NO_LOCALIZATION */
+#define _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
 
 #endif // _LIBCPP_CONFIG_SITE
diff --git a/chrome/android/chrome_java_sources.gni b/chrome/android/chrome_java_sources.gni
index e13b0b121..a7bf57b 100644
--- a/chrome/android/chrome_java_sources.gni
+++ b/chrome/android/chrome_java_sources.gni
@@ -477,6 +477,8 @@
   "java/src/org/chromium/chrome/browser/customtabs/features/CustomTabNavigationBarController.java",
   "java/src/org/chromium/chrome/browser/customtabs/features/ImmersiveModeController.java",
   "java/src/org/chromium/chrome/browser/customtabs/features/TabInteractionRecorder.java",
+  "java/src/org/chromium/chrome/browser/customtabs/features/branding/BrandingController.java",
+  "java/src/org/chromium/chrome/browser/customtabs/features/branding/ToolbarBrandingDelegate.java",
   "java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabBrowserControlsVisibilityDelegate.java",
   "java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java",
   "java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbarAnimationDelegate.java",
diff --git a/chrome/android/chrome_junit_test_java_sources.gni b/chrome/android/chrome_junit_test_java_sources.gni
index 6fd5bff0..047238e 100644
--- a/chrome/android/chrome_junit_test_java_sources.gni
+++ b/chrome/android/chrome_junit_test_java_sources.gni
@@ -102,6 +102,7 @@
   "junit/src/org/chromium/chrome/browser/customtabs/content/CustomTabActivityTabControllerUnitTest.java",
   "junit/src/org/chromium/chrome/browser/customtabs/content/CustomTabActivityUrlLoadingTest.java",
   "junit/src/org/chromium/chrome/browser/customtabs/features/ImmersiveModeControllerTest.java",
+  "junit/src/org/chromium/chrome/browser/customtabs/features/branding/BrandingControllerUnitTest.java",
   "junit/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbarUnitTest.java",
   "junit/src/org/chromium/chrome/browser/customtabs/shadows/ShadowExternalNavigationDelegateImpl.java",
   "junit/src/org/chromium/chrome/browser/directactions/FindInPageDirectActionHandlerTest.java",
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
index 170f29866..75699f7 100644
--- a/chrome/android/java/res/values/dimens.xml
+++ b/chrome/android/java/res/values/dimens.xml
@@ -291,6 +291,7 @@
     <dimen name="custom_tabs_shadow_offset">4dp</dimen>
     <dimen name="custom_tabs_outline_width">1dp</dimen>
     <dimen name="custom_tabs_default_corner_radius">16dp</dimen>
+    <dimen name="custom_tabs_actionmode_offset">32dp</dimen>
 
     <dimen name="custom_tabs_menu_footer_icon_size">16dp</dimen>
     <dimen name="custom_tabs_menu_footer_margin_horizontal">8dp</dimen>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
index 4129fd1..089803a 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeActionModeHandler.java
@@ -62,14 +62,16 @@
      * @param searchCallback Callback to run when search action is selected in the action mode.
      * @param shareDelegateSupplier The {@link Supplier} of the {@link ShareDelegate} that will be
      *        notified when a share action is performed.
+     * @param canDrawOutsideScreen Whether floating action bar can be drawn outside the screen.
      */
     public ChromeActionModeHandler(ActivityTabProvider activityTabProvider,
             Consumer<Boolean> actionBarObserver, Callback<String> searchCallback,
-            Supplier<ShareDelegate> shareDelegateSupplier) {
+            Supplier<ShareDelegate> shareDelegateSupplier, boolean canDrawOutsideScreen) {
         mInitWebContentsObserver = (webContents) -> {
             SelectionPopupController.fromWebContents(webContents)
-                    .setActionModeCallback(new ActionModeCallback(mActiveTab, webContents,
-                            actionBarObserver, searchCallback, shareDelegateSupplier));
+                    .setActionModeCallback(
+                            new ActionModeCallback(mActiveTab, webContents, actionBarObserver,
+                                    searchCallback, shareDelegateSupplier, canDrawOutsideScreen));
         };
 
         mActivityTabTabObserver =
@@ -94,7 +96,7 @@
     }
 
     @VisibleForTesting
-    static class ActionModeCallback implements ActionMode.Callback {
+    static class ActionModeCallback extends ActionMode.Callback2 {
         /**
          * Android Intent size limitations prevent sending over a megabyte of data. Limit
          * query lengths to 100kB because other things may be added to the Intent.
@@ -106,17 +108,20 @@
         private final Consumer<Boolean> mActionBarObserver;
         private final Callback<String> mSearchCallback;
         private final Supplier<ShareDelegate> mShareDelegateSupplier;
+        private final boolean mCanDrawOutsideScreen;
 
         // Used for recording UMA histograms.
         private long mContextMenuStartTime;
 
         ActionModeCallback(Tab tab, WebContents webContents, Consumer<Boolean> observer,
-                Callback<String> searchCallback, Supplier<ShareDelegate> shareDelegateSupplier) {
+                Callback<String> searchCallback, Supplier<ShareDelegate> shareDelegateSupplier,
+                boolean canDrawOutsideScreen) {
             mTab = tab;
             mHelper = getActionModeCallbackHelper(webContents);
             mActionBarObserver = observer;
             mSearchCallback = searchCallback;
             mShareDelegateSupplier = shareDelegateSupplier;
+            mCanDrawOutsideScreen = canDrawOutsideScreen;
         }
 
         @VisibleForTesting
@@ -231,8 +236,24 @@
             notifyContextualActionBarVisibilityChanged(false);
         }
 
+        @Override
+        public void onGetContentRect(ActionMode mode, View view, Rect outRect) {
+            mHelper.onGetContentRect(mode, view, outRect);
+            if (mCanDrawOutsideScreen) {
+                // If the selected text is on the right side near the edge (over 3/4 of the screen),
+                // move it closer to the center to avoid the action mode being cut off.
+                int quarter = view.getWidth() / 4;
+                if (outRect.right - quarter * 3 > 0) {
+                    int xoffset = quarter
+                            + view.getResources().getDimensionPixelSize(
+                                    R.dimen.custom_tabs_actionmode_offset);
+                    outRect.offset(-xoffset, 0);
+                }
+            }
+        }
+
         private void notifyContextualActionBarVisibilityChanged(boolean show) {
-            if (!mHelper.supportsFloatingActionMode()) mActionBarObserver.accept(show);
+            mActionBarObserver.accept(show);
         }
 
         private Set<String> getPackageNames(List<ResolveInfo> list) {
@@ -247,11 +268,7 @@
         }
 
         private void recordUserAction() {
-            if (mHelper.supportsFloatingActionMode()) {
-                RecordUserAction.record("MobileActionBarShown.Floating");
-            } else {
-                RecordUserAction.record("MobileActionBarShown.Toolbar");
-            }
+            RecordUserAction.record("MobileActionBarShown.Floating");
         }
 
         private static String sanitizeTextForShare(String text) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
index 628916e..1f3b894f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/app/flags/ChromeCachedFlags.java
@@ -73,6 +73,7 @@
                 add(ChromeFeatureList.sAnonymousUpdateChecks);
                 add(ChromeFeatureList.sAppMenuMobileSiteOption);
                 add(ChromeFeatureList.sBackGestureRefactorAndroid);
+                add(ChromeFeatureList.sCctBrandTransparency);
                 add(ChromeFeatureList.sCctIncognito);
                 add(ChromeFeatureList.sCctIncognitoAvailableToThirdParty);
                 add(ChromeFeatureList.sCctRemoveRemoteViewIds);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
index f549f45..398fee2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorView.java
@@ -44,11 +44,8 @@
 public class CompositorView
         extends FrameLayout implements CompositorSurfaceManager.SurfaceManagerCallbackTarget,
                                        WindowAndroid.SelectionHandlesObserver {
-    private static final String TAG = "CompositorView";
-
     // Cache objects that should not be created every frame
     private final Rect mCacheAppRect = new Rect();
-    private final int[] mCacheViewPosition = new int[2];
 
     private CompositorSurfaceManager mCompositorSurfaceManager;
     private boolean mOverlayVideoEnabled;
@@ -66,7 +63,6 @@
     private ResourceManager mResourceManager;
 
     // Lazily populated as it is needed.
-    private View mRootActivityView;
     private WindowAndroid mWindowAndroid;
     private TabContentManager mTabContentManager;
 
@@ -633,9 +629,8 @@
      * Converts the layout into compositor layers. This is to be called on every frame the layout
      * is changing.
      * @param provider               Provides the layout to be rendered.
-     * @param forRotation            Whether or not this is a special draw during a rotation.
      */
-    public void finalizeLayers(final LayoutProvider provider, boolean forRotation) {
+    public void finalizeLayers(final LayoutProvider provider) {
         TraceEvent.begin("CompositorView:finalizeLayers");
         Layout layout = provider.getActiveLayout();
         if (layout == null || mNativeCompositorView == 0) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
index bf4611c..59cd4b24 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
@@ -97,6 +97,7 @@
                    ChromeAccessibilityUtil.Observer, TabObscuringHandler.Observer,
                    ViewGroup.OnHierarchyChangeListener {
     private static final long SYSTEM_UI_VIEWPORT_UPDATE_DELAY_MS = 500;
+    private Runnable mSetBackgroundRunnable;
 
     /**
      * Initializer interface used to decouple initialization from the class that owns
@@ -119,7 +120,7 @@
                 ViewGroup contentContainer, ControlContainer controlContainer);
     }
 
-    private ObserverList<TouchEventObserver> mTouchEventObservers = new ObserverList<>();
+    private final ObserverList<TouchEventObserver> mTouchEventObservers = new ObserverList<>();
 
     private EventOffsetHandler mEventOffsetHandler;
     private boolean mIsKeyboardShowing;
@@ -174,7 +175,6 @@
     private final Rect mCacheRect = new Rect();
     private final Point mCachePoint = new Point();
 
-    // If we've drawn at least one frame.
     private boolean mHasDrawnOnce;
 
     private boolean mIsInVr;
@@ -183,7 +183,7 @@
     private boolean mInGesture;
     private boolean mContentViewScrolling;
     private ApplicationViewportInsetSupplier mApplicationBottomInsetSupplier;
-    private Callback<Integer> mBottomInsetObserver = (inset) -> updateViewportSize();
+    private final Callback<Integer> mBottomInsetObserver = (inset) -> updateViewportSize();
 
     /**
      * Tracks whether geometrychange event is fired for the active tab when the keyboard
@@ -194,9 +194,9 @@
 
     private OnscreenContentProvider mOnscreenContentProvider;
 
-    private Set<Runnable> mOnCompositorLayoutCallbacks = new HashSet<>();
-    private Set<Runnable> mDidSwapFrameCallbacks = new HashSet<>();
-    private Set<Runnable> mDidSwapBuffersCallbacks = new HashSet<>();
+    private final Set<Runnable> mOnCompositorLayoutCallbacks = new HashSet<>();
+    private final Set<Runnable> mDidSwapFrameCallbacks = new HashSet<>();
+    private final Set<Runnable> mDidSwapBuffersCallbacks = new HashSet<>();
 
     /**
      * Last MotionEvent dispatched to this object for a currently active gesture. If there is no
@@ -346,28 +346,25 @@
             }
         };
 
-        addOnLayoutChangeListener(new OnLayoutChangeListener() {
-            @Override
-            public void onLayoutChange(View v, int left, int top, int right, int bottom,
-                    int oldLeft, int oldTop, int oldRight, int oldBottom) {
-                Tab tab = getCurrentTab();
-                // Set the size of NTP if we're in the attached state as it may have not been sized
-                // properly when initializing tab. See the comment in #initializeTab() for why.
-                if (tab != null && tab.isNativePage() && isAttachedToWindow(tab.getView())) {
-                    Point viewportSize = getViewportSize();
-                    setSize(tab.getWebContents(), tab.getView(), viewportSize.x, viewportSize.y);
-                }
-                onViewportChanged();
+        addOnLayoutChangeListener((v, left, top, right, bottom, oldLeft, oldTop, oldRight,
+                                          oldBottom) -> {
+            Tab tab = getCurrentTab();
+            // Set the size of NTP if we're in the attached state as it may have not been sized
+            // properly when initializing tab. See the comment in #initializeTab() for why.
+            if (tab != null && tab.isNativePage() && isAttachedToWindow(tab.getView())) {
+                Point viewportSize = getViewportSize();
+                setSize(tab.getWebContents(), tab.getView(), viewportSize.x, viewportSize.y);
+            }
+            onViewportChanged();
 
-                // If there's an event that needs to occur after the keyboard is hidden, post
-                // it as a delayed event.  Otherwise this happens in the midst of the
-                // ContentView's relayout, which causes the ContentView to relayout on top of the
-                // stack view.  The 30ms is arbitrary, hoping to let the view get one repaint
-                // in so the full page is shown.
-                if (mPostHideKeyboardTask != null) {
-                    new Handler().postDelayed(mPostHideKeyboardTask, 30);
-                    mPostHideKeyboardTask = null;
-                }
+            // If there's an event that needs to occur after the keyboard is hidden, post
+            // it as a delayed event.  Otherwise this happens in the midst of the
+            // ContentView's relayout, which causes the ContentView to relayout on top of the
+            // stack view.  The 30ms is arbitrary, hoping to let the view get one repaint
+            // in so the full page is shown.
+            if (mPostHideKeyboardTask != null) {
+                new Handler().postDelayed(mPostHideKeyboardTask, 30);
+                mPostHideKeyboardTask = null;
             }
         });
 
@@ -376,12 +373,7 @@
         addView(mCompositorView, 0,
                 new FrameLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
 
-        setOnSystemUiVisibilityChangeListener(new OnSystemUiVisibilityChangeListener() {
-            @Override
-            public void onSystemUiVisibilityChange(int visibility) {
-                handleSystemUiVisibilityChange();
-            }
-        });
+        setOnSystemUiVisibilityChangeListener(visibility -> handleSystemUiVisibilityChange());
         handleSystemUiVisibilityChange();
 
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
@@ -485,6 +477,18 @@
             loader.registerResource(
                     R.id.control_container, mControlContainer.getToolbarResourceAdapter());
         }
+
+        mSetBackgroundRunnable = () -> {
+            // Wait until the second frame to turn off the placeholder background for the
+            // CompositorView and the tab strip, to ensure the compositor frame has been drawn.
+            final ViewGroup controlContainerVG = (ViewGroup) mControlContainer;
+            mCompositorView.setBackgroundResource(0);
+            if (controlContainerVG != null) {
+                controlContainerVG.setBackgroundResource(0);
+            }
+
+            mSetBackgroundRunnable = null;
+        };
     }
 
     /**
@@ -739,7 +743,7 @@
         return currentTab;
     }
 
-    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    @VisibleForTesting
     ViewGroup getContentView() {
         Tab tab = getCurrentTab();
         return tab != null ? tab.getContentView() : null;
@@ -1067,7 +1071,7 @@
         TraceEvent.begin("CompositorViewHolder:layout");
         if (mLayoutManager != null) {
             mLayoutManager.onUpdate();
-            mCompositorView.finalizeLayers(mLayoutManager, false);
+            mCompositorView.finalizeLayers(mLayoutManager);
         }
 
         mDidSwapFrameCallbacks.addAll(mOnCompositorLayoutCallbacks);
@@ -1136,19 +1140,8 @@
     public void didSwapFrame(int pendingFrameCount) {
         TraceEvent.instant("didSwapFrame");
 
-        // Wait until the second frame to turn off the placeholder background for the CompositorView
-        // and the tab strip, to ensure the compositor frame has been drawn.
-        final ViewGroup controlContainer = (ViewGroup) mControlContainer;
-        if (mHasDrawnOnce) {
-            post(new Runnable() {
-                @Override
-                public void run() {
-                    mCompositorView.setBackgroundResource(0);
-                    if (controlContainer != null) {
-                        controlContainer.setBackgroundResource(0);
-                    }
-                }
-            });
+        if (mHasDrawnOnce && mSetBackgroundRunnable != null) {
+            post(mSetBackgroundRunnable);
         }
 
         mHasDrawnOnce = true;
@@ -1196,9 +1189,6 @@
     }
 
     @Override
-    public void loadPersitentTextureDataIfNeeded() {}
-
-    @Override
     protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
         super.onMeasure(widthMeasureSpec, heightMeasureSpec);
         mIsKeyboardShowing =
@@ -1554,7 +1544,7 @@
         if (enabled && (mNodeProvider == null)) {
             mAccessibilityView = new View(getContext()) {
                 boolean mIsCheckingForVirtualViews;
-                List<VirtualView> mVirtualViews = new ArrayList<>();
+                final List<VirtualView> mVirtualViews = new ArrayList<>();
 
                 /**
                  * Checks if there are any a11y focusable VirtualViews. If there are, set the view
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutRenderHost.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutRenderHost.java
index e2d46a8..16c326c 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutRenderHost.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutRenderHost.java
@@ -53,11 +53,6 @@
     void pushDebugRect(Rect rect, int color);
 
     /**
-     * Loads the persistent textures if they are not loaded already.
-     */
-    void loadPersitentTextureDataIfNeeded();
-
-    /**
      * @return The {@link ResourceManager}.
      */
     ResourceManager getResourceManager();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
index 1ecdac0f..1b6054e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabRootUiCoordinator.java
@@ -8,6 +8,7 @@
 import android.view.View;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AppCompatActivity;
 
 import org.chromium.base.jank_tracker.DummyJankTracker;
@@ -29,10 +30,13 @@
 import org.chromium.chrome.browser.compositor.layouts.content.TabContentManager;
 import org.chromium.chrome.browser.contextualsearch.ContextualSearchManager;
 import org.chromium.chrome.browser.customtabs.content.CustomTabActivityNavigationController;
+import org.chromium.chrome.browser.customtabs.features.branding.BrandingController;
 import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar;
 import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbarCoordinator;
 import org.chromium.chrome.browser.feature_engagement.TrackerFactory;
 import org.chromium.chrome.browser.flags.ActivityType;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.fullscreen.BrowserControlsManager;
 import org.chromium.chrome.browser.fullscreen.FullscreenManager;
 import org.chromium.chrome.browser.incognito.reauth.IncognitoReauthCoordinatorFactory;
@@ -65,6 +69,10 @@
 
     private CustomTabHeightStrategy mCustomTabHeightStrategy;
 
+    // Created only when ChromeFeatureList.CctBrandTransparency is enabled.
+    // TODO(https://crbug.com/1343056): Make it part of the ctor.
+    private @Nullable BrandingController mBrandingController;
+
     /**
      * Construct a new BaseCustomTabRootUiCoordinator.
      * @param activity The activity whose UI the coordinator is responsible for.
@@ -153,6 +161,12 @@
         mToolbarCoordinator = customTabToolbarCoordinator;
         mNavigationController = customTabNavigationController;
         mIntentDataProvider = intentDataProvider;
+
+        if (CachedFeatureFlags.isEnabled(ChromeFeatureList.CCT_BRAND_TRANSPARENCY)
+                && intentDataProvider.get().getActivityType() == ActivityType.CUSTOM_TAB
+                && !intentDataProvider.get().isIncognito()) {
+            mBrandingController = new BrandingController();
+        }
     }
 
     @Override
@@ -166,6 +180,9 @@
         View coordinator = mActivity.findViewById(R.id.coordinator);
         mCustomTabHeightStrategy.onToolbarInitialized(
                 coordinator, toolbar, mIntentDataProvider.get().getPartialTabToolbarCornerRadius());
+        if (mBrandingController != null) {
+            mBrandingController.onToolbarInitialized(toolbar.getBrandingDelegate());
+        }
         toolbar.setCloseButtonPosition(mIntentDataProvider.get().getCloseButtonPosition());
     }
 
@@ -251,6 +268,21 @@
         return super.getAppRectInWindow();
     }
 
+    @Override
+    protected boolean canDrawOutsideScreen() {
+        return mCustomTabHeightStrategy.canDrawOutsideScreen();
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+
+        if (mBrandingController != null) {
+            mBrandingController.destroy();
+            mBrandingController = null;
+        }
+    }
+
     /**
      * Delegates changing the background color to the {@link CustomTabHeightStrategy}.
      * Returns {@code true} if any action were taken, {@code false} if not.
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabHeightStrategy.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabHeightStrategy.java
index ee5003b..aec279e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabHeightStrategy.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/CustomTabHeightStrategy.java
@@ -67,4 +67,11 @@
      * @param scrimFraction Scrim fraction.
      */
     public void setScrimFraction(float scrimFraction) {}
+
+    /**
+     * {@see org.chromium.chrome.browser.ui.RootUiCoordinator#canDrawOutsideScreen()}
+     */
+    public boolean canDrawOutsideScreen() {
+        return false;
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PartialCustomTabHeightStrategy.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PartialCustomTabHeightStrategy.java
index 926c7f7..08dec2f 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PartialCustomTabHeightStrategy.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PartialCustomTabHeightStrategy.java
@@ -874,6 +874,11 @@
         mAnimator.start();
     }
 
+    @Override
+    public boolean canDrawOutsideScreen() {
+        return !isFullHeight();
+    }
+
     @VisibleForTesting
     void setMockViewForTesting(LinearLayout navbar, ImageView spinnerView,
             CircularProgressDrawable spinner, View toolbar, View toolbarCoordinator) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/branding/BrandingController.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/branding/BrandingController.java
new file mode 100644
index 0000000..de3c208
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/branding/BrandingController.java
@@ -0,0 +1,77 @@
+// Copyright 2022 The Chromium 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.customtabs.features.branding;
+
+import android.os.SystemClock;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+
+import org.chromium.base.CallbackController;
+import org.chromium.base.task.PostTask;
+import org.chromium.content_public.browser.UiThreadTaskTraits;
+
+/**
+ * Controls the strategy to start branding, and the duration to show branding.
+ */
+public class BrandingController {
+    // The maximum time allowed from CCT Toolbar initialized until it should show the URL and title.
+    @VisibleForTesting
+    static final int TOTAL_BRANDING_DELAY_MS = 1800;
+
+    private final CallbackController mCallbackController = new CallbackController();
+
+    private ToolbarBrandingDelegate mToolbarBrandingDelegate;
+    private long mToolbarInitializedTime;
+    private boolean mIsBrandingShowing;
+
+    /**
+     * Register the {@link ToolbarBrandingDelegate} from CCT Toolbar.
+     * @param delegate {@link ToolbarBrandingDelegate} instance from CCT Toolbar.
+     */
+    public void onToolbarInitialized(@NonNull ToolbarBrandingDelegate delegate) {
+        mToolbarInitializedTime = SystemClock.elapsedRealtime();
+        mToolbarBrandingDelegate = delegate;
+
+        // Set location bar to empty as controller is waiting for picking the strategy to use.
+        // This should not cause any UI jank even if a decision is made immediately, as
+        // state set in CustomTabToolbar#showEmptyLocationBar should be unset in any newer state.
+        // TODO(https://crrev.com/c/3770803): Provide more context in java doc when this state
+        // becomes more useful.
+        mToolbarBrandingDelegate.showEmptyLocationBar();
+
+        maybeMakeBrandingDecision();
+    }
+
+    // Make a collective decision with different signal collected from controller.
+    private void maybeMakeBrandingDecision() {
+        long delay = SystemClock.elapsedRealtime() - mToolbarInitializedTime;
+        long duration = TOTAL_BRANDING_DELAY_MS - delay;
+
+        showToolbarBranding(duration);
+    }
+
+    private void showToolbarBranding(long durationMs) {
+        mIsBrandingShowing = true;
+        mToolbarBrandingDelegate.showBrandingLocationBar();
+
+        Runnable hideToolbarBranding = () -> {
+            mIsBrandingShowing = false;
+            mToolbarBrandingDelegate.showRegularToolbar();
+        };
+        PostTask.postDelayedTask(UiThreadTaskTraits.DEFAULT,
+                mCallbackController.makeCancelable(hideToolbarBranding), durationMs);
+    }
+
+    /** Destroy this instance an cancel all scheduled callbacks */
+    public void destroy() {
+        mCallbackController.destroy();
+    }
+
+    @VisibleForTesting
+    public boolean getIsBrandingShowing() {
+        return mIsBrandingShowing;
+    }
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/branding/ToolbarBrandingDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/branding/ToolbarBrandingDelegate.java
new file mode 100644
index 0000000..38cd1d8
--- /dev/null
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/branding/ToolbarBrandingDelegate.java
@@ -0,0 +1,22 @@
+// Copyright 2022 The Chromium 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.customtabs.features.branding;
+
+/** Delegate class for Toolbar strategy to control location bar UI elements. */
+public interface ToolbarBrandingDelegate {
+    /** Show the branding information on location bar, with start & end transition. */
+    void showBrandingLocationBar();
+
+    /**
+     * Show an empty location bar. Used when waiting for whether to show branding.
+     *
+     * The implementation of this method should be fast so that it will not cause any UI janks when
+     * switching state quickly into either branding location bar or regular toolbar.
+     * */
+    void showEmptyLocationBar();
+
+    /** Show the regular location with URL and Title, with start transition. */
+    void showRegularToolbar();
+}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java
index f4d4cda..23bd9f7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java
@@ -52,6 +52,9 @@
 import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider.CloseButtonPosition;
 import org.chromium.chrome.browser.compositor.bottombar.ephemeraltab.EphemeralTabCoordinator;
 import org.chromium.chrome.browser.crash.ChromePureJavaExceptionReporter;
+import org.chromium.chrome.browser.customtabs.features.branding.ToolbarBrandingDelegate;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.omnibox.LocationBar;
 import org.chromium.chrome.browser.omnibox.LocationBarDataProvider;
 import org.chromium.chrome.browser.omnibox.OmniboxStub;
@@ -317,7 +320,10 @@
     public void setHandleStrategy(HandleStrategy strategy) {
         mHandleStrategy = strategy;
         mHandleStrategy.setCloseClickHandler(mCloseButton::callOnClick);
-        mLocationBar.showBranding();
+
+        if (!CachedFeatureFlags.isEnabled(ChromeFeatureList.CCT_BRAND_TRANSPARENCY)) {
+            mLocationBar.showBranding();
+        }
     }
 
     /**
@@ -566,6 +572,13 @@
         return mLocationBar;
     }
 
+    /**
+     * Return the delegate used to control branding UI changes on the location bar.
+     */
+    public ToolbarBrandingDelegate getBrandingDelegate() {
+        return mLocationBar;
+    }
+
     public void setHandleBackground(Drawable handleDrawable) {
         mHandleDrawable = handleDrawable;
         setHandleViewBackgroundColor(getBackground().getColor());
@@ -614,13 +627,14 @@
     @VisibleForTesting
     class CustomTabLocationBar
             implements LocationBar, UrlBar.UrlBarDelegate, LocationBarDataProvider.Observer,
-                       View.OnLongClickListener {
+                       View.OnLongClickListener, ToolbarBrandingDelegate {
         private static final int TITLE_ANIM_DELAY_MS = 800;
         private static final int BRANDING_DELAY_MS = 1800;
 
         private static final int STATE_DOMAIN_ONLY = 0;
         private static final int STATE_TITLE_ONLY = 1;
         private static final int STATE_DOMAIN_AND_TITLE = 2;
+        private static final int STATE_EMPTY = 3; // Not used as a regular state.
         private int mState = STATE_DOMAIN_ONLY;
 
         // Used for After branding runnables
@@ -652,6 +666,8 @@
         private boolean mCurrentlyShowingBranding;
         private boolean mBrandingStarted;
         private CallbackController mCallbackController = new CallbackController();
+        // Cached the state before branding start so we can reset to the state when its done.
+        private @Nullable Integer mPreBandingState;
 
         public View getLayout() {
             return mLocationBarFrameLayout;
@@ -665,6 +681,7 @@
             return mState == STATE_TITLE_ONLY;
         }
 
+        // TODO(https://crbug.com/1343056): Remove this method after feature default enabled.
         public void showBranding() {
             mBrandingStarted = true;
             mCurrentlyShowingBranding = true;
@@ -688,6 +705,64 @@
             PostTask.postDelayedTask(UiThreadTaskTraits.DEFAULT, hideBranding, BRANDING_DELAY_MS);
         }
 
+        @Override
+        public void showBrandingLocationBar() {
+            mBrandingStarted = true;
+            // Store the title and domain setting, if the empty state is not in used. Otherwise
+            // regular state has already been stored.
+            if (!mCurrentlyShowingBranding) {
+                mCurrentlyShowingBranding = true;
+                cacheRegularState();
+            }
+
+            // We use title bar to show the branding text and hide the url bar so the text will
+            // align with the security icon.
+            // TODO(https://crbug.com/1338307): Use Url bar to show branding information.
+            setShowTitle(true);
+            setUrlBarHidden(true);
+            showBrandingIconAndText();
+        }
+
+        @Override
+        public void showEmptyLocationBar() {
+            mBrandingStarted = true;
+            mCurrentlyShowingBranding = true;
+
+            // Force setting the LocationBar element visibility, while cache their state.
+            cacheRegularState();
+
+            mState = STATE_EMPTY;
+            mUrlBar.setVisibility(View.GONE);
+            mTitleBar.setVisibility(View.GONE);
+        }
+
+        @Override
+        public void showRegularToolbar() {
+            mCurrentlyShowingBranding = false;
+            recoverFromRegularState();
+            runAfterBrandingRunnables();
+        }
+
+        private void cacheRegularState() {
+            String assertMsg =
+                    "mPreBandingState already exists! mPreBandingState = " + mPreBandingState;
+            assert mPreBandingState == null : assertMsg;
+
+            mPreBandingState = mState;
+        }
+
+        private void recoverFromRegularState() {
+            assert mPreBandingState != null;
+
+            boolean showTitle = mPreBandingState == STATE_TITLE_ONLY
+                    || mPreBandingState == STATE_DOMAIN_AND_TITLE;
+            boolean hideUrl = mPreBandingState == STATE_TITLE_ONLY;
+            mPreBandingState = null;
+
+            setUrlBarHidden(hideUrl);
+            setShowTitle(showTitle);
+        }
+
         public void onFinishInflate(View container) {
             mUrlBar = (TextView) container.findViewById(R.id.url_bar);
             mUrlBar.setHint("");
@@ -753,6 +828,31 @@
                 mLocationBarModel.notifyUrlChanged();
                 mLocationBarModel.notifySecurityStateChanged();
             } else {
+                if (CachedFeatureFlags.isEnabled(ChromeFeatureList.CCT_BRAND_TRANSPARENCY)) {
+                    if (mState == STATE_EMPTY) {
+                        // If state is empty, that means Location bar is recovering from empty
+                        // location bar to what ever new state it is. We skip the state assertion
+                        // and the end.
+                        if (!hideUrlBar) {
+                            mState = STATE_DOMAIN_ONLY;
+                            mUrlBar.setVisibility(View.VISIBLE);
+                        }
+                        return;
+                    } else if (mState == STATE_TITLE_ONLY && hideUrlBar) {
+                        // Used for empty location bar -> show branding location bar.
+                        // TODO(https://crbug.com/1343056): Remove duplicate code added for the sake
+                        // of fp++ process.
+                        mAnimDelegate.setTitleAnimationEnabled(false);
+                        mUrlBar.setVisibility(View.GONE);
+                        mTitleBar.setVisibility(View.VISIBLE);
+                        LayoutParams lp = (LayoutParams) mTitleBar.getLayoutParams();
+                        lp.bottomMargin = 0;
+                        mTitleBar.setLayoutParams(lp);
+                        mTitleBar.setTextSize(TypedValue.COMPLEX_UNIT_PX,
+                                getResources().getDimension(R.dimen.location_bar_url_text_size));
+                        return;
+                    }
+                }
                 assert false : "Unreached state";
             }
         }
@@ -991,7 +1091,12 @@
         @Override
         public void setShowTitle(boolean showTitle) {
             if (showTitle) {
-                mState = STATE_DOMAIN_AND_TITLE;
+                if (mState == STATE_EMPTY) {
+                    // Only happened when CCT_BRAND_TRANSPARENCY enabled.
+                    mState = STATE_TITLE_ONLY;
+                } else {
+                    mState = STATE_DOMAIN_AND_TITLE;
+                }
                 mAnimDelegate.prepareTitleAnim(mUrlBar, mTitleBar);
             } else {
                 mState = STATE_DOMAIN_ONLY;
@@ -1057,5 +1162,10 @@
         void setAnimDelegateForTesting(CustomTabToolbarAnimationDelegate animDelegate) {
             mAnimDelegate = animDelegate;
         }
+
+        @VisibleForTesting
+        Runnable[] getAfterBrandingRunnablesForTesting() {
+            return mAfterBrandingRunnables;
+        }
     }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java
index cfa337e..7360c3b 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbar.java
@@ -36,7 +36,10 @@
 import androidx.core.view.inputmethod.EditorInfoCompat;
 
 import org.chromium.base.ThreadUtils;
+import org.chromium.base.supplier.ObservableSupplier;
+import org.chromium.base.supplier.ObservableSupplierImpl;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.back_press.BackPressManager;
 import org.chromium.chrome.browser.tab.EmptyTabObserver;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.tab.TabObserver;
@@ -46,6 +49,7 @@
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
 import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
 import org.chromium.components.browser_ui.styles.SemanticColorUtils;
+import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
 import org.chromium.components.browser_ui.widget.text.VerticallyFixedEditText;
 import org.chromium.components.find_in_page.FindInPageBridge;
 import org.chromium.components.find_in_page.FindMatchRectsDetails;
@@ -58,7 +62,7 @@
 import java.lang.annotation.RetentionPolicy;
 
 /** A toolbar providing find in page functionality. */
-public class FindToolbar extends LinearLayout {
+public class FindToolbar extends LinearLayout implements BackPressHandler {
     private static final String TAG = "FindInPage";
 
     private static final long ACCESSIBLE_ANNOUNCEMENT_DELAY_MILLIS = 500;
@@ -109,6 +113,8 @@
     private Handler mHandler = new Handler();
     private Runnable mAccessibleAnnouncementRunnable;
     private boolean mAccessibilityDidActivateResult;
+    private final ObservableSupplierImpl<Boolean> mBackPressStateSupplier =
+            new ObservableSupplierImpl<>();
 
     /** Subclasses EditText in order to intercept BACK key presses. */
     @SuppressLint("Instantiatable")
@@ -117,7 +123,9 @@
 
         public FindQuery(Context context, AttributeSet attrs) {
             super(context, attrs);
-            setOnKeyListener(this);
+            if (!BackPressManager.isEnabled()) {
+                setOnKeyListener(this);
+            }
         }
 
         void setFindToolbar(FindToolbar findToolbar) {
@@ -367,7 +375,17 @@
         mDivider = findViewById(R.id.find_separator);
     }
 
-    // Overriden by subclasses.
+    @Override
+    public void handleBackPress() {
+        deactivate();
+    }
+
+    @Override
+    public ObservableSupplier<Boolean> getHandleBackPressChangedSupplier() {
+        return mBackPressStateSupplier;
+    }
+
+    // Overridden by subclasses.
     protected void findResultSelected(Rect rect) {}
 
     private void hideKeyboardAndStartFinding(boolean forward) {
@@ -661,6 +679,7 @@
 
     private void setCurrentState(@FindLocationBarState int state) {
         mCurrentState = state;
+        mBackPressStateSupplier.set(mCurrentState == FindLocationBarState.SHOWN);
 
         // Notify the observers if we hit the transition states.
         if (mObserver != null) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java
index 55275b2e1..7d5f3fc 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/findinpage/FindToolbarManager.java
@@ -9,7 +9,9 @@
 import android.view.ViewStub;
 
 import org.chromium.base.ObserverList;
+import org.chromium.chrome.browser.back_press.BackPressManager;
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
+import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
 import org.chromium.ui.base.WindowAndroid;
 
 /**
@@ -22,6 +24,7 @@
     private final WindowAndroid mWindowAndroid;
     private final ActionMode.Callback mCallback;
     private final ObserverList<FindToolbarObserver> mObservers;
+    private final BackPressManager mBackPressManager;
 
     /**
      * Creates an instance of a {@link FindToolbarManager}.
@@ -30,13 +33,16 @@
      * @param windowAndroid The {@link WindowAndroid} for the containing activity.
      * @param callback The ActionMode.Callback that will be used when selection occurs on the
      *         {@link FindToolbar}.
+     * @param backPressManager The {@link BackPressManager} for intercepting back press.
      */
     public FindToolbarManager(ViewStub findToolbarStub, TabModelSelector tabModelSelector,
-            WindowAndroid windowAndroid, ActionMode.Callback callback) {
+            WindowAndroid windowAndroid, ActionMode.Callback callback,
+            BackPressManager backPressManager) {
         mFindToolbarStub = findToolbarStub;
         mTabModelSelector = tabModelSelector;
         mWindowAndroid = windowAndroid;
         mCallback = callback;
+        mBackPressManager = backPressManager;
         mObservers = new ObserverList<FindToolbarObserver>();
     }
 
@@ -91,7 +97,12 @@
                 }
             });
         }
-
+        if (mBackPressManager != null && BackPressManager.isEnabled()) {
+            if (mBackPressManager.has(BackPressHandler.Type.FIND_TOOLBAR)) {
+                mBackPressManager.removeHandler(BackPressHandler.Type.FIND_TOOLBAR);
+            }
+            mBackPressManager.addHandler(mFindToolbar, BackPressHandler.Type.FIND_TOOLBAR);
+        }
         mFindToolbar.activate();
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/payments/handler/PaymentHandlerActionModeCallback.java b/chrome/android/java/src/org/chromium/chrome/browser/payments/handler/PaymentHandlerActionModeCallback.java
index a3038f5..6c29e75 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/payments/handler/PaymentHandlerActionModeCallback.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/payments/handler/PaymentHandlerActionModeCallback.java
@@ -4,9 +4,11 @@
 
 package org.chromium.chrome.browser.payments.handler;
 
+import android.graphics.Rect;
 import android.view.ActionMode;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.view.View;
 
 import org.chromium.content_public.browser.ActionModeCallbackHelper;
 import org.chromium.content_public.browser.SelectionPopupController;
@@ -15,7 +17,7 @@
 /**
  * A class that handles selection action mode for Payment Handler.
  */
-public class PaymentHandlerActionModeCallback implements ActionMode.Callback {
+public class PaymentHandlerActionModeCallback extends ActionMode.Callback2 {
     private final ActionModeCallbackHelper mHelper;
 
     /**
@@ -49,4 +51,9 @@
     public void onDestroyActionMode(ActionMode mode) {
         mHelper.onDestroyActionMode();
     }
+
+    @Override
+    public void onGetContentRect(ActionMode mode, View view, Rect outRect) {
+        mHelper.onGetContentRect(mode, view, outRect);
+    }
 }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
index d0467e17..d2bc801 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ui/RootUiCoordinator.java
@@ -689,7 +689,7 @@
                     mTabModelSelectorSupplier.get().openNewTab(
                             generateUrlParamsForSearch(tab, query),
                             TabLaunchType.FROM_LONGPRESS_FOREGROUND, tab, tab.isIncognito());
-                }, mShareDelegateSupplier);
+                }, mShareDelegateSupplier, canDrawOutsideScreen());
         mVrModeObserver = new VrModeObserver() {
             @Override
             public void onEnterVr() {
@@ -1244,6 +1244,13 @@
         return appRect;
     }
 
+    /**
+     * Whether UI like popup can be drawn outside the screen. {@code false} by default.
+     */
+    protected boolean canDrawOutsideScreen() {
+        return false;
+    }
+
     private void hideAppMenu() {
         if (mAppMenuCoordinator != null) mAppMenuCoordinator.getAppMenuHandler().hideAppMenu();
     }
@@ -1256,7 +1263,8 @@
             stubId = R.id.find_toolbar_tablet_stub;
         }
         mFindToolbarManager = new FindToolbarManager(mActivity.findViewById(stubId),
-                mTabModelSelectorSupplier.get(), mWindowAndroid, mActionModeControllerCallback);
+                mTabModelSelectorSupplier.get(), mWindowAndroid, mActionModeControllerCallback,
+                mBackPressManager);
 
         mFindToolbarObserver = new FindToolbarObserver() {
             @Override
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java
index 1960dcd..e4e3061 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/CompositorVisibilityTest.java
@@ -62,9 +62,6 @@
         public void pushDebugRect(Rect rect, int color) {}
 
         @Override
-        public void loadPersitentTextureDataIfNeeded() {}
-
-        @Override
         public ResourceManager getResourceManager() {
             return null;
         }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java
index c7207769..571818f 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/compositor/layouts/MockLayoutHost.java
@@ -108,9 +108,6 @@
     public void pushDebugRect(Rect rect, int color) {}
 
     @Override
-    public void loadPersitentTextureDataIfNeeded() {}
-
-    @Override
     public void setContentOverlayVisibility(boolean visible, boolean canBeFocusable) {}
 
     @Override
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/findinpage/FindTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/findinpage/FindTest.java
index ccb79cc..ad131e6 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/findinpage/FindTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/findinpage/FindTest.java
@@ -16,6 +16,7 @@
 import android.widget.EditText;
 import android.widget.TextView;
 
+import androidx.test.espresso.Espresso;
 import androidx.test.filters.MediumTest;
 import androidx.test.filters.SmallTest;
 
@@ -35,6 +36,7 @@
 import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.base.test.util.Feature;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
@@ -42,6 +44,8 @@
 import org.chromium.chrome.test.batch.BlankCTATabInitialStateRule;
 import org.chromium.chrome.test.util.FullscreenTestUtils;
 import org.chromium.chrome.test.util.MenuUtils;
+import org.chromium.chrome.test.util.browser.Features.DisableFeatures;
+import org.chromium.chrome.test.util.browser.Features.EnableFeatures;
 import org.chromium.content_public.browser.test.util.KeyUtils;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 import org.chromium.content_public.browser.test.util.TouchCommon;
@@ -409,6 +413,7 @@
     @Test
     @MediumTest
     @Feature({"FindInPage"})
+    @DisableFeatures({ChromeFeatureList.BACK_GESTURE_REFACTOR})
     public void testBackKeyDoesNotDismissFindWhenImeIsPresent() {
         sActivityTestRule.loadUrl(sActivityTestRule.getTestServer().getURL(FILEPATH));
         findInPageFromMenu();
@@ -425,12 +430,36 @@
     }
 
     /**
+     * Same with {@link #testBackKeyDoesNotDismissFindWhenImeIsPresent()}, but with
+     * predictive back gesture enabled.
+     */
+    @Test
+    @MediumTest
+    @Feature({"FindInPage"})
+    @EnableFeatures({ChromeFeatureList.BACK_GESTURE_REFACTOR})
+    public void testBackKeyDoesNotDismissFindWhenImeIsPresent_BackRefactored() {
+        sActivityTestRule.loadUrl(sActivityTestRule.getTestServer().getURL(FILEPATH));
+        findInPageFromMenu();
+        final TextView findQueryText = getFindQueryText();
+        KeyUtils.singleKeyEventView(
+                InstrumentationRegistry.getInstrumentation(), findQueryText, KeyEvent.KEYCODE_A);
+        waitForIME(true);
+        // IME is present at this moment, so IME will consume BACK key.
+        Espresso.pressBack();
+        waitForIME(false);
+        waitForFindInPageVisibility(true);
+        Espresso.pressBack();
+        waitForFindInPageVisibility(false);
+    }
+
+    /**
      * Verify Find in page toolbar is dismissed when device back key is pressed when IME
      * is not present. First back key press itself will dismiss Find in page toolbar.
      */
     @Test
     @MediumTest
     @Feature({"FindInPage"})
+    @DisableFeatures({ChromeFeatureList.BACK_GESTURE_REFACTOR})
     public void testBackKeyDismissesFind() {
         loadTestAndVerifyFindInPage("pitts", "1/7");
         waitForIME(true);
@@ -442,6 +471,24 @@
         waitForFindInPageVisibility(false);
     }
 
+    /**
+     * Same with {@link #testBackKeyDismissesFind()} but with predictive back gesture enabled.
+     */
+    @Test
+    @MediumTest
+    @Feature({"FindInPage"})
+    @EnableFeatures({ChromeFeatureList.BACK_GESTURE_REFACTOR})
+    public void testBackKeyDismissesFind_BackRefactored() {
+        loadTestAndVerifyFindInPage("pitts", "1/7");
+        waitForIME(true);
+        // Hide IME by clicking next button from find tool bar.
+        TouchCommon.singleClickView(
+                sActivityTestRule.getActivity().findViewById(R.id.find_next_button));
+        waitForIME(false);
+        Espresso.pressBack();
+        waitForFindInPageVisibility(false);
+    }
+
     private void waitForIME(final boolean imePresent) {
         // Wait for IME to appear.
         CriteriaHelper.pollUiThread(() -> {
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeHandlerUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeHandlerUnitTest.java
index 8164f35c..016d201 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeHandlerUnitTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/ChromeActionModeHandlerUnitTest.java
@@ -60,7 +60,7 @@
 
     private class TestChromeActionModeCallback extends ChromeActionModeHandler.ActionModeCallback {
         TestChromeActionModeCallback(Tab tab, ActionModeCallbackHelper helper) {
-            super(tab, null, visible -> {}, urlParams -> {}, null);
+            super(tab, null, visible -> {}, urlParams -> {}, null, false);
         }
 
         @Override
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/branding/BrandingControllerUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/branding/BrandingControllerUnitTest.java
new file mode 100644
index 0000000..686c47f
--- /dev/null
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/branding/BrandingControllerUnitTest.java
@@ -0,0 +1,90 @@
+// Copyright 2021 The Chromium 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.customtabs.features.branding;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
+import org.robolectric.annotation.LooperMode.Mode;
+import org.robolectric.shadows.ShadowSystemClock;
+
+import org.chromium.base.task.test.ShadowPostTask;
+import org.chromium.base.test.BaseRobolectricTestRunner;
+
+/**
+ * Tests AMP url handling in the CustomTab Toolbar.
+ */
+@RunWith(BaseRobolectricTestRunner.class)
+@Config(manifest = Config.NONE, shadows = {ShadowSystemClock.class, ShadowPostTask.class})
+@LooperMode(Mode.PAUSED)
+public class BrandingControllerUnitTest {
+    @Rule
+    public MockitoRule mTestRule = MockitoJUnit.rule();
+
+    @Mock
+    ToolbarBrandingDelegate mToolbarBrandingDelegate;
+    @Mock
+    ShadowPostTask.TestImpl mShadowPostTaskImpl;
+
+    @Captor
+    ArgumentCaptor<Runnable> mPostTaskRunnable;
+    @Captor
+    ArgumentCaptor<Long> mPostTaskDelay;
+
+    private BrandingController mBrandingController;
+
+    @Before
+    public void setup() {
+        doNothing()
+                .when(mShadowPostTaskImpl)
+                .postDelayedTask(any(), mPostTaskRunnable.capture(), mPostTaskDelay.capture());
+        ShadowPostTask.setTestImpl(mShadowPostTaskImpl);
+
+        mBrandingController = new BrandingController();
+    }
+
+    @After
+    public void tearDown() {
+        ShadowPostTask.reset();
+        ShadowSystemClock.reset();
+    }
+
+    @Test
+    public void testOnToolbarInitialized_Asap() {
+        mBrandingController.onToolbarInitialized(mToolbarBrandingDelegate);
+
+        verify(mToolbarBrandingDelegate).showEmptyLocationBar();
+        verify(mToolbarBrandingDelegate).showBrandingLocationBar();
+        verify(mToolbarBrandingDelegate, never()).showRegularToolbar();
+
+        // Post task scheduled for show regular location bar.
+        verify(mShadowPostTaskImpl)
+                .postDelayedTask(any(), mPostTaskRunnable.capture(), mPostTaskDelay.capture());
+
+        assertNotNull(mPostTaskRunnable.getValue());
+        assertNotNull(mPostTaskDelay.getValue());
+
+        mPostTaskRunnable.getValue().run();
+        verify(mToolbarBrandingDelegate).showRegularToolbar();
+        assertEquals("Show branding duration is different.",
+                BrandingController.TOTAL_BRANDING_DELAY_MS, mPostTaskDelay.getValue().intValue());
+    }
+}
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbarUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbarUnitTest.java
index 74c07e89..c6fb8fca4 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbarUnitTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbarUnitTest.java
@@ -18,6 +18,7 @@
 import android.view.View;
 import android.widget.TextView;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -38,6 +39,8 @@
 import org.chromium.base.test.BaseRobolectricTestRunner;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar.CustomTabLocationBar;
+import org.chromium.chrome.browser.flags.CachedFeatureFlags;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.toolbar.LocationBarModel;
 import org.chromium.ui.base.TestActivity;
 import org.chromium.url.JUnitTestGURLs;
@@ -59,6 +62,7 @@
     @Mock
     CustomTabToolbarAnimationDelegate mAnimationDelegate;
 
+    private Activity mActivity;
     private CustomTabLocationBar mLocationBar;
     private TextView mTitleBar;
     private TextView mUrlBar;
@@ -78,13 +82,21 @@
                 .when(mLocationBarModel)
                 .getSecurityIconColorStateList();
 
-        Activity activity = Robolectric.buildActivity(TestActivity.class).get();
-        CustomTabToolbar toolbar = (CustomTabToolbar) LayoutInflater.from(activity).inflate(
+        mActivity = Robolectric.buildActivity(TestActivity.class).get();
+        CustomTabToolbar toolbar = (CustomTabToolbar) LayoutInflater.from(mActivity).inflate(
                 R.layout.custom_tabs_toolbar, null, false);
         mLocationBar = (CustomTabLocationBar) toolbar.createLocationBar(
                 mLocationBarModel, mActionModeCallback, () -> null, () -> null);
         mUrlBar = toolbar.findViewById(R.id.url_bar);
         mTitleBar = toolbar.findViewById(R.id.title_bar);
+        mLocationBar.setAnimDelegateForTesting(mAnimationDelegate);
+    }
+
+    @After
+    public void tearDown() {
+        mActivity.finish();
+        ShadowPostTask.reset();
+        CachedFeatureFlags.setForTesting(ChromeFeatureList.CCT_BRAND_TRANSPARENCY, null);
     }
 
     @Test
@@ -102,8 +114,7 @@
 
     @Test
     public void testShowBranding_DomainOnly() {
-        mLocationBar.setAnimDelegateForTesting(mAnimationDelegate);
-
+        assertUrlAndTitleVisible(/*titleVisible=*/false, /*urlVisible=*/true);
         mLocationBar.showBranding();
         ShadowLooper.idleMainLooper();
         verify(mLocationBarModel).notifyTitleChanged();
@@ -123,8 +134,6 @@
 
     @Test
     public void testShowBranding_DomainAndTitle() {
-        mLocationBar.setAnimDelegateForTesting(mAnimationDelegate);
-
         // Set title before the branding starts, so the state is domain and title.
         mLocationBar.setShowTitle(true);
         ShadowLooper.idleMainLooper();
@@ -149,4 +158,72 @@
 
         assertEquals("URL bar is not visible.", mUrlBar.getVisibility(), View.VISIBLE);
     }
+
+    @Test
+    public void testToolbarBrandingDelegateImpl_EmptyToRegular() {
+        CachedFeatureFlags.setForTesting(ChromeFeatureList.CCT_BRAND_TRANSPARENCY, true);
+
+        assertUrlAndTitleVisible(/*titleVisible=*/false, /*urlVisible=*/true);
+        mLocationBar.showEmptyLocationBar();
+        assertUrlAndTitleVisible(/*titleVisible=*/false, /*urlVisible=*/false);
+
+        // Attempt to update title and URL, should noop since location bar is still in empty state.
+        mLocationBar.onTitleChanged();
+        mLocationBar.onUrlChanged();
+        assertEquals("Runnables should queue up since location bar is empty.", 2,
+                postBrandingRunnableCounts());
+
+        mLocationBar.showRegularToolbar();
+        assertUrlAndTitleVisible(/*titleVisible=*/false, /*urlVisible=*/true);
+        assertEquals("Runnables queue should be empty after reset to regular toolbar", 0,
+                postBrandingRunnableCounts());
+    }
+
+    @Test
+    public void testToolbarBrandingDelegateImpl_EmptyToBranding() {
+        CachedFeatureFlags.setForTesting(ChromeFeatureList.CCT_BRAND_TRANSPARENCY, true);
+
+        assertUrlAndTitleVisible(/*titleVisible=*/false, /*urlVisible=*/true);
+        mLocationBar.showEmptyLocationBar();
+        assertUrlAndTitleVisible(/*titleVisible=*/false, /*urlVisible=*/false);
+
+        // Attempt to update title and URL, should noop since location bar is still in empty state.
+        mLocationBar.onTitleChanged();
+        mLocationBar.onUrlChanged();
+        assertEquals("Runnables should queue up since location bar is empty.", 2,
+                postBrandingRunnableCounts());
+
+        mLocationBar.showBrandingLocationBar();
+        assertUrlAndTitleVisible(/*titleVisible=*/true, /*urlVisible=*/false);
+
+        // Attempt to update title and URL,
+        mLocationBar.onTitleChanged();
+        mLocationBar.onUrlChanged();
+        assertEquals("Runnables should queue up during branding.", 2, postBrandingRunnableCounts());
+
+        mLocationBar.showRegularToolbar();
+        assertUrlAndTitleVisible(/*titleVisible=*/false, /*urlVisible=*/true);
+        assertEquals("Runnables queue should be empty after reset to regular toolbar", 0,
+                postBrandingRunnableCounts());
+    }
+
+    private int postBrandingRunnableCounts() {
+        Runnable[] runnables = mLocationBar.getAfterBrandingRunnablesForTesting();
+        int count = 0;
+        for (Runnable r : runnables) {
+            if (r != null) {
+                count++;
+            }
+        }
+        return count;
+    }
+
+    private void assertUrlAndTitleVisible(boolean titleVisible, boolean urlVisible) {
+        int expectedTitleVisibility = titleVisible ? View.VISIBLE : View.GONE;
+        int expectedUrlVisibility = urlVisible ? View.VISIBLE : View.GONE;
+
+        assertEquals(
+                "Title visibility is off.", expectedTitleVisibility, mTitleBar.getVisibility());
+        assertEquals("URL bar visibility is off.", expectedUrlVisibility, mUrlBar.getVisibility());
+    }
 }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/findinpage/FindToolbarManagerTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/findinpage/FindToolbarManagerTest.java
index 1a9057cd..c5c8f86d 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/findinpage/FindToolbarManagerTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/findinpage/FindToolbarManagerTest.java
@@ -46,7 +46,7 @@
         Mockito.doReturn(mFindToolbar).when(mViewStub).inflate();
 
         mFindToolbarManager = new FindToolbarManager(
-                mViewStub, mTabModelSelector, Mockito.mock(WindowAndroid.class), null);
+                mViewStub, mTabModelSelector, Mockito.mock(WindowAndroid.class), null, null);
     }
 
     @Test
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 6f6250e..01e4f79 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -6611,6 +6611,9 @@
       <message name="IDS_NTP_COLORS_DARK_PURPLE" desc="A color option in the customization menu on the New Tab Page.">
         Dark purple
       </message>
+      <message name="IDS_NTP_UNDO_DISMISS_PROMO_BUTTON_TOAST" desc="Undo toast for dismissing middle slot promo on New Tab Page.">
+        You won't see this specific message again
+      </message>
 
       <!-- NTP Modules -->
       <message name="IDS_NTP_MODULES_INFO_BUTTON_TITLE" desc="Text shown in tooltip of info button of an NTP module.">
diff --git a/chrome/app/generated_resources_grd/IDS_NTP_UNDO_DISMISS_PROMO_BUTTON_TOAST.png.sha1 b/chrome/app/generated_resources_grd/IDS_NTP_UNDO_DISMISS_PROMO_BUTTON_TOAST.png.sha1
new file mode 100644
index 0000000..1a7a726
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_NTP_UNDO_DISMISS_PROMO_BUTTON_TOAST.png.sha1
@@ -0,0 +1 @@
+f51801ae04a02cd4557334bd94b2430261487620
\ No newline at end of file
diff --git a/chrome/app/resources/chromium_strings_af.xtb b/chrome/app/resources/chromium_strings_af.xtb
index 3db5ec9..0ada768 100644
--- a/chrome/app/resources/chromium_strings_af.xtb
+++ b/chrome/app/resources/chromium_strings_af.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Laat Chromium in die agtergrond loop</translation>
 <translation id="4423735387467980091">Pasmaak en beheer Chromium</translation>
 <translation id="4427306783828095590">Verbeterde beskerming doen meer om uitvissing en wanware te blokkeer</translation>
-<translation id="4440114195512068100">Gaan na <ph name="LINK_BEGIN" />Chromium-bedryfstelselinstellings<ph name="LINK_END" /> om te sien of jou toestel bygewerk is</translation>
 <translation id="452711251841752011">Welkom by Chromium; nuwe blaaiervenster is oopgemaak</translation>
 <translation id="4544142686420020088">Chromium het nie opgedateer nie; iets het skeefgeloop. <ph name="BEGIN_LINK" />Stel Chrome-opdateringprobleme en mislukte opdaterings reg.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Gaan voort in 'n nuwe Chromium-profiel?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Hoe jy jou data kan bestuur:<ph name="END_BOLD" /> Ons vee outomaties jou belangstellings uit wat ouer as 4 weke is om jou privaatheid te beskerm. Terwyl jy aanhou blaai, kan ’n belangstelling weer op die lys verskyn. Of jy kan belangstellings verwyder wat jy wil hê Chromium moenie oorweeg nie.</translation>
 <translation id="7937630085815544518">Jy was as <ph name="USER_EMAIL_ADDRESS" /> by Chromium aangemeld. Gebruik asseblief dieselfde rekening om weer aan te meld.</translation>
 <translation id="7975919845073681630">Dit is 'n sekondêre installering van Chromium en kan nie jou verstekblaaier gemaak word nie.</translation>
-<translation id="7982481011030453202">As ’n instelling nie op hierdie bIadsy verskyn nie, kan jy in jou <ph name="LINK_BEGIN" />
-      Chromium-bedryfstelselinstellings<ph name="LINK_END" /> kyk</translation>
 <translation id="7997934263947464652">Uitbreidings, programme en temas van onbekende bronne af kan jou toestel beskadig. Chromium beveel aan dat hulle net uit die <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> geïnstalleer word</translation>
 <translation id="8013436988911883588">Sodra Chromium toegang het, sal webwerwe jou kan vra vir toegang.</translation>
 <translation id="80471789339884597">Dankie dat jy geïnstalleer het. Jy moet al jou blaaiers herbegin voordat jy <ph name="BUNDLE_NAME" /> gebruik.</translation>
diff --git a/chrome/app/resources/chromium_strings_am.xtb b/chrome/app/resources/chromium_strings_am.xtb
index 78ed760..f128d34 100644
--- a/chrome/app/resources/chromium_strings_am.xtb
+++ b/chrome/app/resources/chromium_strings_am.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromium በበስተጀርባ ላይ ያሂድ</translation>
 <translation id="4423735387467980091">Chromiumን ያብጁ እና ይቆጣጠሩ</translation>
 <translation id="4427306783828095590">የተሻሻለ ጥበቃ ማስገር እና ተንኮል-አዘል ዌር ለማገድ የበለጠ ይሠራል</translation>
-<translation id="4440114195512068100">መሣሪያዎ የተዘመነ ከሆነ ለማየት ወደ <ph name="LINK_BEGIN" />የChromiumOS ቅንብሮች ይሂዱ<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">እንኳን ወደ Chromium በደህና መጡ፤ አዲስ የአሳሽ መስኮት ተከፍቷል</translation>
 <translation id="4544142686420020088">Chromium አልተዘመነም፣ የሆነ ችግር ተፈጥሯል። <ph name="BEGIN_LINK" />የChrome ዝማኔ ችግሮችን እና ያልተሳኩ ዝማኔዎችን ያስተካክሉ።<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">በአዲሱ የChromium መገለጫ ውስጥ ይቀጥል?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />የእርስዎን ውሂብ እንዴት ማቀናበር እንደሚችሉ፦<ph name="END_BOLD" /> የእርስዎን ግላዊነት ለመጠበቅ ከ4 ሳምንታት በላይ የቆዩ ዝንባሌዎችዎን በራስ-ሰር እንሰርዛለን። ማሰስዎን በሚቀጥሉበት ጊዜ ዝንባሌ እንደገና በዝርዝሩ ላይ ሊታይ ይችላል። ወይም Chromium ከግምት ውስጥ እንዳያስገባቸው የማይፈልጓቸውን ዝንባሌዎች ማስወገድ ይችላሉ።</translation>
 <translation id="7937630085815544518">እንደ <ph name="USER_EMAIL_ADDRESS" /> ሆነው ወደ Chromium ገብተዋል። እባክዎ እንደገና ለመግባት ተመሳሳዩን መለያ ይጠቀሙ።</translation>
 <translation id="7975919845073681630">ይሄ ሁለተኛ የChromium ጭነት ነው፣ እና ነባሪ አሳሽዎ ማድረግ አይቻልም።</translation>
-<translation id="7982481011030453202">በዚህ ገጽ ላይ አንድ ቅንብር ካልታየ በእርስዎ <ph name="LINK_BEGIN" />የChromiumOS አሳሽ ቅንብሮች<ph name="LINK_END" /> ውስጥ ይመልከቱ</translation>
 <translation id="7997934263947464652">ካልታወቁ ምንጮች የመጡ ቅጥያዎች፣ መተግበሪያዎች እና ገጽታዎች መሣሪያዎን ሊጎዱ ይችላሉ። Chromium እነሱን ከ<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ብቻ መጫንን ይመክራል</translation>
 <translation id="8013436988911883588">አንዴ Chromium መዳረሻ ከኖረው በኋላ ድር ጣቢያዎች እርስዎን መዳረሻ መጠየቅ ይችላሉ።</translation>
 <translation id="80471789339884597">ሰለተጫኑ እናመሰግናለን። <ph name="BUNDLE_NAME" />ን ከመጠቀምዎ በፊት ሁሉንም አሳሾችዎን እንደገና ማስጀመር አለብዎት።</translation>
diff --git a/chrome/app/resources/chromium_strings_ar.xtb b/chrome/app/resources/chromium_strings_ar.xtb
index 3191e689..9b048310 100644
--- a/chrome/app/resources/chromium_strings_ar.xtb
+++ b/chrome/app/resources/chromium_strings_ar.xtb
@@ -142,7 +142,6 @@
 <translation id="4415566066719264597">‏السماح بتشغيل Chromium في الخلفية</translation>
 <translation id="4423735387467980091">‏تخصيص Chromium والتحكم فيه</translation>
 <translation id="4427306783828095590">يؤدي تفعيل إعداد "الحماية المُحسَّنة" إلى حظر التصيّد الاحتيالي والبرامج الضارّة.</translation>
-<translation id="4440114195512068100">‏للتأكُّد من أنّ جهازك يستخدم أحدث إصدار، انتقِل إلى <ph name="LINK_BEGIN" />إعدادات نظام التشغيل Chromium<ph name="LINK_END" />.</translation>
 <translation id="452711251841752011">‏مرحبًا بك في Chromium. تم فتح نافذة متصفّح جديدة.</translation>
 <translation id="4544142686420020088">‏تعذّر تحديث Chromium بسبب حدوث خطأ. <ph name="BEGIN_LINK" />حلّ مشاكل تحديث Chrome وتعذُّر التحديثات<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">‏هل تريد المتابعة باستخدام ملف شخصي جديد على Chromium؟</translation>
@@ -307,8 +306,6 @@
 <translation id="7877292582355102282">‏<ph name="BEGIN_BOLD" />كيفية إدارة بياناتك:<ph name="END_BOLD" /> لحماية خصوصيتك، نحذف تلقائيًا اهتماماتك التي يمر عليها أكثر من أربعة أسابيع. وفي حال بحثت عن أحد الاهتمامات مرّة آخرى، سيظهر في القائمة من جديد. يمكنك إزالة الاهتمامات التي لا تريد أن يضيفها Chromium إلى قائمة اهتماماتك.</translation>
 <translation id="7937630085815544518">‏تم تسجيل دخولك إلى Chromium باعتبارك <ph name="USER_EMAIL_ADDRESS" />. يُرجى استخدام الحساب نفسه لتسجيل الدخول مرة أخرى.</translation>
 <translation id="7975919845073681630">‏هذا تثبيت ثانوي من Chromium، ولا يمكن جعله متصفحك التلقائي.</translation>
-<translation id="7982481011030453202">‏في حال عدم عرض إعدادات على هذه الصفحة، انتقِل إلى <ph name="LINK_BEGIN" />
-    إعدادات نظام التشغيل Chromium<ph name="LINK_END" />.</translation>
 <translation id="7997934263947464652">‏إنّ الإضافات والتطبيقات والمظاهر الواردة من مصادر غير معروفة يمكن أن تتسبّب في إلحاق الضرر بجهازك. ينصح Chromium بإجراء عملية التثبيت من خلال <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> فقط.</translation>
 <translation id="8013436988911883588">‏بعد حصول Chromium على إمكانية الوصول، ستتمكن المواقع الإلكترونية من مطالبتك بإمكانية الوصول.</translation>
 <translation id="80471789339884597">شكرًا على التثبيت. عليك إعادة تشغيل جميع المتصفِّحات قبل استخدام <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_as.xtb b/chrome/app/resources/chromium_strings_as.xtb
index 8df18c7..9494098 100644
--- a/chrome/app/resources/chromium_strings_as.xtb
+++ b/chrome/app/resources/chromium_strings_as.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromiumক নেপথ্যত চলিবলৈ দিয়ক</translation>
 <translation id="4423735387467980091">Chromium কাষ্টমাইজ আৰু নিয়ন্ত্ৰণ কৰক</translation>
 <translation id="4427306783828095590">বৰ্ধিত সুৰক্ষাৰ সুবিধাটোৱে ফিশ্বিং আৰু মালৱেৰ অৱৰোধ কৰিবলৈ অধিক কাৰ্য কৰে</translation>
-<translation id="4440114195512068100">আপোনাৰ ডিভাইচটো আপ-টু-ডে’ট হৈ আছেনে নাই সেয়া চাবলৈ <ph name="LINK_BEGIN" />ChromiumOSৰ ছেটিঙ<ph name="LINK_END" />লৈ যাওক</translation>
 <translation id="452711251841752011">Chromiumলৈ স্বাগতম; নতুন ব্ৰাউজাৰৰ ৱিণ্ড’ খোলা হৈছে</translation>
 <translation id="4544142686420020088">Chromium আপডে'ট হোৱা নাই, কিবা ভুল হৈছে। <ph name="BEGIN_LINK" />Chromiumৰ আপডে'ট সম্পর্কীয় সমস্যাবোৰ আৰু বিফল হোৱা আপডে'টসমূহ সমাধান কৰক।<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">এটা নতুন Chromium প্ৰ'ফাইলত অব্যাহত ৰাখিবনে?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />আপুনি নিজৰ ডেটা কেনেকৈ পৰিচালনা কৰিব পাৰে:<ph name="END_BOLD" /> আপোনাৰ গোপনীয়তা সুৰক্ষিত কৰিবলৈ, আমি ৪ সপ্তাহতকৈ পুৰণি হোৱা আপোনাৰ আগ্ৰহসমূহ স্বয়ংক্ৰিয়ভাৱে মচোঁ। আপুনি ব্ৰাউজ কৰি থাকিলে, সূচীখনত পুনৰ কোনো এটা আগ্ৰহ প্ৰদৰ্শিত হ’ব পাৰে। অথবা আপুনি যিবোৰ আগ্ৰহ Chromiumএ বিবেচনা কৰাটো নিবিচাৰে সেইবোৰ আঁতৰাব পাৰে।</translation>
 <translation id="7937630085815544518">আপুনি Chromiumত <ph name="USER_EMAIL_ADDRESS" /> হিচাপে ছাইন ইন হৈ আছিল। আকৌ ছাইন ইন কৰিবলৈ অনুগ্ৰহ কৰি সেই একেটা একাউণ্ট ব্যৱহাৰ কৰক।</translation>
 <translation id="7975919845073681630">এয়া Chromiumৰ এক গৌণ ইনষ্টলেশ্বন আৰু ইয়াক আপোনাৰ ডিফ’ল্ট ব্ৰাউজাৰ কৰিব নোৱাৰি।</translation>
-<translation id="7982481011030453202">এই পৃষ্ঠাখনত যদি কোনো ছেটিং দেখা পোৱা নাযায়, তেন্তে আপোনাৰ <ph name="LINK_BEGIN" />
-      ChromiumOSৰ ছেটিঙ<ph name="LINK_END" />ত চাওক</translation>
 <translation id="7997934263947464652">অজ্ঞাত উৎসৰ এক্সটেনশ্বন, এপ্ আৰু থীমসমূহে আপোনাৰ ডিভাইচৰ ক্ষতি কৰিব পাৰে। সেইবোৰ কেৱল <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />ৰ পৰা ডাউনল’ড কৰাটো Chromiumএ চুপাৰিছ কৰে</translation>
 <translation id="8013436988911883588">Chromiumএ এক্সেছ পোৱাৰ পাছতেই ৱেবছাইটসমূহে আপোনাক এক্সেছৰ বাবে অনুমতি বিচাৰিব পাৰিব।</translation>
 <translation id="80471789339884597">ইনষ্টল কৰাৰ বাবে ধন্যবাদ। আপুনি <ph name="BUNDLE_NAME" /> ব্যৱহাৰ কৰাৰ পূৰ্বে আপোনাৰ আটাইবোৰ ব্ৰাউজাৰ ৰিষ্টাৰ্ট কৰিবই লাগিব।</translation>
diff --git a/chrome/app/resources/chromium_strings_az.xtb b/chrome/app/resources/chromium_strings_az.xtb
index 3eedd0b..7963527 100644
--- a/chrome/app/resources/chromium_strings_az.xtb
+++ b/chrome/app/resources/chromium_strings_az.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Chromium'a Arxa Fonda İşləmək İcazəsi Verin</translation>
 <translation id="4423735387467980091">Fərdiləşdirin və Chromium'u kontrol edin</translation>
 <translation id="4427306783828095590">Təkmil qoruma ilə fişinq və zərərli proqramların bloklanması üçün daha çox iş görülür</translation>
-<translation id="4440114195512068100">Cihazınızın güncəl olub-olmadığına baxmaq üçün <ph name="LINK_BEGIN" />ChromiumOS Ayarlarına<ph name="LINK_END" /> keçin</translation>
 <translation id="452711251841752011">Chromium'a xoş gəlmisiniz; yeni brauzer pəncərəsi açılıb</translation>
 <translation id="4544142686420020088">Chromium güncəllənmədi, xəta baş verdi. <ph name="BEGIN_LINK" />Chrome'un güncəllənmə problemlərini və alınmayan güncəllənmələri həll edin.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Yeni Chromium profilində davam edilsin?</translation>
@@ -308,8 +307,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Datanızı necə idarə edə bilərsiniz:<ph name="END_BOLD" /> Məxfiliyinizi qorumaq üçün 4 həftədən köhnə maraqlarınızı avtomatik silirik. Baxmağa davam etdikcə, maraq siyahıda yenidən görünə bilər. Və ya Chromium'un nəzərə almasını istəmədiyiniz maraqları silə bilərsiniz.</translation>
 <translation id="7937630085815544518">Chromium'a <ph name="USER_EMAIL_ADDRESS" /> kimi daxil olmuşdunuz. Lütfən, yenidən daxil olmaq üçün eyni hesabdan istifadə edin.</translation>
 <translation id="7975919845073681630">Bu Chromium'un ikinci quraşdırmasıdır və defolt brauzer kimi ayarlana bilmir.</translation>
-<translation id="7982481011030453202">Ayar bu səhifədə göstərilməsə, <ph name="LINK_BEGIN" />
-      ChromiumOS ayarlarına<ph name="LINK_END" /> baxın</translation>
 <translation id="7997934263947464652">Naməlum mənbələrdən olan artırmalar, tətbiqlər və temalar cihazınıza zərər verə bilər. Chromium onları yalnız buradan quraşdırmağı tövsiyə edir: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Chromium'un giriş imkanı olduqda veb saytlar giriş üçün Sizdən icazə istəyəcək.</translation>
 <translation id="80471789339884597">Quraşdırdığınız üçün təşəkkür edirik. <ph name="BUNDLE_NAME" /> istifadə etməzdən əvvəl bütün brauzerlərinizi yenidən başlatmalısınız.</translation>
diff --git a/chrome/app/resources/chromium_strings_be.xtb b/chrome/app/resources/chromium_strings_be.xtb
index 8130b48..a768f23 100644
--- a/chrome/app/resources/chromium_strings_be.xtb
+++ b/chrome/app/resources/chromium_strings_be.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Дазволіць браўзеру Chromium працаваць у фоне</translation>
 <translation id="4423735387467980091">Наладка і кіраванне Chromium</translation>
 <translation id="4427306783828095590">Функцыя палепшанай абароны яшчэ надзейней блакіруе фішынг і шкодныя праграмы</translation>
-<translation id="4440114195512068100">Каб даведацца, ці знаходзіцца прылада ў актуальным стане, адкрыйце <ph name="LINK_BEGIN" />Налады Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Вітаем у Chromium! Адкрыта новае акно браўзера</translation>
 <translation id="4544142686420020088">Chromium не абнавіўся. Нешта пайшло не так. <ph name="BEGIN_LINK" />Выправіце праблемы з абнаўленнем Chromium і памылкі абнаўлення.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Працягнуць працу ў новым профілі Chromium?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Як кіраваць сваімі данымі.<ph name="END_BOLD" /> У мэтах аховы вашай прыватнасці старэйшыя за 4 тыдні звесткі пра вашы інтарэсы аўтаматычна выдаляюцца. Па меры прагляду сайтаў у інтэрнэце пэўныя інтарэсы могуць з'яўляцца ў спісе зноў. Вы таксама можаце выдаляць пэўныя інтарэсы, калі не хочаце, каб браўзер Chromium іх улічваў.</translation>
 <translation id="7937630085815544518">Вы ўваходзілі ва ўліковы запіс Chromium як <ph name="USER_EMAIL_ADDRESS" />. Для паўторнага ўваходу выкарыстоўвайце той жа самы ўліковы запіс.</translation>
 <translation id="7975919845073681630">Гэта другасны ўсталяваны экзэмпляр Chromium – яго нельга зрабіць стандартным браўзерам.</translation>
-<translation id="7982481011030453202">Калі налада адсутнічае на гэтай старонцы, перайдзіце ў <ph name="LINK_BEGIN" />налады Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Пашырэнні, праграмы і тэмы з невядомых крыніц могуць прычыніць шкоду вашай прыладзе. Chromium рэкамендуе ўсталёўваць іх толькі з наступнай крыніцы: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Як толькі Chromium атрымае дазвол, вэб-сайты змогуць запытваць у вас доступ.</translation>
 <translation id="80471789339884597">Дзякуй, што ўсталявалі <ph name="BUNDLE_NAME" />. Каб завяршыць усталяванне, перазапусціце ўсе свае браўзеры.</translation>
diff --git a/chrome/app/resources/chromium_strings_bg.xtb b/chrome/app/resources/chromium_strings_bg.xtb
index fe790a2..a3bf88aa 100644
--- a/chrome/app/resources/chromium_strings_bg.xtb
+++ b/chrome/app/resources/chromium_strings_bg.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">Разрешаване на Chromium да се изпълнява на заден план</translation>
 <translation id="4423735387467980091">Персонализиране и контролиране на Chromium</translation>
 <translation id="4427306783828095590">Режимът за подобрена защита предприема повече действия за блокиране на фишинг атаки и злонамерен софтуер</translation>
-<translation id="4440114195512068100">За да разберете дали устройството ви е актуално, отворете <ph name="LINK_BEGIN" />настройките на Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Добре дошли в Chromium. Отворен е нов прозорец на браузъра</translation>
 <translation id="4544142686420020088">Chromium не се актуализира, защото нещо се обърка. <ph name="BEGIN_LINK" />Отстранете проблеми с актуализирането на Chromium и неуспешни актуализации<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">Искате ли да продължите с нов потребителски профил в Chromium?</translation>
@@ -305,8 +304,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Как можете да управлявате данните си<ph name="END_BOLD" />: С цел защита на поверителността ви автоматично изтриваме интересите, които са по-стари от 4 седмици. Докато сърфирате, даден интерес може отново да се покаже в списъка. Имате възможност също да премахвате интересите, които не искате Chromium да взема предвид.</translation>
 <translation id="7937630085815544518">Бяхте влезли в Chromium като <ph name="USER_EMAIL_ADDRESS" />. Моля, използвайте същия профил, за да влезете отново.</translation>
 <translation id="7975919845073681630">Тази инсталация на Chromium е алтернативна и не може да се зададе като браузър по подразбиране.</translation>
-<translation id="7982481011030453202">Ако дадена настройка не се показва на тази страница, потърсете в
-<ph name="LINK_BEGIN" />настройките на Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Разширения, приложения и теми от неизвестни източници могат да навредят на устройството ви. Chromium препоръчва да инсталирате такива само от <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">След като Chromium получи достъп, уебсайтовете ще могат да искат достъп от вас.</translation>
 <translation id="80471789339884597">Благодарим ви, че инсталирахте <ph name="BUNDLE_NAME" />. Трябва да рестартирате всичките си браузъри, преди да използвате това приложение.</translation>
diff --git a/chrome/app/resources/chromium_strings_bn.xtb b/chrome/app/resources/chromium_strings_bn.xtb
index 988bdd98..22919a5 100644
--- a/chrome/app/resources/chromium_strings_bn.xtb
+++ b/chrome/app/resources/chromium_strings_bn.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Chromium-কে ব্যাকগ্রাউন্ডে চলতে দিন</translation>
 <translation id="4423735387467980091">Chromium কাস্টমাইজ ও নিয়ন্ত্রণ করুন</translation>
 <translation id="4427306783828095590">ফিশিং ও ম্যালওয়্যার ব্লক করার ব্যাপারে উন্নত সুরক্ষা আরও সাহায্য করে</translation>
-<translation id="4440114195512068100">আপনার ডিভাইস আপ-টু-ডেট আছে কিনা তা দেখতে <ph name="LINK_BEGIN" />ChromiumOS সেটিংস<ph name="LINK_END" /> বিকল্পে যান</translation>
 <translation id="452711251841752011">Chromium-এ স্বাগতম; নতুন ব্রাউজার উইন্ডো খোলা হয়েছে</translation>
 <translation id="4544142686420020088">Chromium আপডেট করা যায়নি, কোনও সমস্যা হয়েছে। <ph name="BEGIN_LINK" />Chromium আপডেট করতে না পারার সমস্যা ও আপডেট করা যায়নি এমন সমস্যার সমাধান করুন।<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">এক্ষেত্রে নতুন Chromium প্রোফাইল তৈরি করতে চান?</translation>
@@ -309,8 +308,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />আপনি কীভাবে ডেটা ম্যানেজ করতে পারেন:<ph name="END_BOLD" /> আপনার গোপনীয়তা রক্ষা করতে, আমরা ৪ সপ্তাহের বেশি পুরনো আপনার আগ্রহগুলি অটোমেটিক মুছে ফেলি। আপনি ব্রাউজিং চালিয়ে যাওয়ার সাথে সাথে তালিকায় আবার আগ্রহগুলি দেখা যেতে পারে। অথবা, আপনি যে আগ্রহগুলি Chromium বিবেচনা করুক বলে চান না সেগুলি সরিয়ে দিতে পারেন।</translation>
 <translation id="7937630085815544518">আপনি <ph name="USER_EMAIL_ADDRESS" /> হিসাবে Chromium-এ প্রবেশ করেছেন৷ আবার সাইন-ইন করতে একই অ্যাকাউন্ট ব্যবহার করুন৷</translation>
 <translation id="7975919845073681630">এটা Chromium এর সেকেন্ডারি ইনস্টলেশন এবং একে আপনার ডিফল্ট ব্রাউজার করা যাবে না।</translation>
-<translation id="7982481011030453202">এই পৃষ্ঠাতে কোনও একটি সেটিং দেখতে না পেলে আপনার <ph name="LINK_BEGIN" />
-      ChromiumOS সেটিংস<ph name="LINK_END" /> বিকল্পটি দেখুন</translation>
 <translation id="7997934263947464652">অজানা সোর্স থেকে এক্সটেনশন, অ্যাপ এবং থিম আপনার ডিভাইসের ক্ষতি করতে পারে। Chromium শুধুমাত্র <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> থেকে সেগুলি ইনস্টল করার সাজেশন দেয়</translation>
 <translation id="8013436988911883588">Chromium অ্যাক্সেস পেলেই, ওয়েবসাইটগুলি আপনাকে অ্যাক্সেসের অনুরোধ করতে পারবে।</translation>
 <translation id="80471789339884597">ইনস্টল করার জন্য ধন্যবাদ। <ph name="BUNDLE_NAME" /> ব্যবহার করার আগে আপনাকে অবশ্যই সমস্ত ব্রাউজার রিস্টার্ট করতে হবে।</translation>
diff --git a/chrome/app/resources/chromium_strings_bs.xtb b/chrome/app/resources/chromium_strings_bs.xtb
index 89c38a3..54647424 100644
--- a/chrome/app/resources/chromium_strings_bs.xtb
+++ b/chrome/app/resources/chromium_strings_bs.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Neka Chromium radi u pozadini</translation>
 <translation id="4423735387467980091">Prilagodite Chromium i upravljajte njime</translation>
 <translation id="4427306783828095590">Poboljšana zaštita vas još bolje čuva od krađe identiteta i zlonamjernog softvera</translation>
-<translation id="4440114195512068100">Da vidite je li vaš uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Postavke ChromiumOS-a<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Dobro došli u Chromium. Otvoren je novi prozor preglednika</translation>
 <translation id="4544142686420020088">Ažuriranje Chromiuma nije uspjelo. Nešto nije uredu. <ph name="BEGIN_LINK" />Ispravite probleme s ažuriranjem Chromiuma i neuspjela ažuriranja.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Želite li nastaviti na novom Chromium profilu?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kako možete upravljati svojim podacima:<ph name="END_BOLD" /> Da zaštitimo vašu privatnosti, automatski brišemo interesovanja koja su starija od 4 sedmice. Kada nastavite koristiti preglednik, interesovanje se može ponovo pojaviti na listi. Ili možete ukloniti interesovanja koja ne želite dati Chromiumu na razmatranje.</translation>
 <translation id="7937630085815544518">Bili ste prijavljeni na Chrome kao <ph name="USER_EMAIL_ADDRESS" />. Koristite isti račun da se ponovo prijavite.</translation>
 <translation id="7975919845073681630">Ovo je sekundarno instaliranje Chromiuma i stoga on ne može biti vaš zadani preglednik.</translation>
-<translation id="7982481011030453202">Ako se postavka ne prikazuje na ovoj stranici, pogledajte u <ph name="LINK_BEGIN" />
-    postavkama ChromiumOS-a<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Ekstenzije, aplikacije i teme iz nepoznatih izvora mogu naštetiti vašem uređaju. Chromium preporučuje da ih instalirate samo iz: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, web lokacije će vam moći zatražiti pristup.</translation>
 <translation id="80471789339884597">Hvala što ste instalirali. Morate ponovo pokrenuti sve preglednike prije nego što možete koristiti <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_ca.xtb b/chrome/app/resources/chromium_strings_ca.xtb
index 2dd74f8..709e781 100644
--- a/chrome/app/resources/chromium_strings_ca.xtb
+++ b/chrome/app/resources/chromium_strings_ca.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Permet que Chromium s'executi en segon pla</translation>
 <translation id="4423735387467980091">Personalitza i controla Chromium</translation>
 <translation id="4427306783828095590">La protecció millorada és més efiçaç a l'hora de bloquejar la pesca de credencials i el programari maliciós</translation>
-<translation id="4440114195512068100">Per veure si el dispositiu està actualitzat, ves a la <ph name="LINK_BEGIN" />configuració de Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Et donem la benvinguda a Chromium; s'ha obert una altra finestra del navegador</translation>
 <translation id="4544142686420020088">No s'ha actualitzat Chromium. S'ha produït un error. <ph name="BEGIN_LINK" />Soluciona els problemes i errors d'actualització de Chromium<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">Vols continuar en un perfil de Chromium nou?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Com pots gestionar les teves dades<ph name="END_BOLD" />: amb la finalitat de protegir la teva privadesa, suprimim automàticament els interessos que tenen més de 4 setmanes. A mesura que continuïs navegant, és possible que torni a aparèixer un interès a la llista. També pots suprimir els interessos que no vulguis que Chromium tingui en compte.</translation>
 <translation id="7937630085815544518">Teníeu la sessió iniciada a Chromium com a <ph name="USER_EMAIL_ADDRESS" />. Utilitzeu el mateix compte per tornar a iniciar-hi la sessió.</translation>
 <translation id="7975919845073681630">Aquesta és una instal·lació secundària de Chromium i no pot definir-se com a navegador predeterminat.</translation>
-<translation id="7982481011030453202">Si alguna opció de configuració no es mostra en aquesta pàgina, consulta la <ph name="LINK_BEGIN" />
-      configuració de Chromium OS<ph name="LINK_END" />.</translation>
 <translation id="7997934263947464652">Les extensions, les aplicacions i els temes de fonts desconegudes poden malmetre el dispositiu. Chromium recomana que només n'instal·lis de <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Un cop Chromium tingui accés, els llocs web et podran demanar accés.</translation>
 <translation id="80471789339884597">T'agraïm la instal·lació. Has de reiniciar tots els navegadors abans d'utilitzar <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_cs.xtb b/chrome/app/resources/chromium_strings_cs.xtb
index 85d3ccc..d7cadf0 100644
--- a/chrome/app/resources/chromium_strings_cs.xtb
+++ b/chrome/app/resources/chromium_strings_cs.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Nechat Chromium běžet na pozadí</translation>
 <translation id="4423735387467980091">Přizpůsobit a ovládat Chromium</translation>
 <translation id="4427306783828095590">Vylepšená ochrana vás lépe ochrání před phishingem a malwarem</translation>
-<translation id="4440114195512068100">Pokud se chcete podívat, zda je zařízení aktualizované, přejděte do <ph name="LINK_BEGIN" />Nastavení systému ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Vítá vás Chromium; bylo otevřeno nové okno prohlížeče</translation>
 <translation id="4544142686420020088">Prohlížeč Chromium se neaktualizoval, něco se pokazilo. <ph name="BEGIN_LINK" />Vyřešte problémy se stahováním aktualizací prohlížeče Chromium a neúspěšnými aktualizacemi.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Pokračovat v novém profilu Chromium?</translation>
@@ -313,7 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Jak můžete své údaje spravovat:<ph name="END_BOLD" /> Abychom chránili vaše soukromí, vaše zájmy starší než 4 měsíce automaticky mažeme. Jak budete pracovat s internetem, zájmy se mohou na seznamu znovu objevit. Pokud se zájmy nemají zohledňovat, můžete je z Chromia odstranit.</translation>
 <translation id="7937630085815544518">K prohlížeči Chromium jste byli přihlášeni s účtem <ph name="USER_EMAIL_ADDRESS" />. Přihlaste se prosím znovu pomocí stejného účtu.</translation>
 <translation id="7975919845073681630">Toto je druhá instalace prohlížeče Chromium. Tuto instalaci nelze nastavit jako výchozí prohlížeč.</translation>
-<translation id="7982481011030453202">Pokud některé nastavení na této stránce není zobrazeno, podívejte se do <ph name="LINK_BEGIN" />nastavení systému ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Rozšíření, aplikace a motivy z neznámých zdrojů mohou poškodit vaše zařízení. Chromium doporučuje instalovat je pouze z tohoto zdroje: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Až bude mít Chromium přístup, budou vás weby moci požádat o přístup.</translation>
 <translation id="80471789339884597">Děkujeme za instalaci aplikace <ph name="BUNDLE_NAME" />. Před jejím použitím je třeba restartovat všechny prohlížeče.</translation>
diff --git a/chrome/app/resources/chromium_strings_cy.xtb b/chrome/app/resources/chromium_strings_cy.xtb
index d84aa2a..9f22e10 100644
--- a/chrome/app/resources/chromium_strings_cy.xtb
+++ b/chrome/app/resources/chromium_strings_cy.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Caniatáu i Chromium Rhedeg yn y Cefndir</translation>
 <translation id="4423735387467980091">Personoleiddio a rheoli Chromium</translation>
 <translation id="4427306783828095590">Mae gwell amddiffyniad yn gwneud rhagor i rwystro gwe-rwydo a drwgwedd</translation>
-<translation id="4440114195512068100">I weld a yw'ch dyfais yn gyfoes, ewch i <ph name="LINK_BEGIN" />Osodiadau ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Croeso i Chromium; agorwyd ffenestr porwr newydd</translation>
 <translation id="4544142686420020088">Ni ddiweddarwyd Chromium, aeth rhywbeth o'i le. <ph name="BEGIN_LINK" />Datrys problemau diweddaru Chromium a diweddariadau a fethwyd.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Parhau mewn proffil Chromium newydd?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Sut gallwch reoli eich data:<ph name="END_BOLD" /> Er mwyn amddiffyn eich preifatrwydd, rydym yn awtoddileu eich diddordebau sy'n hŷn na 4 wythnos. Wrth i chi barhau i bori, mae'n bosib y bydd diddordeb yn ymddangos ar y rhestr eto. Neu gallwch gael gwared ar ddiddordebau nad ydych am i Chromium eu hystyried.</translation>
 <translation id="7937630085815544518">Roeddech wedi'ch mewngofnodi i Chromium fel <ph name="USER_EMAIL_ADDRESS" />. Defnyddiwch yr un cyfrif i fewngofnodi eto.</translation>
 <translation id="7975919845073681630">Gosodiad eilaidd o Chromium yw hwn, ac ni ellir ei wneud yn borwr diofyn i chi.</translation>
-<translation id="7982481011030453202">Os nad yw gosodiad yn ymddangos ar y dudalen hon, edrychwch yn eich <ph name="LINK_BEGIN" />
-      gosodiadau ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Gall estyniadau, apiau a themâu o ffynonellau anhysbys niweidio'ch dyfais. Mae Chromium yn argymell eu gosod o'r <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> yn unig</translation>
 <translation id="8013436988911883588">Unwaith y bydd gan Chromium fynediad, bydd gwefannau yn gallu gofyn i chi am fynediad.</translation>
 <translation id="80471789339884597">Diolch am osod. Rhaid i chi ailgychwyn eich holl borwyr cyn defnyddio <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_da.xtb b/chrome/app/resources/chromium_strings_da.xtb
index 1feee3e..41239d3 100644
--- a/chrome/app/resources/chromium_strings_da.xtb
+++ b/chrome/app/resources/chromium_strings_da.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Lad Chromium køre i baggrunden</translation>
 <translation id="4423735387467980091">Tilpas og kontrollér Chromium</translation>
 <translation id="4427306783828095590">Forbedret beskyttelse gør mere end at blokere phishing og malware</translation>
-<translation id="4440114195512068100">Du kan se, om en enhed er opdateret, ved at gå til <ph name="LINK_BEGIN" />indstillingerne for Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Velkommen til Chromium – Et nyt browservindue er åbnet</translation>
 <translation id="4544142686420020088">Chromium kunne ikke opdateres, da der opstod en fejl. <ph name="BEGIN_LINK" />Løs problemer med opdatering af Chromium og mislykkede opdateringer.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Vil du fortsætte på en ny Chromium-profil?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Sådan kan du administrere dine data:<ph name="END_BOLD" /> Vi sletter automatisk de interesser, der er ældre end 4 uger, for at beskytte dine personlige oplysninger Mens du surfer, kan en interesse vises på listen igen. Du kan også fjerne interesser, som du ikke vil have, at Chromium skal tage med i betragtning.</translation>
 <translation id="7937630085815544518">Du loggede ind på Chromium som <ph name="USER_EMAIL_ADDRESS" />. Brug den samme konto til at logge ind igen.</translation>
 <translation id="7975919845073681630">Dette er en sekundær installation af Chromium, og den kan ikke gøres til din standardbrowser.</translation>
-<translation id="7982481011030453202">Hvis en indstilling ikke vises på denne side, kan du kigge i <ph name="LINK_BEGIN" />
-      indstillingerne for Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Udvidelser, apps og temaer fra ukendte kilder kan skade din enhed. Chromium anbefaler, at de kun installeres via <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Når Chromium har adgang, kan websites bede dig om adgang.</translation>
 <translation id="80471789339884597">Tak for installationen. Du skal genstarte alle dine browsere, før du bruger <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_de.xtb b/chrome/app/resources/chromium_strings_de.xtb
index 742bf087..9fcb2d3 100644
--- a/chrome/app/resources/chromium_strings_de.xtb
+++ b/chrome/app/resources/chromium_strings_de.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Chromium im Hintergrund ausführen</translation>
 <translation id="4423735387467980091">Chromium anpassen und einstellen</translation>
 <translation id="4427306783828095590">Besserer Schutz vor Phishing und Malware durch erweitertes Safe Browsing</translation>
-<translation id="4440114195512068100">Du kannst anhand der <ph name="LINK_BEGIN" />Einstellungen von Chromium OS<ph name="LINK_END" /> sehen, ob dein Gerät auf dem neuesten Stand ist</translation>
 <translation id="452711251841752011">Willkommen bei Chromium; neues Browserfenster geöffnet</translation>
 <translation id="4544142686420020088">Chrome wurde aufgrund eines Fehlers nicht aktualisiert. Wie du Updateprobleme und Fehler bei der Aktualisierung von Chromium behebst, <ph name="BEGIN_LINK" />erfährst du hier<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">Mit einem neuen Chromium-Profil fortfahren?</translation>
@@ -310,7 +309,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />So kannst du deine Daten verwalten<ph name="END_BOLD" />: Zum Schutz deiner Daten löschen wir automatisch deine Interessen, die älter als vier Wochen sind. Je nach deinen Browsingaktivitäten können die Interessen wieder in der Liste erscheinen. Du kannst jedoch Interessen entfernen, die Chromium nicht berücksichtigen soll.</translation>
 <translation id="7937630085815544518">Du warst in Chromium als <ph name="USER_EMAIL_ADDRESS" /> angemeldet. Melde dich bitte wieder mit demselben Konto an.</translation>
 <translation id="7975919845073681630">Dies ist eine Zweitinstallation, daher kann Chromium nicht als Standardbrowser festgelegt werden.</translation>
-<translation id="7982481011030453202">Wenn du auf dieser Seite eine Einstellung nicht finden kannst, sieh in den <ph name="LINK_BEGIN" />Einstellungen von Chromium OS<ph name="LINK_END" /> nach</translation>
 <translation id="7997934263947464652">Erweiterungen, Apps und Designs aus unbekannten Quellen können Schäden auf deinem Gerät verursachen. Chromium empfiehlt, sie nur über den <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> zu installieren.</translation>
 <translation id="8013436988911883588">Sobald Chromium Zugriff hat, können Websites dich um Zugriff bitten.</translation>
 <translation id="80471789339884597">Vielen Dank für die Installation. Du musst alle Browser neu starten, bevor du <ph name="BUNDLE_NAME" /> verwenden kannst.</translation>
diff --git a/chrome/app/resources/chromium_strings_el.xtb b/chrome/app/resources/chromium_strings_el.xtb
index 3aacf340..c1bb9c16 100644
--- a/chrome/app/resources/chromium_strings_el.xtb
+++ b/chrome/app/resources/chromium_strings_el.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Να επιτρέπεται στο Chromium να εκτελείται στο παρασκήνιο</translation>
 <translation id="4423735387467980091">Προσαρμογή και έλεγχος του Chromium</translation>
 <translation id="4427306783828095590">Η βελτιωμένη προστασία κάνει περισσότερα για τον αποκλεισμό ηλεκτρονικού ψαρέματος (phishing) και κακόβουλων προγραμμάτων</translation>
-<translation id="4440114195512068100">Για να διαπιστώσετε εάν η συσκευή σας είναι ενημερωμένη, μεταβείτε στις <ph name="LINK_BEGIN" />Ρυθμίσεις του Chromium OS<ph name="LINK_END" />.</translation>
 <translation id="452711251841752011">Καλωσορίσατε στο Chromium. Ένα νέο παράθυρο προγράμματος περιήγησης έχει ανοίξει.</translation>
 <translation id="4544142686420020088">Δεν έγινε ενημέρωση του Chromium, παρουσιάστηκε κάποιο σφάλμα. <ph name="BEGIN_LINK" />Επιδιορθώστε τα προβλήματα ενημέρωσης και αποτυχημένων ενημερώσεων του Chromium.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Συνέχεια σε νέο προφίλ Chromium;</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Πώς μπορείτε να διαχειριστείτε τα δεδομένα σας:<ph name="END_BOLD" /> Για την προστασία του απορρήτου σας, διαγράφουμε αυτόματα τα ενδιαφέροντα που είναι παλαιότερα των 4 εβδομάδων. Καθώς συνεχίζετε την περιήγηση, ενδέχεται να εμφανιστεί ξανά ένα ενδιαφέρον στη λίστα. Εναλλακτικά, μπορείτε να καταργήσετε τα ενδιαφέροντα που δεν θέλετε να λαμβάνει υπόψη το Chromium.</translation>
 <translation id="7937630085815544518">Συνδεθήκατε στο Chromium ως <ph name="USER_EMAIL_ADDRESS" />. Χρησιμοποιήστε τον ίδιο λογαριασμό για να συνδεθείτε ξανά.</translation>
 <translation id="7975919845073681630">Αυτή είναι μια δευτερεύουσα εγκατάσταση του Chromium και δεν μπορεί να γίνει το προεπιλεγμένο πρόγραμμα περιήγησης.</translation>
-<translation id="7982481011030453202">Εάν μια ρύθμιση δεν εμφανίζεται σε αυτήν τη σελίδα, αναζητήστε την στις <ph name="LINK_BEGIN" />
-      ρυθμίσεις του Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Οι επεκτάσεις, οι εφαρμογές και τα θέματα από άγνωστες πηγές μπορούν να βλάψουν τη συσκευή σας. Το Chromium συνιστά την εγκατάστασή τους μόνο από το <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Όταν το Chromium αποκτήσει πρόσβαση, οι ιστότοποι θα μπορούν να σας ζητήσουν πρόσβαση.</translation>
 <translation id="80471789339884597">Ευχαριστούμε για την εγκατάσταση. Πρέπει να επανεκκινήσετε όλα τα προγράμματα περιήγησής σας πριν από τη χρήση του <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_en-GB.xtb b/chrome/app/resources/chromium_strings_en-GB.xtb
index 61f44fc..e7cb11a 100644
--- a/chrome/app/resources/chromium_strings_en-GB.xtb
+++ b/chrome/app/resources/chromium_strings_en-GB.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Let Chromium Run in the Background</translation>
 <translation id="4423735387467980091">Customise and control Chromium</translation>
 <translation id="4427306783828095590">Enhanced protection does more to block phishing and malware</translation>
-<translation id="4440114195512068100">To see if your device is up to date, go to <ph name="LINK_BEGIN" />Chromium OS Settings<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Welcome to Chromium; new browser window opened</translation>
 <translation id="4544142686420020088">Chromium didn't update. Something went wrong. <ph name="BEGIN_LINK" />Fix Chromium update problems and failed updates.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Continue in a new Chromium profile?</translation>
@@ -312,8 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />How you can manage your data:<ph name="END_BOLD" /> To protect your privacy, we auto-delete your interests that are older than four weeks. As you keep browsing, an interest might appear on the list again. Or you can remove interests that you don’t want Chromium to consider.</translation>
 <translation id="7937630085815544518">You were signed in to Chromium as <ph name="USER_EMAIL_ADDRESS" />. Please use the same account to sign in again.</translation>
 <translation id="7975919845073681630">This is a secondary installation of Chromium, and cannot be made your default browser.</translation>
-<translation id="7982481011030453202">If a setting doesn't show on this page, look in your <ph name="LINK_BEGIN" />
-      Chromium OS settings<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Extensions, apps and themes from unknown sources can harm your device. Chromium recommends only installing them from the <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Once Chromium has access, websites will be able to ask you for access.</translation>
 <translation id="80471789339884597">Thanks for installing. You must restart all your browsers before using <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_es-419.xtb b/chrome/app/resources/chromium_strings_es-419.xtb
index 429b7d08..e2f6dd53 100644
--- a/chrome/app/resources/chromium_strings_es-419.xtb
+++ b/chrome/app/resources/chromium_strings_es-419.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">Permitir que Chromium se ejecute en segundo plano</translation>
 <translation id="4423735387467980091">Personaliza y controla Chromium</translation>
 <translation id="4427306783828095590">La protección mejorada permite bloquear mejor la suplantación de identidad (phishing) y el software malicioso.</translation>
-<translation id="4440114195512068100">Para saber si tu dispositivo está actualizado, ve a la <ph name="LINK_BEGIN" />configuración de Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Te damos la bienvenida a Chromium; se abrió una nueva ventana del navegador</translation>
 <translation id="4544142686420020088">No se actualizó Chromium porque se produjo un error. <ph name="BEGIN_LINK" />Soluciona los problemas de actualización y las actualizaciones con error de Chromium.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">¿Deseas continuar en un nuevo perfil de Chromium?</translation>
@@ -305,8 +304,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Cómo puedes administrar tu información:<ph name="END_BOLD" /> Para proteger tu privacidad, borramos los intereses automáticamente después de 4 semanas. Es posible que, a medida que navegues, un interés vuelva a aparecer en la lista. O bien, puedes quitar los intereses que no quieres que Chromium tenga en cuenta.</translation>
 <translation id="7937630085815544518">Accediste a Chromium con <ph name="USER_EMAIL_ADDRESS" />. Usa la misma cuenta para volver a acceder.</translation>
 <translation id="7975919845073681630">Como esta es una instalación secundaria de Chromium, no puede establecerse como tu navegador predeterminado.</translation>
-<translation id="7982481011030453202">Si no ves una opción de configuración en esta página, consulta la <ph name="LINK_BEGIN" />
-      configuración de Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Las extensiones, apps y temas de fuentes desconocidas pueden dañar tu dispositivo. Chromium recomienda instalarlas únicamente desde <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Una vez que Chromium tenga acceso, los sitios web podrán solicitarte acceso.</translation>
 <translation id="80471789339884597">Gracias por instalar <ph name="BUNDLE_NAME" />. Debes reiniciar todos los navegadores antes de usarlo.</translation>
diff --git a/chrome/app/resources/chromium_strings_es.xtb b/chrome/app/resources/chromium_strings_es.xtb
index c2120ee..d0d17ca5 100644
--- a/chrome/app/resources/chromium_strings_es.xtb
+++ b/chrome/app/resources/chromium_strings_es.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Permitir que Chromium se ejecute en segundo plano</translation>
 <translation id="4423735387467980091">Personaliza y controla Chromium</translation>
 <translation id="4427306783828095590">La protección mejorada es más eficaz para bloquear ataques de suplantación de identidad y software malicioso.</translation>
-<translation id="4440114195512068100">Para comprobar si tu dispositivo está actualizado, ve a los <ph name="LINK_BEGIN" />ajustes de ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Te damos la bienvenida a Chromium. Se ha abierto una nueva ventana del navegador.</translation>
 <translation id="4544142686420020088">Chromium no se ha actualizado, algo no va bien. <ph name="BEGIN_LINK" />Soluciona los problemas y errores de actualización de Chromium<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">¿Continuar en un nuevo perfil de Chromium?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Cómo puedes gestionar tus datos:<ph name="END_BOLD" /> para proteger tu privacidad, eliminamos automáticamente tus intereses si tienen una antigüedad superior a 4 semanas. A medida que sigas navegando, es posible que un interés vuelva a aparecer en la lista. También puedes eliminar los intereses que no quieras que Chromium tenga en cuenta.</translation>
 <translation id="7937630085815544518">Habías iniciado sesión en Chromium como <ph name="USER_EMAIL_ADDRESS" />. Utiliza la misma cuenta para volver a iniciar sesión.</translation>
 <translation id="7975919845073681630">Esta instalación de Chromium es secundaria, por lo que no se puede establecer como navegador predeterminado.</translation>
-<translation id="7982481011030453202">Si no se muestra algún ajuste en esta página, consulta la <ph name="LINK_BEGIN" />
-      configuración de ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Las extensiones, las aplicaciones y los temas de fuentes desconocidas pueden dañar tu dispositivo. Chromium recomienda instalarlos únicamente desde <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Una vez que Chromium tenga acceso, los sitios web podrán solicitarlo también.</translation>
 <translation id="80471789339884597">Gracias por realizar la instalación. Debes reiniciar todos tus navegadores para poder usar <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_et.xtb b/chrome/app/resources/chromium_strings_et.xtb
index f9bc2ef5..3a31afb 100644
--- a/chrome/app/resources/chromium_strings_et.xtb
+++ b/chrome/app/resources/chromium_strings_et.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Luba Chromiumil taustal töötada</translation>
 <translation id="4423735387467980091">Chromiumi kohandamine ja juhtimine</translation>
 <translation id="4427306783828095590">Täiustatud kaitse aitab andmepüüki ja pahavara paremini blokeerida</translation>
-<translation id="4440114195512068100">Kui soovite teada saada, kas teie seade on ajakohane, avage <ph name="LINK_BEGIN" />Chromium OS-i seaded<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Tere tulemast Chromiumi; avati uus brauseriaken</translation>
 <translation id="4544142686420020088">Chromiumit ei värskendatud, midagi läks valesti. <ph name="BEGIN_LINK" />Lahendage Chromiumi värskendamisprobleemid ja parandage ebaõnnestunud värskendused.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Kas jätkata uuel Chromiumi profiilil?</translation>
@@ -310,8 +309,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kuidas saate oma andmeid hallata?<ph name="END_BOLD" /> Teie privaatsuse kaitsmiseks kustutame automaatselt huvid, mis on vanemad kui 4 nädalat. Kui jätkate sirvimist, võib huvi uuesti loendis ilmuda. Võite ka eemaldada huvid, mida te ei soovi lasta Chromiumil arvesse võtta.</translation>
 <translation id="7937630085815544518">Olite Chromiumisse sisse logitud kasutajana <ph name="USER_EMAIL_ADDRESS" />. Kasutage uuesti sisselogimiseks sama kontot.</translation>
 <translation id="7975919845073681630">See on Chromiumi sekundaarne install ja seda ei saa määrata vaikebrauseriks.</translation>
-<translation id="7982481011030453202">Kui seadet sellel lehel ei kuvata, vaadake oma <ph name="LINK_BEGIN" />
-      Chromium OS-i seadeid<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Tundmatutest allikatest pärinevad laiendused, rakendused ja teemad võivad teie seadet kahjustada. Chromium soovitab neid ainult järgmisest poest installida: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kui annate Chromiumile juurdepääsu, saavad veebisaidid küsida teilt juurdepääsuluba.</translation>
 <translation id="80471789339884597">Täname teid installimise eest. Enne brauseri <ph name="BUNDLE_NAME" /> kasutamist peate taaskäivitama kõik brauserid.</translation>
diff --git a/chrome/app/resources/chromium_strings_eu.xtb b/chrome/app/resources/chromium_strings_eu.xtb
index 31727633..f5ddf24 100644
--- a/chrome/app/resources/chromium_strings_eu.xtb
+++ b/chrome/app/resources/chromium_strings_eu.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Onartu Chromium atzeko planoan abiaraztea</translation>
 <translation id="4423735387467980091">Pertsonalizatu eta kontrolatu Chromium</translation>
 <translation id="4427306783828095590">Babes handiagoa eskaintzen du phishingaren eta malwarearen aurka</translation>
-<translation id="4440114195512068100">Gailua eguneratuta dagoen ikusteko, joan <ph name="LINK_BEGIN" />Chromium OS-ren ezarpenetara<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Ongi etorri Chromium-era; beste leiho bat ireki da arakatzailean</translation>
 <translation id="4544142686420020088">Chromium ez da eguneratu arazoren bat izan delako. <ph name="BEGIN_LINK" />Konpondu Chromium eguneratzeko arazoak eta huts egindako eguneratzeak.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Chromium-eko beste profil batean egin nahi duzu aurrera?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Nola kudea ditzakezu datuak?<ph name="END_BOLD" /> Zure pribatutasuna babesteko, lau aste baino gehiago dituzten interesak automatikoki ezabatzen ditugu. Arakatzen jarraitu ahala, baliteke interes bat berriro agertzea zerrendan. Bestela, Chromium-ek aintzat hartzea nahi ez duzun interesak ken ditzakezu.</translation>
 <translation id="7937630085815544518">Chromium-en <ph name="USER_EMAIL_ADDRESS" /> gisa hasi duzu saioa. Saioa berriro hasteko, erabili hasiera batean erabilitako kontu bera.</translation>
 <translation id="7975919845073681630">Chromium-en bigarren mailako instalazio bat da hau; beraz, ezin duzu ezarri arakatzaile lehenetsi gisa.</translation>
-<translation id="7982481011030453202">Ezarpenen bat orri honetan agertzen ez bada, bila ezazu <ph name="LINK_BEGIN" />Chromium OS-ren ezarpenetan<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Iturburu ezezagunetatik datozen luzapenek, aplikazioek eta gaiek gailua kalte dezakete. Halakoak <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> zerbitzutik bakarrik instalatzea gomendatzen du Chromium-ek.</translation>
 <translation id="8013436988911883588">Chromium-ek sarbidea duenean, webguneek sarbidea eskatuko dizute.</translation>
 <translation id="80471789339884597">Eskerrik asko instalatzeagatik. <ph name="BUNDLE_NAME" /> erabiltzeko, arakatzaile guztiak berrabiarazi behar dituzu.</translation>
diff --git a/chrome/app/resources/chromium_strings_fa.xtb b/chrome/app/resources/chromium_strings_fa.xtb
index 3b863f9..1d8c760a 100644
--- a/chrome/app/resources/chromium_strings_fa.xtb
+++ b/chrome/app/resources/chromium_strings_fa.xtb
@@ -145,7 +145,6 @@
 <translation id="4415566066719264597">‏اجازه به Chromium برای اجرا در پس‌زمینه</translation>
 <translation id="4423735387467980091">‏سفارشی کردن و کنترل Chromium</translation>
 <translation id="4427306783828095590">«محافظت بهبودیافته» کارهای بیشتری برای مسدود کردن رمزگیری و بدافزار انجام می‌دهد</translation>
-<translation id="4440114195512068100">‏برای اینکه ببینید دستگاهتان به‌روز است یا نه، به <ph name="LINK_BEGIN" />تنظیمات ChromiumOS<ph name="LINK_END" /> بروید</translation>
 <translation id="452711251841752011">‏به Chromium خوش‌آمدید؛ پنجره مرورگر جدید راه‌اندازی شد</translation>
 <translation id="4544142686420020088">‏Chromium به‌روزرسانی نشد؛ مشکلی پیش آمد. <ph name="BEGIN_LINK" />مشکلات به‌روزرسانی Chromium و به‌روزرسانی‌های ناموفق را برطرف کنید.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">‏در نمایه جدید Chromium ادامه می‌دهید؟</translation>
@@ -309,8 +308,6 @@
 <translation id="7877292582355102282">‏<ph name="BEGIN_BOLD" />چگونه می‌توانید داده‌هایتان را مدیریت کنید:<ph name="END_BOLD" /> برای محافظت از حریم خصوصی شما، علایقی را که قدیمی‌تر از ۴ هفته باشد به‌طور خودکار حذف می‌کنیم. وقتی به مرور کردن ادامه می‌دهید، ممکن است علاقه‌ای مجدداً به فهرست اضافه شود. یا می‌توانید علایقی را که نمی‌خواهید Chromium مدنظر قرار دهد حذف کنید.</translation>
 <translation id="7937630085815544518">‏شما بعنوان <ph name="USER_EMAIL_ADDRESS" /> وارد سیستم Chromium شده‌اید. لطفاً برای ورود به سیستم مجدد از همان حساب استفاده کنید.</translation>
 <translation id="7975919845073681630">‏این نصب ثانویه Chromium است و نمی‌تواند مرورگر پیش‌فرضتان شود.</translation>
-<translation id="7982481011030453202">‏اگر تنظیمی در این صفحه نشان داده نمی‌شود، در <ph name="LINK_BEGIN" />
-      تنظیمات ChromiumOS<ph name="LINK_END" /> آن را جستجو کنید</translation>
 <translation id="7997934263947464652">‏افزونه‌ها، برنامه‌ها، و زمینه‌های دریافتی از منابع ناشناخته می‌توانند به دستگاهتان آسیب برسانند. Chromium توصیه می‌کند آن‌ها را فقط از <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> نصب کنید</translation>
 <translation id="8013436988911883588">‏وقتی Chromium دسترسی داشته باشد، وب‌سایت‌ها می‌توانند مجوز دسترسی درخواست کنند.</translation>
 <translation id="80471789339884597">بابت نصب از شما سپاس‌گزاریم. قبل‌از استفاده از <ph name="BUNDLE_NAME" />، باید همه مرورگرها را بازراه‌اندازی کنید.</translation>
diff --git a/chrome/app/resources/chromium_strings_fi.xtb b/chrome/app/resources/chromium_strings_fi.xtb
index 403da3b..029bd04 100644
--- a/chrome/app/resources/chromium_strings_fi.xtb
+++ b/chrome/app/resources/chromium_strings_fi.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Jätä Chromium käyntiin taustalle</translation>
 <translation id="4423735387467980091">Chromiumin muokkaus ja hallinta</translation>
 <translation id="4427306783828095590">Parannettu suojaus torjuu tietojenkalastelua ja haittaohjelmia entistä tehokkaammin</translation>
-<translation id="4440114195512068100">Tarkista <ph name="LINK_BEGIN" />Chromium-käyttöjärjestelmän asetuksista<ph name="LINK_END" />, onko laitteesi ajan tasalla</translation>
 <translation id="452711251841752011">Tervetuloa Chromiumiin, uusi selainikkuna avattu</translation>
 <translation id="4544142686420020088">Chromiumia ei päivitetty, vaan jotain meni pieleen. <ph name="BEGIN_LINK" />Korjaa Chromiumin päivitysongelmat ja epäonnistuneet päivitykset<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">Jatketaanko uudessa Chromium-profiilissa?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Miten voit vaikuttaa dataasi:<ph name="END_BOLD" /> Yksityisyytesi suojaamiseksi poistamme automaattisesti yli neljä viikkoa vanhat kiinnostuksen kohteet. Kun jatkat selaamista, kiinnostuksen kohde voi näkyä listalla uudelleen. Voit myös poistaa kiinnostuksen kohteet, joita et halua Chromiumin ottavan huomioon.</translation>
 <translation id="7937630085815544518">Chromiumiin kirjautunut käyttäjä: <ph name="USER_EMAIL_ADDRESS" />. Kirjaudu uudelleen sisään samalla tilillä.</translation>
 <translation id="7975919845073681630">Tämä on Chromiumin toissijainen asennus, eikä sitä voi asettaa oletusselaimeksi.</translation>
-<translation id="7982481011030453202">Jos asetus ei näy tällä sivulla, siirry <ph name="LINK_BEGIN" />
-      Chromium-käyttöjärjestelmän asetuksiin<ph name="LINK_END" />.</translation>
 <translation id="7997934263947464652">Jos laajennukset, sovellukset ja teemat ovat tuntemattomista lähteistä, ne voivat vahingoittaa laitetta. Chromium suosittelee niiden asentamista vain täältä: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kun Chromiumilla on käyttöoikeus, sivustot voivat pyytää sitä sinulta.</translation>
 <translation id="80471789339884597">Kiitos asennuksesta. Kaikki selaimet pitää käynnistää uudelleen ennen kuin <ph name="BUNDLE_NAME" /> otetaan käyttöön.</translation>
diff --git a/chrome/app/resources/chromium_strings_fil.xtb b/chrome/app/resources/chromium_strings_fil.xtb
index ae1d667..fc519ec 100644
--- a/chrome/app/resources/chromium_strings_fil.xtb
+++ b/chrome/app/resources/chromium_strings_fil.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Hayaang Tumakbo ang Chromium sa Background</translation>
 <translation id="4423735387467980091">I-customize at kontrolin ang Chromium</translation>
 <translation id="4427306783828095590">Mas maraming magagawa ang pinahusay na proteksyon para mag-block ng phishing and malware</translation>
-<translation id="4440114195512068100">Para makita kung up to date ang iyong device, pumunta sa <ph name="LINK_BEGIN" />Mga Setting ng ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Welcome sa Chromium; binuksan ang bagong window ng browser</translation>
 <translation id="4544142686420020088">Hindi na-update ang Chromium, nagkaproblema. <ph name="BEGIN_LINK" />Ayusin ang mga problema sa pag-update ng Chromium at ang mga hindi naisagawang pag-update dito.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Magpatuloy sa bagong profile sa Chromium?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Paano mo mapapamahalaan ang iyong data:<ph name="END_BOLD" /> Para protektahan ang iyong privacy, awtomatiko naming dine-delete ang mga interes mo na mas matagal sa 4 na linggo. Habang patuloy kang nagba-browse, posibleng lumabas ulit sa listahan ang isang interes. O puwede kang mag-alis ng mga interes na ayaw mong isaalang-alang ng Chromium.</translation>
 <translation id="7937630085815544518">Naka-sign in ka sa Chromium bilang <ph name="USER_EMAIL_ADDRESS" />. Pakigamit ang parehong account upang mag-sign in muli.</translation>
 <translation id="7975919845073681630">Pangalawang pag-install ito ng Chromium at hindi ito maaaring gawing iyong default na browser.</translation>
-<translation id="7982481011030453202">Kung hindi lumalabas ang isang setting sa page na ito, tingnan sa iyong <ph name="LINK_BEGIN" />
-      mga setting ng ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Puwedeng mapinsala ng mga extension, app, at tema mula sa mga hindi kilalang source ang iyong device. Inirerekomenda ng Chromium na i-install lang ang mga ito mula sa <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kapag mayroon nang access ang Chromium, makakahingi na ang mga website ng access sa iyo.</translation>
 <translation id="80471789339884597">Salamat sa pag-install. Dapat mong i-restart ang lahat ng iyong browser bago gamitin ang <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_fr-CA.xtb b/chrome/app/resources/chromium_strings_fr-CA.xtb
index fd1acf8..4436c6f 100644
--- a/chrome/app/resources/chromium_strings_fr-CA.xtb
+++ b/chrome/app/resources/chromium_strings_fr-CA.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Laisser Chromium s'exécuter en arrière-plan</translation>
 <translation id="4423735387467980091">Personnaliser et commander Chrome</translation>
 <translation id="4427306783828095590">La protection renforcée en fait plus pour bloquer l'hameçonnage et les logiciels nuisibles</translation>
-<translation id="4440114195512068100">Pour voir si votre appareil est à jour, accédez aux <ph name="LINK_BEGIN" />paramètres de Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Bienvenue à Chromium, une nouvelle fenêtre de navigateur a été ouverte</translation>
 <translation id="4544142686420020088">La mise à jour de Chromium n'a pas été installée. Une erreur s'est produite. <ph name="BEGIN_LINK" />Découvrez comment résoudre les problèmes de mise à jour de Chromium.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Continuer avec un nouveau profil Chromium?</translation>
@@ -312,8 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Comment gérer vos données :<ph name="END_BOLD" /> afin de protéger votre confidentialité, nous supprimons automatiquement vos centres d'intérêt ayant plus de quatre semaines. Au fur et à mesure que vous naviguez, un centre d'intérêt peut réapparaître sur la liste. Vous pouvez également retirer des centres d'intérêt si vous ne voulez pas que Chromium les prenne en compte.</translation>
 <translation id="7937630085815544518">Vous étiez connecté à Chromium en tant que <ph name="USER_EMAIL_ADDRESS" />. Veuillez utiliser le même compte pour vous reconnecter.</translation>
 <translation id="7975919845073681630">Cette installation de Chromium est secondaire. Celui-ci ne peut donc pas servir de navigateur par défaut.</translation>
-<translation id="7982481011030453202">Si un paramètre ne s'affiche pas sur cette page, consultez vos <ph name="LINK_BEGIN" />
-      paramètres de Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Les extensions, les applications et les thèmes provenant de sources inconnues peuvent endommager votre appareil. Chromium recommande de les installer uniquement à partir de <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Lorsque Chromium y aura accès, les sites Web pourront vous demander l'accès.</translation>
 <translation id="80471789339884597">Merci pour l'installation. Vous devez redémarrer tous vos navigateurs avant d'utiliser <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_fr.xtb b/chrome/app/resources/chromium_strings_fr.xtb
index 27c96419..e5139818 100644
--- a/chrome/app/resources/chromium_strings_fr.xtb
+++ b/chrome/app/resources/chromium_strings_fr.xtb
@@ -147,7 +147,6 @@
 <translation id="4415566066719264597">Laisser Chromium s'exécuter en arrière-plan</translation>
 <translation id="4423735387467980091">Personnaliser et contrôler Chromium</translation>
 <translation id="4427306783828095590">La protection renforcée assure une meilleure protection contre l'hameçonnage et les logiciels malveillants</translation>
-<translation id="4440114195512068100">Pour savoir si votre appareil est à jour, accédez aux <ph name="LINK_BEGIN" />paramètres Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Bienvenue dans Chromium, une nouvelle fenêtre du navigateur a été ouverte</translation>
 <translation id="4544142686420020088">Échec de la mise à jour de Chromium en raison d'une erreur. <ph name="BEGIN_LINK" />Découvrez comment résoudre ce type de problème.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Continuer avec un nouveau profil Chromium ?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Comment vous pouvez gérer vos données<ph name="END_BOLD" /> : pour protéger votre confidentialité, nous supprimons automatiquement vos centres d'intérêt s'ils datent de plus de quatre semaines. Au fil de votre navigation, un centre d'intérêt peut réapparaître dans la liste. Vous pouvez aussi supprimer des centres d'intérêt si vous ne souhaitez pas que Chromium les prenne en compte.</translation>
 <translation id="7937630085815544518">Vous étiez connecté à Chromium en tant que <ph name="USER_EMAIL_ADDRESS" />. Veuillez utiliser le même compte pour vous reconnecter.</translation>
 <translation id="7975919845073681630">Ceci est une installation secondaire de Chromium. Vous ne pouvez pas le définir comme navigateur par défaut.</translation>
-<translation id="7982481011030453202">Si un paramètre ne s'affiche pas sur cette page, accédez aux <ph name="LINK_BEGIN" />paramètres Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Les extensions, les applications et les thèmes provenant de sources inconnues risquent d'endommager votre appareil. Chromium recommande de les installer uniquement à partir du <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Une fois l'accès à une ressource accordé à Chromium, les sites Web sont également en mesure de vous demander l'accès.</translation>
 <translation id="80471789339884597">Merci d'avoir installé notre produit. Vous devez redémarrer tous vos navigateurs avant d'utiliser <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_gl.xtb b/chrome/app/resources/chromium_strings_gl.xtb
index 787ded7..1247abf 100644
--- a/chrome/app/resources/chromium_strings_gl.xtb
+++ b/chrome/app/resources/chromium_strings_gl.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Deixar que Chromium se execute en segundo plano</translation>
 <translation id="4423735387467980091">Personaliza e controla Chromium</translation>
 <translation id="4427306783828095590">A protección mellorada é máis eficaz á hora de bloquear o phishing e o software malicioso</translation>
-<translation id="4440114195512068100">Para ver ser o teu dispositivo está actualizado, accede á <ph name="LINK_BEGIN" />configuración de Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Dámosche a benvida a Chromium. Abriuse unha nova ventá do navegador</translation>
 <translation id="4544142686420020088">Chromium non se actualizou, xa que se produciu un erro. <ph name="BEGIN_LINK" />Soluciona os problemas de actualización de Chromium e as actualizacións que non se puidesen realizar<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">Queres continuar nun perfil de Chromium novo?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Como podes xestionar os teus datos?<ph name="END_BOLD" /> Para protexer a túa privacidade, eliminamos automaticamente os teus intereses cuxa antigüidade sexa superior a 4 semanas. Algúns poderían volver incluírse na lista ao seguires navegando. Se o prefires, podes quitar os intereses que non queiras que teña en conta Chromium.</translation>
 <translation id="7937630085815544518">Iniciaches sesión en Chromium como <ph name="USER_EMAIL_ADDRESS" />. Utiliza a mesma conta para iniciar sesión de novo.</translation>
 <translation id="7975919845073681630">Esta é unha instalación secundaria de Chromium e non se pode converter no teu navegador predeterminado.</translation>
-<translation id="7982481011030453202">Se non se mostra algunha opción de configuración nesta páxina, accede á <ph name="LINK_BEGIN" />configuración de Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">As extensións, as aplicacións e os temas de fontes descoñecidas poden danar o dispositivo. Chromium recomenda que os instales só desde <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Unha vez que Chromium teña acceso, os sitios web poderán solicitalo tamén.</translation>
 <translation id="80471789339884597">Grazas por levar a cabo a instalación. Para utilizar <ph name="BUNDLE_NAME" />, debes reiniciar todos os teus navegadores.</translation>
diff --git a/chrome/app/resources/chromium_strings_gu.xtb b/chrome/app/resources/chromium_strings_gu.xtb
index b069269..60e830a 100644
--- a/chrome/app/resources/chromium_strings_gu.xtb
+++ b/chrome/app/resources/chromium_strings_gu.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromiumને બૅકગ્રાઉન્ડમાં ચાલવા દો</translation>
 <translation id="4423735387467980091">Chromium ને કસ્ટમાઇઝ અને નિયંત્રિત કરો</translation>
 <translation id="4427306783828095590">વધારેલી સુરક્ષા ફિશિંગ અને માલવેરને બ્લૉક કરવામાં વધુ સહાયરૂપ થાય છે</translation>
-<translation id="4440114195512068100">તમારું ડિવાઇસ અપ ટૂ ડેટ છે કે નહીં, તે જાણવા માટે <ph name="LINK_BEGIN" />ChromiumOS સેટિંગ<ph name="LINK_END" /> પર જાઓ</translation>
 <translation id="452711251841752011">Chromium પર આપનું સ્વાગત છે; નવી બ્રાઉઝર વિન્ડો ખોલી છે</translation>
 <translation id="4544142686420020088">કંઈક ખોટુ થયું હોવાને કારણે Chromium અપડેટ થયું નથી. <ph name="BEGIN_LINK" />Chromium અપડેટ કરવામાં આવતી સમસ્યાઓ અને નિષ્ફળ થયેલા અપડેટ સુધારો.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">નવી Chromium પ્રોફાઇલમાં બ્રાઉઝિંગ ચાલુ રાખીએ?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />તમે તમારો ડેટા કેવી રીતે મેનેજ કરી શકો છો:<ph name="END_BOLD" /> તમારી પ્રાઇવસીની સુરક્ષા કરવા માટે, અમે 4 અઠવાડિયા કરતાં જૂની હોય એવી તમારી રુચિઓને ઑટોમૅટિક રીતે ડિલીટ કરીએ છીએ. તમે જેમ જેમ બ્રાઉઝ કરતા રહો છો, તેમ તેમ તમારી રુચિનો વિષય ફરી સૂચિમાં દેખાઈ શકે છે. અથવા તમે તમારી રુચિના એવા વિષયો કાઢી નાખી શકો છો કે જેમને તમે Chromiumની સૂચિમાં શામેલ કરવા માગતા નથી.</translation>
 <translation id="7937630085815544518">તમે Chromium માં <ph name="USER_EMAIL_ADDRESS" /> તરીકે સાઇન ઇન કર્યું હતું. ફરીથી સાઇન ઇન કરવા માટે કૃપા કરીને એ જ એકાઉન્ટનો ઉપયોગ કરો.</translation>
 <translation id="7975919845073681630">આ Google Chrome નું દ્વિતીય ઇન્સ્ટૉલેશન છે અને આને તમારું ડિફૉલ્ટ બ્રાઉઝર બનાવી શકાતું નથી.</translation>
-<translation id="7982481011030453202">જો આ પેજ પર સેટિંગ બતાવેલું ન હોય, તો તમારા <ph name="LINK_BEGIN" />
-      ChromiumOS સેટિંગ<ph name="LINK_END" />માં જુઓ</translation>
 <translation id="7997934263947464652">અજાણ્યા સ્રોતો પરના એક્સ્ટેન્શન, ઍપ અને થીમ તમારા ડિવાઇસને નુકસાન પહોંચાડી શકે છે. Chromium તેમને <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> પરથી જ ઇન્સ્ટૉલ કરવાનો સુઝાવ આપે છે</translation>
 <translation id="8013436988911883588">એકવાર Chromiumને ઍક્સેસ મળે, તે પછી વેબસાઇટ તમારી પાસે ઍક્સેસ માગી શકશે.</translation>
 <translation id="80471789339884597">ઇન્સ્ટૉલ કરવા બદલ આભાર. તમારે <ph name="BUNDLE_NAME" />નો ઉપયોગ કરતા પહેલાં તમારા બધા બ્રાઉઝર ફરી શરૂ કરવા આવશ્યક છે.</translation>
diff --git a/chrome/app/resources/chromium_strings_hi.xtb b/chrome/app/resources/chromium_strings_hi.xtb
index 3a9255b5..ad6a31a4 100644
--- a/chrome/app/resources/chromium_strings_hi.xtb
+++ b/chrome/app/resources/chromium_strings_hi.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">क्रोमियम को बैकग्राउंड में चलने दें</translation>
 <translation id="4423735387467980091">क्रोमियम को पसंद के मुताबिक बनाएं और नियंत्रित करें</translation>
 <translation id="4427306783828095590">बेहतर सुरक्षा की मदद से फ़िशिंग और मैलवेयर को बेहतर तरीके से ब्लॉक किया जाता है</translation>
-<translation id="4440114195512068100">यह देखने के लिए कि आपका डिवाइस अपडेट है या नहीं, <ph name="LINK_BEGIN" />ChromiumOS की सेटिंग<ph name="LINK_END" /> पर जाएं</translation>
 <translation id="452711251841752011">Chromium में आपका स्वागत है; नई ब्राउज़र विंडो खोली गई</translation>
 <translation id="4544142686420020088">किसी गड़बड़ी की वजह से क्रोमियम अपडेट नहीं हुआ. <ph name="BEGIN_LINK" />क्रोमियम को अपडेट करने से जुड़ी समस्याएं और नहीं हो पाने वाले अपडेट ठीक करें.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">क्या आप नए Chromium प्रोफ़ाइल में ब्राउज़िंग जारी रखना चाहते हैं?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />अपना डेटा कैसे मैनेज करें:<ph name="END_BOLD" /> आपकी निजता को सुरक्षित रखने के लिए, हम आपकी पसंद के उन विषयों को ऑटोमैटिकली मिटा देते हैं जिनका अनुमान चार हफ़्ते पहले लगाया गया था. ब्राउज़ करते रहने पर, आपकी पसंद का कोई विषय, सूची में फिर से शामिल किया जा सकता है. इसके अलावा, आपके पास उन विषयों को हटाने का भी विकल्प होता है जिन्हें आपको Chromium की सूची में शामिल नहीं करवाना है.</translation>
 <translation id="7937630085815544518">आपने क्रोमियम में <ph name="USER_EMAIL_ADDRESS" /> के रूप में साइन इन किया था. फिर से साइन इन करने के लिए कृपया उसी खाते का इस्तेमाल करें.</translation>
 <translation id="7975919845073681630">यह क्रोमियम का द्वितीयक इंस्टॉलेशन है और इसे आपका डिफ़ॉल्ट ब्राउज़र नहीं बनाया जा सकता.</translation>
-<translation id="7982481011030453202">अगर इस पेज पर सेटिंग नहीं दिखती है, तो <ph name="LINK_BEGIN" />
-     ChromiumOS की सेटिंग<ph name="LINK_END" /> देखें</translation>
 <translation id="7997934263947464652">नामालूम स्रोत से डाउनलोड किए गए एक्सटेंशन, ऐप्लिकेशन, और थीम से आपके डिवाइस को नुकसान पहुंच सकता है. हमारा सुझाव है कि आप इन्हें सिर्फ़ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> से इंस्टॉल करें</translation>
 <translation id="8013436988911883588">क्रोमियम को ऐक्सेस मिलने के बाद, वेबसाइटें आपसे ऐक्सेस मांग सकेंगी.</translation>
 <translation id="80471789339884597">इंस्टॉल करने के लिए धन्यवाद. <ph name="BUNDLE_NAME" /> का इस्तेमाल करने से पहले, आपको सभी ब्राउज़र रीस्टार्ट करने होंगे.</translation>
diff --git a/chrome/app/resources/chromium_strings_hr.xtb b/chrome/app/resources/chromium_strings_hr.xtb
index bbf11ab5..8fc7b8c 100644
--- a/chrome/app/resources/chromium_strings_hr.xtb
+++ b/chrome/app/resources/chromium_strings_hr.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Neka Chromium radi u pozadini</translation>
 <translation id="4423735387467980091">Prilagodite Chromium i upravljajte njime</translation>
 <translation id="4427306783828095590">Poboljšana zaštita blokira krađu identiteta i zlonamjerni softver na više načina</translation>
-<translation id="4440114195512068100">Ažuriranost uređaja možete provjeriti u <ph name="LINK_BEGIN" />postavkama Chromium OS-a<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Dobro došli u Chromium; otvorio se novi prozor preglednika</translation>
 <translation id="4544142686420020088">Chromium se nije ažurirao zbog pogreške. <ph name="BEGIN_LINK" />Riješite probleme s ažuriranjem i neuspjela ažuriranja Chromiuma.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Želite li nastaviti na novom profilu u Chromiumu?</translation>
@@ -311,7 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kako možete upravljati svojim podacima<ph name="END_BOLD" />: da bismo zaštitili vašu privatnost, automatski brišemo vaše interese starije od četiri tjedna. Tijekom vašeg daljnjeg pregledavanja neki se interes može ponovo pojaviti na popisu. Možete i ukloniti interese za koje ne želite da ih Chromium razmatra.</translation>
 <translation id="7937630085815544518">Bili ste prijavljeni na Chromium kao <ph name="USER_EMAIL_ADDRESS" />. Prijavite se ponovo istim računom.</translation>
 <translation id="7975919845073681630">Ovo je sekundarna instalacija Chromiuma, pa on ne može biti vaš zadani preglednik.</translation>
-<translation id="7982481011030453202">Ako se postavka ne prikazuje na ovoj stranici, pogledajte <ph name="LINK_BEGIN" />postavke Chromium OS-a<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Proširenja, aplikacije i teme iz nepoznatih izvora mogu naštetiti vašem uređaju. Chromium preporučuje da ih instalirate samo s usluge <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, web-lokacije će vas moći tražiti pristup.</translation>
 <translation id="80471789339884597">Zahvaljujemo što ste izvršili instaliranje. Da biste mogli koristiti <ph name="BUNDLE_NAME" />, morate ponovno pokrenuti sve preglednike.</translation>
diff --git a/chrome/app/resources/chromium_strings_hu.xtb b/chrome/app/resources/chromium_strings_hu.xtb
index 46aa2796..064630b 100644
--- a/chrome/app/resources/chromium_strings_hu.xtb
+++ b/chrome/app/resources/chromium_strings_hu.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">A Chromium futhat a háttérben</translation>
 <translation id="4423735387467980091">A Chromium személyre szabása és beállításai</translation>
 <translation id="4427306783828095590">A Speciális védelem még többet tesz annak érdekében, hogy letiltsa az adathalászatot és a rosszindulatú programokat</translation>
-<translation id="4440114195512068100">Ha szeretné megtekinteni, hogy eszköze naprakész-e, lépjen a <ph name="LINK_BEGIN" />ChromiumOS beállításaihoz<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Üdvözöljük a Chromiumban; új böngészőablak megnyitva</translation>
 <translation id="4544142686420020088">Ismeretlen hiba történt, ezért a Chromium nem frissült. <ph name="BEGIN_LINK" />A Chromium frissítési problémáinak megoldása.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Biztosan új Chromium-profilban folytatja?</translation>
@@ -309,8 +308,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Az adatok kezelésének módja:<ph name="END_BOLD" /> Adatai védelme érdekében a négy hétnél régebbi érdeklődési köreit automatikusan töröljük. Böngészési tevékenysége alapján az érdeklődési körök újra megjelenhetnek a listákon. Arra is lehetősége van, hogy eltávolítsa azokat az érdeklődési köröket, amelyeket nem szeretne, hogy a Chromium figyelembe vegyen.</translation>
 <translation id="7937630085815544518"><ph name="USER_EMAIL_ADDRESS" /> néven volt bejelentkezve a Chromiumba. Kérjük, ugyanazzal a fiókkal jelentkezzen be újra.</translation>
 <translation id="7975919845073681630">Ez a Chromium második telepítése, amelyet nem állíthat be az alapértelmezett böngészővé.</translation>
-<translation id="7982481011030453202">Ha valamelyik beállítás nem látható ezen az oldalon, keresse a <ph name="LINK_BEGIN" />
-     ChromiumOS beállításai<ph name="LINK_END" /> között</translation>
 <translation id="7997934263947464652">Az ismeretlen forrásból származó bővítmények, alkalmazások és témák károsíthatják az eszközt. A Chromium azt javasolja, hogy csak a következő helyről telepítse őket: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Miután hozzáférést biztosított a Chromiumnak, a webhelyek is hozzáférést kérhetnek.</translation>
 <translation id="80471789339884597">Köszönjük, hogy elvégezte a telepítést. A(z) <ph name="BUNDLE_NAME" /> használata előtt minden böngészőt újra kell indítania.</translation>
diff --git a/chrome/app/resources/chromium_strings_hy.xtb b/chrome/app/resources/chromium_strings_hy.xtb
index 4a8747e1..36eb8a5 100644
--- a/chrome/app/resources/chromium_strings_hy.xtb
+++ b/chrome/app/resources/chromium_strings_hy.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Թույլատրել Chromium-ին աշխատել ֆոնային ռեժիմում</translation>
 <translation id="4423735387467980091">Հարմարեցնել և վերահսկել Chromium-ը</translation>
 <translation id="4427306783828095590">Լրացուցիչ պաշտպանությունն օգնում է խուսափել ֆիշինգից և արգելափակել վնասաբեր ծրագրերը</translation>
-<translation id="4440114195512068100">Սարքի ծրագրակազմի տարբերակը տեսնելու համար անցեք <ph name="LINK_BEGIN" />ChromiumOS-ի կարգավորումներ<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Բարի գալուստ Chromium․ բացված է դիտարկիչի նոր պատուհան</translation>
 <translation id="4544142686420020088">Անհայտ սխալի պատճառով չհաջողվեց թարմացնել Chromium-ը։ <ph name="BEGIN_LINK" />Շտկել Chromium-ի թարմացման հետ կապված խնդիրները<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Շարունակե՞լ Chromium-ի նոր պրոֆիլով</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Ինչպես կարող եք կառավարել ձեր տվյալները.<ph name="END_BOLD" /> ձեր գաղտնիությունը պաշտպանելու նպատակով մենք 4 շաբաթից ավտոմատ ջնջում ենք ձեր հետաքրքրությունները։ Երբ դուք շարունակում եք դիտել վեբ էջեր, համապատասխան հետաքրքրությունը կարող է նորից հայտնվել ցանկում։ Որպեսզի Chromium-ը հաշվի չառնի որոշակի հետաքրքրությունները, կարող եք դրանք հեռացնել։</translation>
 <translation id="7937630085815544518">Դուք մուտք եք գործել Chromium որպես <ph name="USER_EMAIL_ADDRESS" />: Նորից մուտք գործելու համար օգտագործեք նույն հաշիվը:</translation>
 <translation id="7975919845073681630">Սա Chromium-ի երկրորդային տեղադրումն է: Այն չի կարող դառնալ ձեր կանխադրված դիտարկիչը:</translation>
-<translation id="7982481011030453202">Եթե որևէ կարգավորում չտեսնեք այս էջում, փնտրեք այն ձեր <ph name="LINK_BEGIN" />ChromiumOS-ի կարգավորումներում<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Անհայտ աղբյուրներից ընդլայնումները, հավելվածներն ու թեմաները կարող են վնասել ձեր սարքը։ Chromium-ը խորհուրդ է տալիս դրանք տեղադրել միայն <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-ից։</translation>
 <translation id="8013436988911883588">Երբ Chromium-ը հասանելիություն ստանա, կայքերը կկարողանան ձեզնից հասանելիություն խնդրել։</translation>
 <translation id="80471789339884597">Շնորհակալություն տեղադրելու համար։ Նախքան <ph name="BUNDLE_NAME" />-ն օգտագործելը դուք պետք է վերագործարկեք ձեր բոլոր դիտարկիչները։</translation>
diff --git a/chrome/app/resources/chromium_strings_id.xtb b/chrome/app/resources/chromium_strings_id.xtb
index fafb2c1..faed0934 100644
--- a/chrome/app/resources/chromium_strings_id.xtb
+++ b/chrome/app/resources/chromium_strings_id.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Jalankan Chromium di Background</translation>
 <translation id="4423735387467980091">Menyesuaikan dan mengontrol Chromium</translation>
 <translation id="4427306783828095590">Perlindungan yang ditingkatkan akan memblokir phishing dan malware dengan lebih optimal</translation>
-<translation id="4440114195512068100">Untuk melihat apakah versi pada perangkat Anda adalah yang terbaru, buka <ph name="LINK_BEGIN" />Setelan ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Selamat datang di Chromium; jendela browser baru terbuka</translation>
 <translation id="4544142686420020088">Chromium tidak dapat diupdate, terjadi error. <ph name="BEGIN_LINK" />Perbaiki masalah update Chrome dan update yang gagal.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Lanjutkan di profil Chromium baru?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Cara Anda dapat mengelola data Anda:<ph name="END_BOLD" /> Untuk melindungi privasi Anda, kami otomatis menghapus minat yang tersimpan lebih dari 4 minggu. Saat Anda terus menjelajah, minat dapat kembali muncul di daftar. Atau Anda dapat menghapus minat yang tidak perlu dipertimbangkan oleh Chromium.</translation>
 <translation id="7937630085815544518">Anda telah masuk ke Chromium sebagai <ph name="USER_EMAIL_ADDRESS" />. Gunakan akun yang sama untuk masuk kembali.</translation>
 <translation id="7975919845073681630">Ini adalah pemasangan Chromium sekunder, dan tidak dapat digunakan sebagai browser default.</translation>
-<translation id="7982481011030453202">Jika setelan tidak muncul di halaman ini, buka <ph name="LINK_BEGIN" />
-      setelan ChromiumOS<ph name="LINK_END" /> Anda</translation>
 <translation id="7997934263947464652">Ekstensi, aplikasi, dan tema dari sumber tidak dikenal dapat membahayakan perangkat Anda. Chromium merekomendasikan hanya menginstal ekstensi, aplikasi, dan tema dari <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Setelah Chromium memiliki akses, situs dapat meminta akses dari Anda.</translation>
 <translation id="80471789339884597">Terima kasih telah menginstal. Anda harus memulai ulang semua browser sebelum menggunakan <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_is.xtb b/chrome/app/resources/chromium_strings_is.xtb
index 1cdbaf7..51373a54a 100644
--- a/chrome/app/resources/chromium_strings_is.xtb
+++ b/chrome/app/resources/chromium_strings_is.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Leyfa Chromium að keyra í bakgrunni</translation>
 <translation id="4423735387467980091">Sérsníða og stjórna Chromium</translation>
 <translation id="4427306783828095590">Aukin vernd gengur lengra í að loka á vefveiðar og spilliforrit</translation>
-<translation id="4440114195512068100">Opnaðu <ph name="LINK_BEGIN" />stillingar ChromiumOS<ph name="LINK_END" /> til að athuga hvort tækið sé uppfært</translation>
 <translation id="452711251841752011">Velkomin(n) í Chromium; nýr vafragluggi opnaður</translation>
 <translation id="4544142686420020088">Chromium uppfærðist ekki þar sem eitthvað fór úrskeiðis. <ph name="BEGIN_LINK" />Lagaðu uppfærsluvandamál Chromium og uppfærslur sem mistókust.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Halda áfram á nýjum Chromium prófíl?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Svona geturðu stjórnað gögnunum þínum:<ph name="END_BOLD" /> Til að gæta persónuverndar þinnar eyðum við áhugasviðunum þínum sem eru eldri en 4 vikna sjálfkrafa. Áhugasvið kann að birtast aftur á listanum þegar þú heldur áfram að vafra. Þú getur einnig fjarlægt áhugasvið sem þú vilt ekki að Chromium taki tillit til.</translation>
 <translation id="7937630085815544518">Þú varst skráð(ur) inn í Chromium sem <ph name="USER_EMAIL_ADDRESS" />. Notaðu sama reikning til að skrá þig inn aftur.</translation>
 <translation id="7975919845073681630">Þetta er aukaleg uppsetning á Chromium sem ekki er hægt að gera að sjálfgefnum vafra.</translation>
-<translation id="7982481011030453202">Ef stilling sést ekki á þessari síðu skaltu athuga <ph name="LINK_BEGIN" />
-      stillingar ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Viðbætur, forrit og þemu frá óþekktum uppruna geta skaðað tækið þitt. Chromium mælir með að sækja slíkar skrár aðeins í <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Þegar Chromium hefur aðgang munu vefsvæði geta beðið þig um aðgang.</translation>
 <translation id="80471789339884597">Takk fyrir að setja upp. Þú þarft að endurræsa alla vafra áður en þú getur notað <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_it.xtb b/chrome/app/resources/chromium_strings_it.xtb
index 764f8f888..061ed92 100644
--- a/chrome/app/resources/chromium_strings_it.xtb
+++ b/chrome/app/resources/chromium_strings_it.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Lascia Chromium in esecuzione in background</translation>
 <translation id="4423735387467980091">Personalizza e controlla Chromium</translation>
 <translation id="4427306783828095590">La protezione avanzata blocca malware e tentativi di phishing con maggiore efficacia</translation>
-<translation id="4440114195512068100">Per controllare se il tuo dispositivo è aggiornato, vai a <ph name="LINK_BEGIN" />Impostazioni di Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Ti diamo il benvenuto in Chromium; nuova finestra del browser aperta</translation>
 <translation id="4544142686420020088">Si è verificato un errore: Chromium non si è aggiornato. <ph name="BEGIN_LINK" />Risolvi i problemi di aggiornamento e gli aggiornamenti non riusciti di Chromium.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Vuoi continuare con un nuovo profilo Chromium?</translation>
@@ -310,8 +309,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Come puoi gestire i tuoi dati:<ph name="END_BOLD" /> per tutelare la tua privacy, eliminiamo automaticamente i tuoi interessi risalenti a più di 4 settimane prima della data corrente. Mentre continui a navigare, un interesse potrebbe essere nuovamente visualizzato nell'elenco. Puoi anche rimuovere gli interessi che non vuoi che Chromium prenda in considerazione.</translation>
 <translation id="7937630085815544518">Hai eseguito l'accesso a Chromium come <ph name="USER_EMAIL_ADDRESS" />. Utilizza lo stesso account per eseguire di nuovo l'accesso.</translation>
 <translation id="7975919845073681630">Questa è un'installazione secondaria, di conseguenza Chromium non può essere impostato come browser predefinito.</translation>
-<translation id="7982481011030453202">Se un'impostazione non viene mostrata in questa pagina, cercala nelle <ph name="LINK_BEGIN" />
-     impostazioni di Chromium OS<ph name="LINK_END" />.</translation>
 <translation id="7997934263947464652">Estensioni, app e temi da origini sconosciute possono danneggiare il tuo dispositivo. Chromium consiglia di installare questi elementi soltanto dal <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Dopo che Chromium avrà ottenuto l'accesso, i siti web potranno chiederti l'accesso.</translation>
 <translation id="80471789339884597">L'installazione è terminata. Dovrai riavviare tutti i browser per poter utilizzare <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_iw.xtb b/chrome/app/resources/chromium_strings_iw.xtb
index 8e7bdf9..98ab343b 100644
--- a/chrome/app/resources/chromium_strings_iw.xtb
+++ b/chrome/app/resources/chromium_strings_iw.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">‏Chromium יכול לפעול ברקע</translation>
 <translation id="4423735387467980091">‏התאמה אישית ושליטה ב-Chromium</translation>
 <translation id="4427306783828095590">עם ההגנה המשופרת, החסימה של פישינג ותוכנות זדוניות מקיפה יותר</translation>
-<translation id="4440114195512068100">‏כדי לבדוק אם המכשיר מעודכן, יש לעבור אל <ph name="LINK_BEGIN" />הגדרות ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">‏ברוך בואך אל Chromium. נפתח חלון חדש בדפדפן</translation>
 <translation id="4544142686420020088">‏Chromium לא התעדכן, משהו השתבש. <ph name="BEGIN_LINK" />לטיפול בבעיות בעדכון של Chromium ובעדכונים שנכשלו<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">‏להמשיך בפרופיל Chromium חדש?</translation>
@@ -309,8 +308,6 @@
 <translation id="7877292582355102282">‏<ph name="BEGIN_BOLD" />איך ניתן לנהל את הנתונים שלך:<ph name="END_BOLD" /> כדי להגן על הפרטיות שלך, תחומי עניין שהוגדרו לפני יותר מ-4 שבועות נמחקים אוטומטית. עם המשך הגלישה, תחום עניין כלשהו עשוי להופיע שוב ברשימה. יש גם אפשרות להסיר תחומי עניין מ-Chromium כדי שלא יילקחו בחשבון.</translation>
 <translation id="7937630085815544518">‏נכנסת ל-Chromium כ-<ph name="USER_EMAIL_ADDRESS" />. יש להשתמש באותו חשבון כדי להיכנס שוב.</translation>
 <translation id="7975919845073681630">‏זוהי התקנה משנית של Chromium, ולא ניתן להפוך אותו לדפדפן ברירת המחדל שלך.</translation>
-<translation id="7982481011030453202">‏אם הגדרה מסוימת לא מופיעה בדף הזה, אפשר לחפש אותה <ph name="LINK_BEGIN" />
-      בהגדרות של ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">‏תוספים, אפליקציות ועיצובים ממקורות לא מוכרים עלולים להזיק למכשיר. ההמלצה של Chromium היא להתקין אותם רק מ<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">‏אחרי מתן גישה ל-Chromium, אתרים יוכלו לבקש ממך גישה.</translation>
 <translation id="80471789339884597">תודה שהתקנת. עליך להפעיל מחדש את כל הדפדפנים לפני השימוש ב-<ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_ja.xtb b/chrome/app/resources/chromium_strings_ja.xtb
index 2bf049d..fa02f57 100644
--- a/chrome/app/resources/chromium_strings_ja.xtb
+++ b/chrome/app/resources/chromium_strings_ja.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Chromium をバックグラウンドで実行する</translation>
 <translation id="4423735387467980091">Chromium の設定</translation>
 <translation id="4427306783828095590">保護強化機能により、フィッシングを防ぎ、不正なソフトウェアをより強力にブロックします</translation>
-<translation id="4440114195512068100">デバイスが最新の状態かどうかを確認するには、<ph name="LINK_BEGIN" />Chromium OS の設定<ph name="LINK_END" />をご覧ください。</translation>
 <translation id="452711251841752011">Chromium へようこそ。新しいブラウザ ウィンドウが開いています</translation>
 <translation id="4544142686420020088">エラーが発生したため、Chromium が更新されませんでした。<ph name="BEGIN_LINK" />Chromium の更新に関する問題を解決してください。<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">新しい Chromium プロフィールで続行しますか?</translation>
@@ -310,7 +309,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />データを管理する方法:<ph name="END_BOLD" /> ユーザーのプライバシーを保護するために、4 週間以上経過したユーザーの興味 / 関心は自動削除されます。ブラウジングを続けていると、興味 / 関心がリストに再度表示される場合もあります。Chromium に認識してほしくない興味 / 関心は削除できます。</translation>
 <translation id="7937630085815544518">Chromium に <ph name="USER_EMAIL_ADDRESS" /> としてログインしていました。再度ログインするには同じアカウントを使用してください。</translation>
 <translation id="7975919845073681630">この Chromium はセカンダリ インストールのため、既定のブラウザには設定できません。</translation>
-<translation id="7982481011030453202">このページに設定が表示されない場合は、<ph name="LINK_BEGIN" />Chromium OS の設定<ph name="LINK_END" />を確認してください</translation>
 <translation id="7997934263947464652">提供元不明の拡張機能、アプリ、テーマはデバイスに危害を及ぼす可能性があります。<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> で公開されているアイテムのみをインストールすることをおすすめします</translation>
 <translation id="8013436988911883588">Chromium にアクセスを許可すると、ウェブサイトからアクセスをリクエストできるようになります。</translation>
 <translation id="80471789339884597">インストールいただきありがとうございます。<ph name="BUNDLE_NAME" /> を使用するにはすべてのブラウザを再起動してください。</translation>
diff --git a/chrome/app/resources/chromium_strings_ka.xtb b/chrome/app/resources/chromium_strings_ka.xtb
index 1cb4491..841ddb5 100644
--- a/chrome/app/resources/chromium_strings_ka.xtb
+++ b/chrome/app/resources/chromium_strings_ka.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromium-ისთვის ფონურ რეჟიმში მუშაობის დაშვება</translation>
 <translation id="4423735387467980091">Chromium-ის მორგება და კონტროლი</translation>
 <translation id="4427306783828095590">გაძლიერებული დაცვა გთავაზობთ ფიშინგისა და მავნე პროგრამებისგან დაცვის მეტ საშუალებას</translation>
-<translation id="4440114195512068100">თქვენი მოწყობილობის განახლების სტატუსის სანახავად გადადით <ph name="LINK_BEGIN" />ChromiumOS-ის პარამეტრებზე<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">მოგესალმებით Chromium-ში; გახსნილია ბრაუზერის ახალი ფანჯარა</translation>
 <translation id="4544142686420020088">Chromium-ის განახლება ვერ მოხერხდა შეფერხების გამო. <ph name="BEGIN_LINK" />შეასწორეთ Chromium-ის განახლებასთან დაკავშირებული პრობლემები და განუხორციელებელი განახლებები.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">გსურთ ახალ Chromium პროფილში გაგრძელება?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />თქვენი მონაცემების მართვის ხერხები:<ph name="END_BOLD" /> თქვენი კონფიდენციალურობის დაცვის მიზნით, ჩვენ ავტომატურად ვშლით თქვენს ინტერესებს, რომლებიც 4 კვირაზე ძველია. თქვენ მიერ ვების დათვალიერების პარალელურად, ესა თუ ეს ინტერესი შეიძლება ხელახლა გამოჩნდეს სიაში. სურვილისამებრ, შეგიძლიათ წაშალოთ ინტერესები, რომლებიც არ გსურთ, Chromium-მა რომ გაითვალისწინოს.</translation>
 <translation id="7937630085815544518">თქვენ შესული ხართ Chromium-ში როგორც <ph name="USER_EMAIL_ADDRESS" />. გთხოვთ გამოიყენოთ იგივე ანგარიში ხელახლა შესვლისას.</translation>
 <translation id="7975919845073681630">ეს Chromium-ის მეორადი ინსტალაცია არის და ნაგულისხმევ ბრაუზერად ის ვერ დაყენდება.</translation>
-<translation id="7982481011030453202">თუ პარამეტრი ამ გვერდზე არ გამოჩნდება, ცადეთ მისი პოვნა <ph name="LINK_BEGIN" />ChromiumOS-ის პარამეტრებში<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">უცნობი წყაროებიდან მომავალ გაფართოებებს, აპებსა და თემებს შეუძლია თქვენი მოწყობილობის დაზიანება. Chromium გირჩევთ, ისინი მხოლოდ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-დან დააინსტალიროთ.</translation>
 <translation id="8013436988911883588">Chromium-ისთვის წვდომის მინიჭების შემდეგ ცალკეული ვებსაიტები შეძლებს თქვენგან წვდომის მოთხოვნას.</translation>
 <translation id="80471789339884597">გმადლობთ დაინსტალირებისთვის. <ph name="BUNDLE_NAME" />-ის გამოყენებამდე თქვენი ყველა ბრაუზერი უნდა გადატვირთოთ.</translation>
diff --git a/chrome/app/resources/chromium_strings_kk.xtb b/chrome/app/resources/chromium_strings_kk.xtb
index 00fa19b..424ed40 100644
--- a/chrome/app/resources/chromium_strings_kk.xtb
+++ b/chrome/app/resources/chromium_strings_kk.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromium браузеріне фондық режимде жұмыс істеуге рұқсат беру</translation>
 <translation id="4423735387467980091">Chromium реттеу және басқару</translation>
 <translation id="4427306783828095590">Жақсартылған қорғаныс фишинг пен зиянды бағдарламаларды бөгеуде көбірек істейді.</translation>
-<translation id="4440114195512068100">Құрылғыңыздың жаңартылғанын тексеру үшін <ph name="LINK_BEGIN" />ChromiumOS параметрлері<ph name="LINK_END" /> бөліміне өтіңіз.</translation>
 <translation id="452711251841752011">Chromium браузеріне қош келдіңіз! Жаңа браузер терезесі ашылды.</translation>
 <translation id="4544142686420020088">Chromium жаңартылған жоқ. Бірдеңе дұрыс болмады. <ph name="BEGIN_LINK" />Chromium браузеріндегі жаңартуға қатысты мәселелерді түзетіңіз.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Жаңа Chromium профилінде жалғастырылсын ба?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Дерек қалай басқарылады:<ph name="END_BOLD" /> құпиялылығыңызды сақтау үшін 4 аптадан көп көрсетілген қызығушылықтарды автоматты түрде жойып отырамыз. Интернетті шолу кезінде белгілі бір қызығушылық тізімде қайтадан шығуы мүмкін. Бұл ретте Chromium-ның ескергенін қаламаған қызығушылықтарды өшіруге болады.</translation>
 <translation id="7937630085815544518">Chromium жүйесіне <ph name="USER_EMAIL_ADDRESS" /> ретінде кірдіңіз. Қайта кіру үшін бірдей аккаунтты пайдаланыңыз.</translation>
 <translation id="7975919845073681630">Бұл – Chromium браузерінің қайта орнатылған нұсқасы және әдепкі браузер бола алмайды.</translation>
-<translation id="7982481011030453202">Егер параметр бұл бетте көрсетілмесе, <ph name="LINK_BEGIN" />ChromiumOS параметрлері<ph name="LINK_END" /> бөлімінен қараңыз.</translation>
 <translation id="7997934263947464652">Белгісіз дереккөздерден алынған кеңейтім, қолданба, тақырыптар құрылғыңызға зиянын тигізуі мүмкін. Chromium оларды тек <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> дүкенінен орнатуды ұсынады.</translation>
 <translation id="8013436988911883588">Chromium браузерінің кіру рұқсаты болса, веб-сайттар сізден кіру рұқсатын сұрайды.</translation>
 <translation id="80471789339884597">Орнатқаныңыз үшін рақмет. <ph name="BUNDLE_NAME" /> пайдаланбас бұрын барлық браузерді жауып, қайта ашуыңыз керек.</translation>
diff --git a/chrome/app/resources/chromium_strings_km.xtb b/chrome/app/resources/chromium_strings_km.xtb
index bfa8542..35fe11f 100644
--- a/chrome/app/resources/chromium_strings_km.xtb
+++ b/chrome/app/resources/chromium_strings_km.xtb
@@ -149,7 +149,6 @@
 <translation id="4415566066719264597">អនុញ្ញាត​ឱ្យ Chromium ដំណើរការ​នៅ​ផ្ទៃខាងក្រោយ</translation>
 <translation id="4423735387467980091">កែសម្រួល និងគ្រប់គ្រង Chromium</translation>
 <translation id="4427306783828095590">ការការពារ​ដែលប្រសើរជាងមុនធ្វើសកម្មភាពសកម្មជាងមុន ដើម្បីទប់ស្កាត់ការដាក់នុយ និងកម្មវិធីគ្រោះថ្នាក់</translation>
-<translation id="4440114195512068100">ដើម្បី​មើល​ថាតើឧបករណ៍​របស់អ្នក​មានបច្ចុប្បន្នភាពឬអត់ សូម​ចូលទៅកាន់<ph name="LINK_BEGIN" />ការកំណត់ ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">សូម​ស្វាគមន៍​មក​កាន់ Chromium។ បាន​បើក​វិនដូ​របស់​កម្មវិធីរុករកតាមអ៊ីនធឺណិត​ថ្មី</translation>
 <translation id="4544142686420020088">Chromium មិន​បានដំឡើងកំណែទេ មានអ្វីមួយខុសប្រក្រតី។ <ph name="BEGIN_LINK" />សូមដោះស្រាយបញ្ហា​នៃការដំឡើងកំណែ Chromium និងការដំឡើងកំណែដែលមិនបានសម្រេចផ្សេងៗ។<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">បន្តនៅក្នុងកម្រងព័ត៌មាន Chromium ថ្មីឬ?</translation>
@@ -314,7 +313,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />របៀបដែល​អ្នកអាចគ្រប់គ្រង​ទិន្នន័យ​របស់អ្នក៖<ph name="END_BOLD" /> ដើម្បីការពារ​ឯកជនភាព​របស់អ្នក យើងលុប​ចំណាប់អារម្មណ៍​របស់អ្នក​ដែលចាស់ជាង 4 សប្ដាហ៍​ដោយស្វ័យប្រវត្តិ។ នៅពេលដែលអ្នក​បន្តរុករក ចំណាប់អារម្មណ៍​ប្រហែលជាបង្ហាញ​នៅលើ​បញ្ជីម្ដងទៀត។ ឬអ្នកអាច​ដកចំណាប់អារម្មណ៍ដែលអ្នក​មិនចង់ឱ្យ Chromium ណែនាំចេញបាន។</translation>
 <translation id="7937630085815544518">អ្នកបានចូលទៅក្នុង Chromium ជា <ph name="USER_EMAIL_ADDRESS" />. សូមប្រើគណនីដូចគ្នាដើម្បីចូលម្តងទៀត។</translation>
 <translation id="7975919845073681630">នេះគឺជាការដំឡើេង Chromium បន្ទាប់បន្សំ ហើយវាមិនអាចធ្វើជាកម្មវិធីរុករកលំនាំដើមរបស់អ្នកបានទេ។</translation>
-<translation id="7982481011030453202">ប្រសិនបើ​ការកំណត់​មិនបង្ហាញនៅលើទំព័រនេះទេ សូមមើលនៅក្នុង<ph name="LINK_BEGIN" />ការកំណត់ ChromiumOS<ph name="LINK_END" /> របស់អ្នក</translation>
 <translation id="7997934263947464652">កម្មវិធីបន្ថែម កម្មវិធី និង​រចនាប័ទ្ម​ពីប្រភពដែលមិនស្គាល់​អាចបង្កគ្រោះថ្នាក់ដល់​ឧបករណ៍​របស់អ្នក។ Chromium ណែនាំឱ្យដំឡើងវា​តែពី <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ប៉ុណ្ណោះ</translation>
 <translation id="8013436988911883588">បន្ទាប់ពី Chromium មានសិទ្ធិចូលប្រើហើយ គេហទំព័រ​នឹង​អាច​ស្នើ​សុំ​សិទ្ធិ​ចូល​ប្រើពី​អ្នកបាន។</translation>
 <translation id="80471789339884597">សូមអរគុណសម្រាប់ការដំឡើង។ អ្នកត្រូវតែចាប់ផ្ដើមកម្មវិធីរុករកតាមអ៊ីនធឺណិតទាំងអស់របស់អ្នកឡើងវិញ មុនពេលប្រើ <ph name="BUNDLE_NAME" />។</translation>
diff --git a/chrome/app/resources/chromium_strings_kn.xtb b/chrome/app/resources/chromium_strings_kn.xtb
index 4f542d4..2236e59d 100644
--- a/chrome/app/resources/chromium_strings_kn.xtb
+++ b/chrome/app/resources/chromium_strings_kn.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">Chromium ಹಿನ್ನೆಲೆಯಲ್ಲಿ ರನ್ ಆಗಲು ಅನುಮತಿಸಿ</translation>
 <translation id="4423735387467980091">Chromium ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ ಮತ್ತು ನಿಯಂತ್ರಿಸಿ</translation>
 <translation id="4427306783828095590">ಫಿಶಿಂಗ್ ಮತ್ತು ಮಾಲ್‌ವೇರ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲು ವರ್ಧಿತ ಸುರಕ್ಷತೆ ಹೆಚ್ಚಿನ ಸಹಾಯ ಮಾಡುತ್ತದೆ</translation>
-<translation id="4440114195512068100">ನಿಮ್ಮ ಸಾಧನ ಅಪ್ ಟು ಡೇಟ್ ಆಗಿದೆಯೇ ಎಂಬುದನ್ನು ನೋಡಲು, <ph name="LINK_BEGIN" />ChromiumOS ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ<ph name="LINK_END" /> ಹೋಗಿ</translation>
 <translation id="452711251841752011">Chromium ಗೆ ಸುಸ್ವಾಗತ; ಹೊಸ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಹೊಸ ವಿಂಡೋವನ್ನು ತೆರೆಯಲಾಗಿದೆ</translation>
 <translation id="4544142686420020088">Chromium ಅಪ್‌ಡೇಟ್ ಆಗಲಿಲ್ಲ, ಏನೋ ಸಮಸ್ಯೆಯಾಗಿದೆ. <ph name="BEGIN_LINK" />Chromium ಅಪ್‌ಡೇಟ್ ಸಮಸ್ಯೆಗಳು ಹಾಗೂ ವಿಫಲವಾದ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಸರಿಪಡಿಸಿ.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">ಹೊಸ Chromium ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿ ಮುಂದುವರಿಯಬೇಕೆ?</translation>
@@ -304,7 +303,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />ನಿಮ್ಮ ಡೇಟಾವನ್ನು ನೀವು ಹೇಗೆ ನಿರ್ವಹಿಸಬಹುದು:<ph name="END_BOLD" /> ನಿಮ್ಮ ಗೌಪ್ಯತೆಯನ್ನು ರಕ್ಷಿಸಲು, 4 ವಾರಗಳಿಗಿಂತ ಹಳೆಯ ಆಸಕ್ತಿಗಳನ್ನು ನಾವು ಸ್ವಯಂ-ಅಳಿಸುತ್ತೇವೆ. ನೀವು ಬ್ರೌಸ್ ಮಾಡುತ್ತಿದ್ದಂತೆ, ಆಸಕ್ತಿಯೊಂದು ಮತ್ತೊಮ್ಮೆ ಪಟ್ಟಿಯಲ್ಲಿ ಕಾಣಿಸಿಕೊಳ್ಳಬಹುದು. ಅಥವಾ Chromium ಪರಿಗಣಿಸಬಾರದೆಂದು ನೀವು ಬಯಸುವ ಆಸಕ್ತಿಗಳನ್ನು ನೀವು ತೆಗೆದುಹಾಕಬಹುದು.</translation>
 <translation id="7937630085815544518"><ph name="USER_EMAIL_ADDRESS" /> ನಂತೆ Chromium ಅನ್ನು ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿರುವಿರಿ. ದಯವಿಟ್ಟು ಮತ್ತೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಅದೇ ಖಾತೆಯನ್ನು ಬಳಸಿ.</translation>
 <translation id="7975919845073681630">ಇದು Chromium ನ ದ್ವಿತೀಯ ಸ್ಥಾಪನೆಯಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್ ಆಗಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ.</translation>
-<translation id="7982481011030453202">ಈ ಪುಟದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ ಒಂದು ಕಾಣಿಸದಿದ್ದರೆ, ನಿಮ್ಮ <ph name="LINK_BEGIN" />ChromiumOS ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ<ph name="LINK_END" /> ನೋಡಿರಿ</translation>
 <translation id="7997934263947464652">ಅಜ್ಞಾತ ಮೂಲಗಳಿಂದ ವಿಸ್ತರಣೆಗಳು, ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಥೀಮ್‌ಗಳು ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ ಹಾನಿಯುಂಟು ಮಾಡಬಹುದು. <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ನಿಂದ ಮಾತ್ರ ಅವುಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲು Chromium ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ</translation>
 <translation id="8013436988911883588">Chromium ಒಮ್ಮೆ ಪ್ರವೇಶವನ್ನು ಪಡೆದ ಬಳಿಕ, ಪ್ರವೇಶಕ್ಕಾಗಿ ನಿಮ್ಮನ್ನು ಕೇಳಲು ವೆಬ್‍ಸೈಟ್‍ಗಳಿಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ.</translation>
 <translation id="80471789339884597">ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು. <ph name="BUNDLE_NAME" /> ಅನ್ನು ಬಳಸುವ ಮೊದಲು ನಿಮ್ಮ ಎಲ್ಲಾ ಬ್ರೌಸರ್ ಅನ್ನು ಮರು ಪ್ರಾರಂಭಿಸಬೇಕು.</translation>
diff --git a/chrome/app/resources/chromium_strings_ko.xtb b/chrome/app/resources/chromium_strings_ko.xtb
index a7d918a..3e28a19 100644
--- a/chrome/app/resources/chromium_strings_ko.xtb
+++ b/chrome/app/resources/chromium_strings_ko.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">백그라운드에서 Chromium을 실행</translation>
 <translation id="4423735387467980091">Chromium 맞춤설정 및 제어</translation>
 <translation id="4427306783828095590">향상된 보호 기능이 피싱 및 멀웨어를 더욱 효과적으로 차단합니다.</translation>
-<translation id="4440114195512068100">기기가 최신 버전인지 확인하려면 <ph name="LINK_BEGIN" />ChromiumOS 설정<ph name="LINK_END" />으로 이동하세요.</translation>
 <translation id="452711251841752011">Chromium에 오신 것을 환영합니다. 새 브라우저 창이 열렸습니다</translation>
 <translation id="4544142686420020088">문제가 발생하여 Chromium을 업데이트할 수 없습니다. <ph name="BEGIN_LINK" />Chromium 업데이트 문제 및 업데이트 실패 문제 해결하기<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">새 Chromium 프로필로 계속하시겠습니까?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />데이터 관리 방법:<ph name="END_BOLD" /> 개인 정보를 보호하기 위해 Chrome에서는 4주가 지난 관심분야를 자동 삭제합니다. 인터넷 사용에 따라 특정 관심분야가 목록에 다시 표시될 수 있습니다. Chromium에서 고려하지 않았으면 하는 관심분야가 있으면 직접 삭제하세요.</translation>
 <translation id="7937630085815544518"><ph name="USER_EMAIL_ADDRESS" />(으)로 Chromium에 로그인되어 있습니다. 같은 계정으로 다시 로그인해 주세요.</translation>
 <translation id="7975919845073681630">Chromium의 보조 설치이며 기본 브라우저로 설정할 수 없습니다.</translation>
-<translation id="7982481011030453202">페이지에 표시되지 않는 설정이 있다면 <ph name="LINK_BEGIN" />
-      ChromiumOS 설정<ph name="LINK_END" />을 확인해 보세요</translation>
 <translation id="7997934263947464652">알 수 없는 소스의 확장 프로그램, 앱, 테마는 기기를 손상시킬 수 있습니다. <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />에서 다운로드한 확장 프로그램, 앱, 테마만 설치하는 것이 좋습니다</translation>
 <translation id="8013436988911883588">Chromium에 액세스 권한을 부여하면 웹사이트에서 액세스 권한을 요청할 수 있게 됩니다.</translation>
 <translation id="80471789339884597">설치해 주셔서 감사합니다. <ph name="BUNDLE_NAME" />을(를) 사용하려면 모든 브라우저를 다시 시작해야 합니다.</translation>
diff --git a/chrome/app/resources/chromium_strings_ky.xtb b/chrome/app/resources/chromium_strings_ky.xtb
index c448a61..c1a01d0 100644
--- a/chrome/app/resources/chromium_strings_ky.xtb
+++ b/chrome/app/resources/chromium_strings_ky.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromium'га фондук режимде иштөөгө уруксат берүү</translation>
 <translation id="4423735387467980091">Chromium'ду өзгөчөлөштүрүү жана көзөмөлдөө</translation>
 <translation id="4427306783828095590">Өркүндөтүлгөн коргоо параметри фишинг жана кесепеттүү программалардан жакшыраак коргойт</translation>
-<translation id="4440114195512068100">Түзмөгүңүздүн жаңыртылганын текшерүү үчүн <ph name="LINK_BEGIN" />ChromiumOS Жөндөөлөрүнө<ph name="LINK_END" /> өтүңүз</translation>
 <translation id="452711251841752011">Chromium'га кош келиңиз; серепчиде жаңы терезе ачылды</translation>
 <translation id="4544142686420020088">Chromium жаңырган жок. Бир жерден ката кетти. <ph name="BEGIN_LINK" />Chrome'догу жаңыртуу маселелерин оңдоңуз.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Жаңы Chromium профилинде улантасызбы?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Маалыматыңызды кантип башкара аласыз:<ph name="END_BOLD" /> Купуялыгыңызды камсыздоо үчүн 4 аптадан мурун кызыккан нерселериңизди автоматтык түрдө жок кылып турабыз. Жаңы сайттарды карап чыккан сайын кызыккан нерселериңиздин тизмеси жаңыланып турат. Же болбосо кызыккан нерселерге кошкуңуз келбегендерин алып салсаңыз болот.</translation>
 <translation id="7937630085815544518">Chromium'га <ph name="USER_EMAIL_ADDRESS" /> катары кирдиңиз. Ушул аккаунт менен кайра кириңиз.</translation>
 <translation id="7975919845073681630">Бул Chromium'дун кошумча орнотулушу болгондуктан, аны демейки серепчиңиз катары тандай албайсыз.</translation>
-<translation id="7982481011030453202">Эгер параметр бул баракта көрүнбөсө, <ph name="LINK_BEGIN" />
-      ChromiumOS жөндөөлөрүнөн<ph name="LINK_END" /> карап көрүңүз</translation>
 <translation id="7997934263947464652">Белгисиз булактардан алынган кеңейтүүлөр, колдонмолор жана темалар түзмөгүңүзгө зыян келтириши мүмкүн. Chromium аларды <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> сайтынан гана орнотууну сунуштайт</translation>
 <translation id="8013436988911883588">Chromium'га уруксат берилгенден кийин вебсайттар уруксат сурай алышат.</translation>
 <translation id="80471789339884597">Орнотуп алганыңыз үчүн рахмат. <ph name="BUNDLE_NAME" /> топтомун колдонуп баштоодон мурда бардык серепчилерди өчүрүп күйгүзүңүз.</translation>
diff --git a/chrome/app/resources/chromium_strings_lo.xtb b/chrome/app/resources/chromium_strings_lo.xtb
index d637e9ac..cceff7f 100644
--- a/chrome/app/resources/chromium_strings_lo.xtb
+++ b/chrome/app/resources/chromium_strings_lo.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">ໃຫ້ Chromium ເປີດໃຊ້ຢູ່ໃນພື້ນຫຼັງ</translation>
 <translation id="4423735387467980091">ກໍານົດໃຊ້ ແລະ​ຄວບ​ຄຸມ Chromium</translation>
 <translation id="4427306783828095590">ການປົກປ້ອງທີ່ປັບປຸງດີຂຶ້ນເຮັດໄດ້ຫຼາຍກວ່າໃນການບລັອກການຫຼອກເອົາຂໍ້ມູນ ແລະ ເມົາແວ</translation>
-<translation id="4440114195512068100">ເພື່ອເບິ່ງວ່າອຸປະກອນຂອງທ່ານອັບເດດແລ້ວຫຼືຍັງ, ກະລຸນາເຂົ້າໄປ <ph name="LINK_BEGIN" />ການຕັ້ງຄ່າ ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">ຍິນດີຕ້ອນຮັບສູ່ Chromium; ເປີດໜ້າຈໍໂປຣແກຣມທ່ອງເວັບໃໝ່ແລ້ວ</translation>
 <translation id="4544142686420020088">Chromium ບໍ່ອັບເດດ, ມີບາງຢ່າງຜິດພາດ. <ph name="BEGIN_LINK" />ແກ້ໄຂບັນຫາການອັບເດດ Chromium ແລະ ການອັບເດດທີ່ບໍ່ສຳເລັດ.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">ສືບຕໍ່ໃນໂປຣໄຟລ໌ Chromium ໃໝ່ບໍ?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />ທ່ານສາມາດຈັດການຂໍ້ມູນຂອງທ່ານໄດ້ແນວໃດ:<ph name="END_BOLD" /> ເພື່ອປົກປ້ອງຄວາມເປັນສ່ວນຕົວຂອງທ່ານ, ພວກເຮົາຈະລຶບຄວາມສົນໃຈຂອງທ່ານທີ່ເກົ່າກວ່າ 4 ອາທິດອອກໂດຍອັດຕະໂນມັດ. ໃນເວລາທີ່ທ່ານສືບຕໍ່ການທ່ອງເວັບ, ຄວາມສົນໃຈອາດປາກົດຢູ່ລາຍຊື່ຄືນໃໝ່. ຫຼື ທ່ານສາມາດລຶບຄວາມສົນໃຈອອກໄດ້ຫາກທ່ານບໍ່ຕ້ອງການໃຫ້ Chromium ພິຈາລະນາ.</translation>
 <translation id="7937630085815544518">ທ່ານ​ໄດ້ລົງຊື່ເຂົ້າໃຊ້ Chromium ເປັນ <ph name="USER_EMAIL_ADDRESS" />. ກະ​ລຸ​ນາ​​ໃຊ້​ບັນ​ຊີ​ດຽວ​ກັນ​ ເພື່ອລົງຊື່ເຂົ້າໃຊ້ອີກ.</translation>
 <translation id="7975919845073681630">ນີ້ແມ່ນການຕິດຕັ້ງສຳຮອງຂອງ Chromium ແລະ ບໍ່ສາມາດຖືກຕັ້ງເປັນໂປຣແກຣມທ່ອງເວັບເລີ່ມຕົ້ນໄດ້.</translation>
-<translation id="7982481011030453202">ຖ້າການຕັ້ງຄ່າບໍ່ສະແດງຢູ່ໜ້ານີ້, ກະລຸນາເບິ່ງໃນ <ph name="LINK_BEGIN" />
-    ການຕັ້ງຄ່າ ChromiumOS<ph name="LINK_END" /> ຂອງທ່ານ</translation>
 <translation id="7997934263947464652">ສ່ວນຂະຫຍາຍ, ແອັບ ແລະ ຮູບແບບສີສັນຈາກແຫຼ່ງຂໍ້ມູນທີ່ບໍ່ຮູ້ຈັກອາດເປັນອັນຕະລາຍກັບອຸປະກອນຂອງທ່ານໄດ້. Chromium ແນະນຳໃຫ້ຕິດຕັ້ງພວກມັນຈາກ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ເທົ່ານັ້ນ</translation>
 <translation id="8013436988911883588">ເມື່ອ Chromium ມີການເຂົ້າເຖິງ, ເວັບໄຊຈະສາມາດຮ້ອງຂໍການເຂົ້າເຖິງນຳທ່ານ.</translation>
 <translation id="80471789339884597">ຂໍຂອບໃຈສຳລັບການຕິດຕັ້ງ. ທ່ານຈະຕ້ອງຣີສະຕາດໂປຣແກຣມທ່ອງເວັບຂອງທ່ານທັງໝົດກ່ອນການໃຊ້ <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_lt.xtb b/chrome/app/resources/chromium_strings_lt.xtb
index a3d5910b..9772c72 100644
--- a/chrome/app/resources/chromium_strings_lt.xtb
+++ b/chrome/app/resources/chromium_strings_lt.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">„Chromium“ leidimas fone</translation>
 <translation id="4423735387467980091">Tinkinkite ir valdykite „Chromium“</translation>
 <translation id="4427306783828095590">Naudojant sustiprintą apsaugą pasitelkiama papildomų priemonių sukčiavimui ir kenkėjiškoms programoms užblokuoti</translation>
-<translation id="4440114195512068100">Jei norite sužinoti, ar įrenginys atnaujintas, eikite į <ph name="LINK_BEGIN" />„Chromium“ OS nustatymus<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Sveiki, tai – „Chromium“; atidarytas naujas naršyklės langas</translation>
 <translation id="4544142686420020088">Nepavyko atnaujinti „Chromium“, įvyko klaida. <ph name="BEGIN_LINK" />Pašalinkite „Chromium“ naujinimo problemas ir naujinių klaidas.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Tęsti naudojant naują „Chromium“ profilį?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kaip galite tvarkyti savo duomenis:<ph name="END_BOLD" /> siekdami apsaugoti jūsų privatumą, automatiškai ištriname senesnius nei keturių savaičių pomėgius. Jums naršant toliau, pomėgiai vėl gali atsirasti sąraše. Arba galite pašalinti pomėgius, kurių „Chromium“ įtraukti neturėtų.</translation>
 <translation id="7937630085815544518">Buvote prisijungę prie „Chromium“ kaip <ph name="USER_EMAIL_ADDRESS" />. Prisijungdami vėl naudokite tą pačią paskyrą.</translation>
 <translation id="7975919845073681630">Tai yra antrinis „Chromium“ diegimas, todėl ji negali būti nustatyta kaip numatytoji naršyklė.</translation>
-<translation id="7982481011030453202">Jei nustatymas šiame puslapyje nerodomas, ieškokite jo <ph name="LINK_BEGIN" />
-      „Chromium“ OS nustatymuose<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Plėtiniai, programos ir temos iš nežinomų šaltinių gali pakenkti jūsų įrenginiui. „Chromium“ rekomenduoja įdiegti tik iš čia: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kai „Chromium“ galės pasiekti duomenis, svetainės taip pat galės prašyti suteikti leidimą juos pasiekti.</translation>
 <translation id="80471789339884597">Dėkojame už diegimą. Turite iš naujo paleisti visas naršykles, prieš naudodami „<ph name="BUNDLE_NAME" />“.</translation>
diff --git a/chrome/app/resources/chromium_strings_lv.xtb b/chrome/app/resources/chromium_strings_lv.xtb
index bee5da9..b4b6506 100644
--- a/chrome/app/resources/chromium_strings_lv.xtb
+++ b/chrome/app/resources/chromium_strings_lv.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Ļaut pārlūkam Chromium darboties fonā</translation>
 <translation id="4423735387467980091">Pielāgot un kontrolēt Chromium</translation>
 <translation id="4427306783828095590">Uzlabotā aizsardzība labāk bloķē pikšķerēšanas mēģinājumus un ļaunprātīgu programmatūru</translation>
-<translation id="4440114195512068100">Lai noskaidrotu, vai ierīce ir atjaunināta, pārejiet uz <ph name="LINK_BEGIN" />Chromium OS iestatījumiem<ph name="LINK_END" />.</translation>
 <translation id="452711251841752011">Laipni lūdzam pārlūkā Chromium (tika atvērts jauns pārlūka logs)!</translation>
 <translation id="4544142686420020088">Pārlūkprogramma Chromium netika atjaunināta. Radās problēma. <ph name="BEGIN_LINK" />Novērsiet Chromium atjaunināšanas problēmas.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Vai turpināt jaunā Chromium profilā?</translation>
@@ -308,8 +307,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kā varat pārvaldīt savus datus:<ph name="END_BOLD" /> lai aizsargātu jūsu konfidencialitāti, mēs automātiski dzēšam intereses, kas ir glabātas ilgāk par četrām nedēļām. Intereses var tikt atkārtoti pievienotas sarakstam, kad turpināsiet pārlūkošanu. Varat arī noņemt intereses, ja nevēlaties, lai Chromium tās apsvērtu.</translation>
 <translation id="7937630085815544518">Operētājsistēmā Chromium iepriekš pierakstījāties kā lietotājs <ph name="USER_EMAIL_ADDRESS" />. Lai pierakstītos vēlreiz, lūdzu, izmantojiet to pašu kontu.</translation>
 <translation id="7975919845073681630">Šī ir Chromium papildu instalācija, un to nevar izmantot kā noklusējuma pārlūku.</translation>
-<translation id="7982481011030453202">Ja iestatījums nav redzams šajā lapā, meklējiet to <ph name="LINK_BEGIN" />
-      Chromium OS iestatījumos<ph name="LINK_END" />.</translation>
 <translation id="7997934263947464652">No nezināmiem avotiem iegūti paplašinājumi, lietotnes un motīvi var kaitēt ierīcei. Chromium komanda iesaka instalēt tos tikai no veikala <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Tiklīdz pārlūkam Chromium tiks sniegta piekļuve, vietnes varēs lūgt jums piekļuvi.</translation>
 <translation id="80471789339884597">Pateicamies, ka veicāt instalēšanu. Pirms <ph name="BUNDLE_NAME" /> izmantošanas ir jārestartē visas pārlūkprogrammas.</translation>
diff --git a/chrome/app/resources/chromium_strings_mk.xtb b/chrome/app/resources/chromium_strings_mk.xtb
index d650d31..c6cda94 100644
--- a/chrome/app/resources/chromium_strings_mk.xtb
+++ b/chrome/app/resources/chromium_strings_mk.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Остави го Chromium да работи во заднина</translation>
 <translation id="4423735387467980091">Приспособи го и контролирај го Chromium</translation>
 <translation id="4427306783828095590">„Подобрената заштита“ помага при блокирање кражби на идентитетот и злонамерен софтвер</translation>
-<translation id="4440114195512068100">За да видите дали уредот ви е ажуриран, одете на <ph name="LINK_BEGIN" />Поставки за Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Добре дојдовте на Chromium; отворен е нов прозорец во прелистувачот</translation>
 <translation id="4544142686420020088">Chromium не се ажурираше, нешто тргна наопаку. <ph name="BEGIN_LINK" />Поправете ги проблемите со ажурирањето на Chromium и со неуспешните ажурирања.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Сакате да продолжите на нов профил на Chromium?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Како може да управувате со вашите податоци:<ph name="END_BOLD" /> заради заштита на вашата приватност, автоматски ги бришеме вашите интереси што се постари од 4 седмици. Додека прелистувате, може да се појави интерес на списокот повторно. Или можете да ги отстраните интересите што не сакате Chromium да ги зема предвид.</translation>
 <translation id="7937630085815544518">Бевте најавени на Chromium како <ph name="USER_EMAIL_ADDRESS" />. Користете ја истата сметка за повторно да се најавите.</translation>
 <translation id="7975919845073681630">Ова е второстепена инсталација на Chromium и затоа не може да биде стандарден прелистувач.</translation>
-<translation id="7982481011030453202">Ако некоја поставка не се прикажува на страницава, погледнете во <ph name="LINK_BEGIN" />
-    поставките за Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Екстензии, апликации и теми од непознати извори може да му наштетат на вашиот уред. Chromium препорачува да ги инсталирате само од <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Ако Chromium има пристап, тогаш и веб-сајтовите ќе може да ви бараат пристап.</translation>
 <translation id="80471789339884597">Фала за инсталирањето. Мора да ги рестартирате сите ваши прелистувачи пред да користите <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_ml.xtb b/chrome/app/resources/chromium_strings_ml.xtb
index 51ab48a..42543e4 100644
--- a/chrome/app/resources/chromium_strings_ml.xtb
+++ b/chrome/app/resources/chromium_strings_ml.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromium-ത്തെ പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കാൻ അനുവദിക്കുക</translation>
 <translation id="4423735387467980091">Chromium ഇഷ്‌ടാനുസൃതമാക്കുക, നിയന്ത്രിക്കുക</translation>
 <translation id="4427306783828095590">ഫിഷിംഗും മാല്‍വെയറും ബ്ലോക്ക് ചെയ്യുന്നതിന് മെച്ചപ്പെടുത്തിയ പരിരക്ഷ കൂടുതൽ കാര്യങ്ങൾ ചെയ്യുന്നു</translation>
-<translation id="4440114195512068100">നിങ്ങളുടെ ഉപകരണം അപ് ടു ഡേറ്റാണോ എന്ന് കാണാൻ <ph name="LINK_BEGIN" />ChromiumOS ക്രമീകരണത്തിലേക്ക്<ph name="LINK_END" /> പോകുക</translation>
 <translation id="452711251841752011">Chromium-ലേക്ക് സ്വാഗതം; പുതിയ ബ്രൗസർ വിൻഡോ തുറന്നു</translation>
 <translation id="4544142686420020088">Chromium അപ്‌ഡേറ്റ് ചെയ്തില്ല, എന്തോ കുഴപ്പമുണ്ടായി. <ph name="BEGIN_LINK" />Chromium അപ്‌ഡേറ്റ് സംബന്ധിച്ച പ്രശ്നങ്ങളും പരാജയപ്പെട്ട അപ്ഡേറ്റുകളും പരിഹരിക്കുക.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">പുതിയ Chromium പ്രൊഫൈലിൽ തുടരണോ?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />നിങ്ങളുടെ ഡാറ്റ എങ്ങനെ മാനേജ് ചെയ്യാം:<ph name="END_BOLD" /> നിങ്ങളുടെ സ്വകാര്യത പരിരക്ഷിക്കുന്നതിന് 4 ആഴ്‌ചയിലധികം പഴക്കമുള്ള താൽപ്പര്യങ്ങൾ ഞങ്ങൾ സ്വയമേവ ഇല്ലാതാക്കുന്നു. നിങ്ങൾ ബ്രൗസ് ചെയ്യുന്നത് തുടരുമ്പോൾ, ഒരു താൽപ്പര്യം ലിസ്റ്റിൽ വീണ്ടും ദൃശ്യമായേക്കാം. അല്ലെങ്കിൽ Chromium പരിഗണിക്കരുതെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുന്ന താൽപ്പര്യങ്ങൾ നിങ്ങൾക്ക് നീക്കം ചെയ്യാം.</translation>
 <translation id="7937630085815544518">Chromium-ൽ നിങ്ങൾ <ph name="USER_EMAIL_ADDRESS" /> എന്നായി സൈൻ ഇൻ ചെയ്‌തു. വീണ്ടും സൈൻ ഇൻ ചെയ്യുന്നതിന് സമാന അക്കൗണ്ട് ഉപയോഗിക്കുക.</translation>
 <translation id="7975919845073681630">ഇത് Chromium-ത്തിന്റെ ദ്വിതീയ ഇൻസ്‌റ്റലേഷനായതിനാൽ, നിങ്ങളുടെ ഡിഫോൾട്ട് ബ്രൗസറാക്കാൻ കഴിയില്ല.</translation>
-<translation id="7982481011030453202">ഈ പേജിൽ ക്രമീകരണം കാണുന്നില്ലെങ്കിൽ, നിങ്ങളുടെ <ph name="LINK_BEGIN" />
-      ChromiumOS ക്രമീകരണത്തിൽ<ph name="LINK_END" /> പരിശോധിക്കുക</translation>
 <translation id="7997934263947464652">അറിയാത്ത ഉറവിടങ്ങളിൽ നിന്നുള്ള വിപുലീകരണങ്ങൾ, ആപ്പുകൾ, തീമുകൾ എന്നിവ നിങ്ങളുടെ ഉപകരണത്തിന് ദോഷകരമാകാം. അവ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> എന്നതിൽ നിന്ന് മാത്രം ഇൻസ്റ്റാൾ ചെയ്യാൻ Chromium നിർദ്ദേശിക്കുന്നു</translation>
 <translation id="8013436988911883588">Chromium-ത്തിന് ആക്‌സസ് ലഭിച്ചുകഴിഞ്ഞാൽ, വെബ്‌സൈറ്റുകൾക്ക് നിങ്ങളോട് ആക്‌സസ് ചോദിക്കാനാകും.</translation>
 <translation id="80471789339884597">ഇൻസ്റ്റാൾ ചെയ്തതിന് നന്ദി. <ph name="BUNDLE_NAME" /> ഉപയോഗിക്കും മുമ്പ് നിങ്ങളുടെ എല്ലാ ബ്രൗസറുകളും റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്.</translation>
diff --git a/chrome/app/resources/chromium_strings_mn.xtb b/chrome/app/resources/chromium_strings_mn.xtb
index 4900abc..ce62522 100644
--- a/chrome/app/resources/chromium_strings_mn.xtb
+++ b/chrome/app/resources/chromium_strings_mn.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Chromium-г цаана ажиллуулахыг зөвшөөрөх</translation>
 <translation id="4423735387467980091">Chromium-ыг гүйцэтгэх ба хянах</translation>
 <translation id="4427306783828095590">Сайжруулсан хамгаалалт нь фишинг болон хортой кодыг блоклохын тулд илүү ихийг хийдэг</translation>
-<translation id="4440114195512068100">Таны төхөөрөмж шинэчлэгдсэн эсэхийг харахын тулд <ph name="LINK_BEGIN" />ChromiumOS-н тохиргоо<ph name="LINK_END" /> руу очно уу</translation>
 <translation id="452711251841752011">Chromium-д тавтай морилно уу; хөтчийн шинэ цонхыг нээсэн</translation>
 <translation id="4544142686420020088">Chromium-г шинэчлээгүй, ямар нэг алдаа гарлаа. <ph name="BEGIN_LINK" />Chromium-г шинэчлэхтэй холбоотой асуудлууд болон амжилтгүй болсон шинэчлэлтүүдийг засна уу.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Chromium-н шинэ профайлд үргэлжлүүлэх үү?</translation>
@@ -309,8 +308,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Та өгөгдлөө хэрхэн удирдах боломжтой вэ?:<ph name="END_BOLD" /> Таны нууцлалыг хамгаалахын тулд бид таны 4 долоо хоногоос дээш хугацаатай сонирхлыг автоматаар устгадаг. Таныг үргэлжлүүлэн үзэх үед сонирхол нь жагсаалтад дахин харагдаж магадгүй. Эсвэл та Chromium-г бодож үзэхгүй байхыг хүсэж буй сонирхлоо хасах боломжтой.</translation>
 <translation id="7937630085815544518">Та Chromium-д <ph name="USER_EMAIL_ADDRESS" />-аар нэвтэрсэн байна. Нэвтрэхийн тулд ижил данс хэрэглэнэ үү.</translation>
 <translation id="7975919845073681630">Энэ нь Chromium-н хоёр дахь суулгалт тул таны өгөгдмөл хөтчөөр сонгох боломжгүй.</translation>
-<translation id="7982481011030453202">Хэрэв тохиргоог энэ хуудсанд харуулахгүй байвал <ph name="LINK_BEGIN" />
-        ChromiumOS-н тохиргооноосоо<ph name="LINK_END" /> хайна уу</translation>
 <translation id="7997934263947464652">Тодорхойгүй эх сурвалжийн өргөтгөл, апп болон загвар нь таны төхөөрөмжийг гэмтээх боломжтой. Chromium тэдгээрийг зөвхөн <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />-с суулгахыг зөвлөж байна</translation>
 <translation id="8013436988911883588">Chromium-д хандалт олгосны дараа веб сайтууд таны хандалтыг асуух боломжтой болно.</translation>
 <translation id="80471789339884597">Суулгасанд баярлалаа. Та <ph name="BUNDLE_NAME" />-г ашиглахаасаа өмнө бүх хөтчөө дахин эхлүүлэх ёстой.</translation>
diff --git a/chrome/app/resources/chromium_strings_mr.xtb b/chrome/app/resources/chromium_strings_mr.xtb
index c5bd3df..e171edc 100644
--- a/chrome/app/resources/chromium_strings_mr.xtb
+++ b/chrome/app/resources/chromium_strings_mr.xtb
@@ -147,7 +147,6 @@
 <translation id="4415566066719264597">Chromium बॅकग्राउंडमध्ये सुरू द्या</translation>
 <translation id="4423735387467980091">Chromium कस्टमाइझ करा आणि नियंत्रित करा</translation>
 <translation id="4427306783828095590">वर्धित सुरक्षितता फिशिंग आणि मालवेअर अधिक चांगल्यारितीने ब्लॉक करते</translation>
-<translation id="4440114195512068100">तुमचे डिव्हाइस अप टू डेट आहे का हे पाहण्यासाठी, <ph name="LINK_BEGIN" />ChromiumOS सेटिंग्ज<ph name="LINK_END" /> वर जा</translation>
 <translation id="452711251841752011">Chromium मध्ये स्वागत आहे; नवीन ब्राउझर विंडो उघडली</translation>
 <translation id="4544142686420020088">Chromium अपडेट झाले नाही, काहीतरी चूक झाली. <ph name="BEGIN_LINK" />Chromium अपडेट समस्या आणि अयशस्वी झालेल्या अपडेटचे निराकरण करा.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">नवीन Chromium प्रोफाइलमध्ये पुढे सुरू ठेवायचे आहे का?</translation>
@@ -312,8 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />तुम्ही तुमचा डेटा कसा व्यवस्थापित करू शकता:<ph name="END_BOLD" /> तुमच्या गोपनीयतेचे संरक्षण करण्यासाठी, आम्ही तुमची चार आठवड्यांपेक्षा जुनी स्वारस्ये ऑटो-डिलीट करतो. तुम्ही ब्राउझ करत राहाल, तसे सूचीमध्ये स्वारस्य पुन्हा दिसू शकते. किंवा Chromium ने विचारात घेऊ नये असे तुम्हाला वाटत असलेली स्वारस्ये तुम्ही काढून टाकू शकता.</translation>
 <translation id="7937630085815544518">तुम्ही <ph name="USER_EMAIL_ADDRESS" /> या रुपात Chromium मध्ये साइन इन केले होते. कृपया पुन्हा साइन इन करण्यासाठी समान खाते वापरा.</translation>
 <translation id="7975919845073681630">ही Chromium ची दुय्यम स्थापना असून त्यास तुमचा डीफॉल्ट ब्राउझर बनवू शकत नाही.</translation>
-<translation id="7982481011030453202">या पेजवर एखादे सेटिंग दिसत नसल्यास, तुमची <ph name="LINK_BEGIN" />
-      ChromiumOS सेटिंग्ज<ph name="LINK_END" /> यामध्ये पहा</translation>
 <translation id="7997934263947464652">अज्ञात स्रोतांकडील एक्स्टेंशन, अ‍ॅप्स आणि थीम तुमच्या डिव्हाइसला हानी पोहोचवू शकतात. Chromium फक्त <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> मधून ते इंस्टॉल करण्याची शिफारस करतो</translation>
 <translation id="8013436988911883588">एकदा का Chromium ला ॲक्सेस मिळाला की, वेबसाइट तुम्हाला ॲक्सेससाठी विचारू शकतील.</translation>
 <translation id="80471789339884597">इंस्टॉल केल्याबद्दल धन्यवाद. तुम्ही <ph name="BUNDLE_NAME" /> वापरण्यापूर्वी तुमचे सर्व ब्राउझर रीस्टार्ट करणे आवश्यक आहे.</translation>
diff --git a/chrome/app/resources/chromium_strings_ms.xtb b/chrome/app/resources/chromium_strings_ms.xtb
index b0b7d40..1425133 100644
--- a/chrome/app/resources/chromium_strings_ms.xtb
+++ b/chrome/app/resources/chromium_strings_ms.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Benarkan Chromium Dijalankan dalam Latar Belakang</translation>
 <translation id="4423735387467980091">Sesuaikan dan kawal Chromium</translation>
 <translation id="4427306783828095590">Perlindungan yang dipertingkatkan melakukan pelbagai lagi perkara untuk menyekat pancingan data dan perisian hasad</translation>
-<translation id="4440114195512068100">Untuk melihat sama ada peranti anda telah dikemas kini, pergi ke <ph name="LINK_BEGIN" />Tetapan Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Selamat datang ke Chromium; tetingkap penyemak imbas baharu dibuka</translation>
 <translation id="4544142686420020088">Chromium tidak dikemas kini, kesilapan telah berlaku. <ph name="BEGIN_LINK" />Selesaikan masalah kemas kini dan kegagalan kemas kini Chromium.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Teruskan dalam profil Chromium baharu?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Cara anda boleh mengurus data anda:<ph name="END_BOLD" /> Untuk melindungi privasi anda, kami memadamkan minat anda yang disimpan melebihi 4 minggu secara automatik. Semasa anda terus menyemak imbas, minat itu mungkin muncul semula dalam senarai. Anda juga boleh mengalih keluar minat yang anda tidak mahu dipertimbangkan Chromium.</translation>
 <translation id="7937630085815544518">Anda telah log masuk ke Chromium sebagai <ph name="USER_EMAIL_ADDRESS" />. Sila gunakan akaun yang sama untuk log masuk lagi.</translation>
 <translation id="7975919845073681630">Ini adalah pemasangan kedua Chromium dan tidak boleh dijadikan penyemak imbas lalai anda.</translation>
-<translation id="7982481011030453202">Jika tetapan tidak ditunjukkan pada halaman ini, lihat dalam <ph name="LINK_BEGIN" />
-      tetapan Chromium OS anda<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Sambungan, apl dan tema daripada sumber yang tidak diketahui boleh membahayakan peranti anda. Chrome mengesyorkan agar memasang fail daripada <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> sahaja</translation>
 <translation id="8013436988911883588">Sebaik sahaja Chromium mendapat akses, laman web akan dapat meminta akses daripada anda.</translation>
 <translation id="80471789339884597">Terima kasih kerana memasang. Anda perlu memulakan semula semua penyemak imbas anda sebelum menggunakan <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_my.xtb b/chrome/app/resources/chromium_strings_my.xtb
index 8f0ce58..43d9a4d 100644
--- a/chrome/app/resources/chromium_strings_my.xtb
+++ b/chrome/app/resources/chromium_strings_my.xtb
@@ -149,7 +149,6 @@
 <translation id="4415566066719264597">Chromium ကို နောက်ခံတွင် ဖွင့်ခွင့်ပေးပါ</translation>
 <translation id="4423735387467980091">Chromium ကို စိတ်ကြိုက် ပြုပြင်ရန် နှင့် ထိန်းချုပ်ရန်</translation>
 <translation id="4427306783828095590">အဆင့်မြှင့်တင်ထားသော ကာကွယ်မှုက ဖြားယောင်းမှုနှင့် မဲလ်ဝဲများကို ပိုမိုပိတ်ဆို့ပေးသည်</translation>
-<translation id="4440114195512068100">သင့်စက် အပ်ဒိတ်ဖြစ်၊ မဖြစ် ကြည့်ရန် <ph name="LINK_BEGIN" />ChromiumOS ဆက်တင်များ<ph name="LINK_END" /> သို့သွားပါ</translation>
 <translation id="452711251841752011">Chromium က ကြိုဆိုပါသည်၊ ဘရောင်ဇာဝင်းဒိုးအသစ် ဖွင့်လိုက်ပါပြီ</translation>
 <translation id="4544142686420020088">Chromium အပ်ဒိတ်လုပ်၍ မရပါ၊ တစ်ခုခု မှားသွားသည်။ <ph name="BEGIN_LINK" />Chromium အပ်ဒိတ်ပြဿနာများနှင့် လုပ်၍မရသော အပ်ဒိတ်များကို ပြင်ဆင်ပါ။<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Chromium ပရိုဖိုင်အသစ်တွင် ဆက်လုပ်မလား။</translation>
@@ -315,8 +314,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />သင့်ဒေတာကို စီမံနိုင်ပုံ-<ph name="END_BOLD" /> သင်၏ကိုယ်ရေးအချက်အလက်လုံခြုံမှုကို ကာကွယ်ရန် ၄ ပတ်ကျော်ပြီဖြစ်သော သင့်စိတ်ဝင်စားမှုများကို အလိုအလျောက်ဖျက်သည်။ သင်ကြည့်ရှုနေသည့်အတွက် စိတ်ဝင်စားမှုက စာရင်းတွင် ထပ်ပေါ်လာနိုင်သည်။ သို့မဟုတ် Chromium ထည့်မတွက်ရမည့် စိတ်ဝင်စားမှုများကို ဖယ်ရှားနိုင်သည်။</translation>
 <translation id="7937630085815544518">Chromium သို့ <ph name="USER_EMAIL_ADDRESS" /> အဖြစ်သင် ဝင်ရောက်ခဲ့သည်။ ကျေးဇူးပြု၍ တူညီသည့်အကောင့်ကို အသုံးပြုကာ ထပ်မံဝင်ရောက်ပါ။</translation>
 <translation id="7975919845073681630">ဤသည်မှာ Chromium ကို အရန်သဘော ထည့်သွင်းခြင်းဖြစ်ပြီး သင်၏မူရင်းဘရောင်ဇာအဖြစ် ၎င်းကို အသုံးပြု၍မရနိုင်ပါ။</translation>
-<translation id="7982481011030453202">ဤစာမျက်နှာတွင် ဆက်တင်ကို မပြပါက <ph name="LINK_BEGIN" />
-        ChromiumOS ဆင်တင်များ<ph name="LINK_END" /> တွင် ကြည့်နိုင်သည်</translation>
 <translation id="7997934263947464652">မူရင်း မသိရှိသော အရင်းအမြစ်များမှ နောက်ဆက်တွဲများ၊ အက်ပ်များနှင့် အပြင်ဆင်များသည် သင့်စက်ကို ထိခိုက်စေနိုင်သည်။ ၎င်းတို့ကို <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> မှသာ ထည့်သွင်းရန် Chromium က အကြံပြုပါသည်</translation>
 <translation id="8013436988911883588">Chromium အသုံးပြုခွင့်ရှိသည်နှင့် ဝဘ်ဆိုက်များသည် သင့်ထံခွင့်ပြုချက်တောင်းပါမည်။</translation>
 <translation id="80471789339884597">ထည့်သွင်းသည့်အတွက် ကျေးဇူးတင်ပါသည်။ <ph name="BUNDLE_NAME" /> အသုံးမပြုမီ သင့်ဘရောင်ဇာအားလုံးကို ပြန်စရမည်။</translation>
diff --git a/chrome/app/resources/chromium_strings_ne.xtb b/chrome/app/resources/chromium_strings_ne.xtb
index 24570d0..65ab3db 100644
--- a/chrome/app/resources/chromium_strings_ne.xtb
+++ b/chrome/app/resources/chromium_strings_ne.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Chromium लाई पृष्ठभूमिमा चल्न दिनुहोस्</translation>
 <translation id="4423735387467980091">Chromium आफू अनुकूल र नियन्त्रण गर्नुहोस्</translation>
 <translation id="4427306783828095590">परिष्कृत सुरक्षा प्रयोग गरी फिसिङ तथा मालवेयरमाथि अझ राम्रोसँग रोक लगाउन सकिन्छ</translation>
-<translation id="4440114195512068100">तपाईं आफ्नो डिभाइस अप टु डेट छ कि छैन भन्ने कुरा हेर्न चाहनुहुन्छ भने <ph name="LINK_BEGIN" />ChromiumOS का सेटिङ<ph name="LINK_END" />मा जानुहोस्</translation>
 <translation id="452711251841752011">Chromium मा तपाईंलाई स्वागत छ; ब्राउजरको नयाँ विन्डो खोलियो</translation>
 <translation id="4544142686420020088">Chromium अद्यावधिक भएन, केही चिज गडबड भयो। <ph name="BEGIN_LINK" />Chromium अद्यावधिक गर्दा देखिएका समस्या तथा अद्यावधिक नहुने समस्याहरू समाधान गर्नुहोस्।<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">नयाँ Chromium प्रोफाइल प्रयोग गरी साइन इन गर्ने हो?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />तपाईं आफ्नो जानकारी कसरी व्यवस्थापन गर्न सक्नुहुन्छ:<ph name="END_BOLD" /> तपाईंको गोपनीयताको सुरक्षार्थ हामी ४ हप्ताभन्दा पुराना तपाईंका रुचिहरू स्वतः मेटाउँछौँ। तपाईंले विभिन्न साइटहरू ब्राउज गरिराख्ने क्रममा कुनै रुचि यो सूचीमा फेरि देखिन सक्छ। अथवा तपाईं Chromium ले कुनै रुचिसँग सम्बन्धित सामग्री नदेखाओस् भन्ने चाहनुहुन्छ भने तपाईं उक्त रुचि हटाउन सक्नुहुन्छ।</translation>
 <translation id="7937630085815544518">तपाईंलाई Chromium मा <ph name="USER_EMAIL_ADDRESS" /> को रूपमा साइन इन गरिएको थियो। कृपया फेरि साइन इन गर्न यही खाता प्रयोग गर्नुहोस्।</translation>
 <translation id="7975919845073681630">यो Chromium को एउटा सहायक स्थापना हो र यसलाई तपाईँको डिफल्ट ब्राउजर बनाउन सकिँदैन।</translation>
-<translation id="7982481011030453202">यो पेजमा कुनै सेटिङ देखिएन भने <ph name="LINK_BEGIN" />
-        ChromiumOS का सेटिङ<ph name="LINK_END" /> हेर्नुहोस्</translation>
 <translation id="7997934263947464652">अज्ञात स्रोतबाट डाउनलोड गरिएका एक्स्टेन्सन, एप र थिमहरूले तपाईंको डिभाइसमा हानि पुर्‍याउन सक्छन्। Chromium त्यस्ता कुराहरू<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> बाट मात्र इन्स्टल गर्न सिफारिस गर्छ</translation>
 <translation id="8013436988911883588">Chromium ले पहुँच प्राप्त गरेपछि, वेबसाइटहरू तपाईंसँग पहुँच माग्न सक्ने छन्।</translation>
 <translation id="80471789339884597">इन्स्टल गर्नुभएकोमा धन्यवाद। <ph name="BUNDLE_NAME" /> प्रयोग गर्नुअघि तपाईंले अनिवार्य रूपमा आफ्ना सबै ब्राउजर रिस्टार्ट गर्नु पर्छ।</translation>
diff --git a/chrome/app/resources/chromium_strings_nl.xtb b/chrome/app/resources/chromium_strings_nl.xtb
index 029ba0d0..580c116b 100644
--- a/chrome/app/resources/chromium_strings_nl.xtb
+++ b/chrome/app/resources/chromium_strings_nl.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromium laten uitvoeren op de achtergrond</translation>
 <translation id="4423735387467980091">Chromium aanpassen en beheren</translation>
 <translation id="4427306783828095590">Geoptimaliseerde beveiliging die je nog beter beschermt tegen phishing en malware</translation>
-<translation id="4440114195512068100">Ga naar de <ph name="LINK_BEGIN" />instellingen van Chromium OS<ph name="LINK_END" /> om te kijken of je apparaat up-to-date is</translation>
 <translation id="452711251841752011">Welkom bij Chromium, nieuw browservenster geopend</translation>
 <translation id="4544142686420020088">Chromium is niet geüpdatet. Er is een fout opgetreden. <ph name="BEGIN_LINK" />Updateproblemen en mislukte updates voor Chromium verhelpen<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Doorgaan met een nieuw Chromium-profiel?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Hoe je je gegevens kunt beheren:<ph name="END_BOLD" /> Ter bescherming van je privacy verwijderen we automatisch interesses die ouder zijn dan 4 weken. Het kan gebeuren dat een interesse weer in de lijst komt te staan als je blijft browsen. Je kunt ook interesses verwijderen waarvan je niet wilt dat Chromium deze overweegt.</translation>
 <translation id="7937630085815544518">Je bent ingelogd bij Chromium als <ph name="USER_EMAIL_ADDRESS" />. Gebruik hetzelfde account om opnieuw in te loggen.</translation>
 <translation id="7975919845073681630">Dit is een tweede installatie van Chromium en kan niet als standaardbrowser worden ingesteld.</translation>
-<translation id="7982481011030453202">Kijk in de <ph name="LINK_BEGIN" />Chromium OS-instellingen<ph name="LINK_END" /> als je een instelling niet ziet op deze pagina.</translation>
 <translation id="7997934263947464652">Extensies, apps en thema's van onbekende bronnen kunnen schadelijk zijn voor je apparaat. Chromium raadt je aan ze alleen te installeren vanuit de <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Zodra Chromium toegang heeft, kunnen websites je om toegang vragen.</translation>
 <translation id="80471789339884597">Bedankt voor het installeren. Je moet alle browsers opnieuw opstarten voordat je <ph name="BUNDLE_NAME" /> kunt gebruiken.</translation>
diff --git a/chrome/app/resources/chromium_strings_no.xtb b/chrome/app/resources/chromium_strings_no.xtb
index d645e08e..b82aba2 100644
--- a/chrome/app/resources/chromium_strings_no.xtb
+++ b/chrome/app/resources/chromium_strings_no.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">La Chromium kjøre i bakgrunnen</translation>
 <translation id="4423735387467980091">Tilpass og kontrollér Chromium</translation>
 <translation id="4427306783828095590">Økt beskyttelse gjør mer for å blokkere nettfisking og skadelig programvare</translation>
-<translation id="4440114195512068100">For å se om enheten er oppdatert, gå til <ph name="LINK_BEGIN" />ChromiumOS-innstillingene<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Velkommen til Chromium – et nytt nettleservindu er åpnet</translation>
 <translation id="4544142686420020088">Chromium ble ikke oppdatert. Noe gikk galt. <ph name="BEGIN_LINK" />Løs problemer med Chromium-oppdateringer og mislykkede oppdateringer.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Vil du fortsette i en ny Chromium-profil?</translation>
@@ -310,8 +309,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Slik kan du administrere dataene dine:<ph name="END_BOLD" /> For å beskytte personvernet ditt sletter vi automatisk interessene dine som er eldre enn fire uker. Når du fortsetter å surfe, kan det hende at interesser havner på listen igjen. Alternativt kan du fjerne interesse du ikke vil at Chromium skal vurdere.</translation>
 <translation id="7937630085815544518">Du ble logget på Chromium som <ph name="USER_EMAIL_ADDRESS" />. Du må logge deg på igjen med samme konto.</translation>
 <translation id="7975919845073681630">Dette er en sekundær installering av Chromium. Den kan ikke brukes som standardnettleser.</translation>
-<translation id="7982481011030453202">Hvis en innstilling ikke vises på denne siden, kan du se i <ph name="LINK_BEGIN" />
-    ChromiumOS-innstillingene<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Utvidelser, apper og temaer fra ukjente kilder kan skade enheten din. Chromium anbefaler at du kun installerer dem fra <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Når Chromium har fått tilgang, kan nettsteder spørre deg om tilgang.</translation>
 <translation id="80471789339884597">Installasjonen er fullført. Start alle nettlesere på nytt før du tar i bruk <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_or.xtb b/chrome/app/resources/chromium_strings_or.xtb
index 7f71222..053ecaa 100644
--- a/chrome/app/resources/chromium_strings_or.xtb
+++ b/chrome/app/resources/chromium_strings_or.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">ପୃଷ୍ଠପଟରେ Chromiumକୁ ଚାଲିବାକୁ ଦିଅନ୍ତୁ</translation>
 <translation id="4423735387467980091">Chromium କଷ୍ଟମାଇଜ୍ ଓ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ</translation>
 <translation id="4427306783828095590">ଉନ୍ନତ ସୁରକ୍ଷା ଫିସିଂ ଓ ମାଲୱେୟାରକୁ ବ୍ଲକ୍ କରିବାକୁ ଅନେକ କିଛି କରେ</translation>
-<translation id="4440114195512068100">ଆପଣଙ୍କର ଡିଭାଇସ ଅପଟୁଡେଟ ଅଛି କି ନାହିଁ, ତାହା ଦେଖିବାକୁ <ph name="LINK_BEGIN" />ChromiumOS ସେଟିଂସ<ph name="LINK_END" />କୁ ଯାଆନ୍ତୁ</translation>
 <translation id="452711251841752011">Chromiumକୁ ସ୍ୱାଗତ; ନୂଆ ବ୍ରାଉଜର୍ ୱିଣ୍ଡୋ ଖୋଲାଯାଇଛି</translation>
 <translation id="4544142686420020088">Chromium ଅପଡେଟ୍ ହେଲା ନାହିଁ, କିଛି ତ୍ରୁଟି ହୋଇଗଲା। <ph name="BEGIN_LINK" />Chromium ଅପଡେଟ୍ ସମସ୍ୟା ଏବଂ ବିଫଳ ଅପଡେଟଗୁଡ଼ିକର ସମାଧାନ କରନ୍ତୁ।<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">ଏକ ନୂଆ Chromium ପ୍ରୋଫାଇଲରେ ଜାରି ରଖିବେ?</translation>
@@ -312,7 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />ଆପଣ ଆପଣଙ୍କ ଡାଟାକୁ କିପରି ପରିଚାଳନା କରିପାରିବେ:<ph name="END_BOLD" /> ଆପଣଙ୍କ ଗୋପନୀୟତାକୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ, ଆମେ ଆପଣଙ୍କ 4 ସପ୍ତାହରୁ ଅଧିକ ପୁରୁଣା ରୁଚିଗୁଡ଼ିକୁ ସ୍ୱତଃ-ଡିଲିଟ କରୁ। ଆପଣ ବ୍ରାଉଜ କରିବା ଜାରି ରଖିବା ସମୟରେ, ତାଲିକାରେ ଏକ ରୁଚି ପୁଣି ଦେଖାଯାଇପାରେ। କିମ୍ବା Chromium ଯେଉଁ ରୁଚିଗୁଡ଼ିକୁ ବିଚାରକୁ ନେଉ ବୋଲି ଆପଣ ଚାହୁଁନାହାଁନ୍ତି ସେଗୁଡ଼ିକୁ ଆପଣ କାଢ଼ିପାରିବେ।</translation>
 <translation id="7937630085815544518">ଆପଣ <ph name="USER_EMAIL_ADDRESS" />ରେ Chromiumକୁ ସାଇନ୍ ଇନ୍ କରିଛନ୍ତି। ଦୟାକରି ସାଇନ୍ ଇନ୍ କରିବା ଏହି ସମାନ ଆକାଉଣ୍ଟକୁ ବ୍ୟବହାର କରନ୍ତୁ।</translation>
 <translation id="7975919845073681630">ଏହା Chromiumର ଏକ ସେକେଣ୍ଡାରୀ ଇନ୍‍ଷ୍ଟଲେସନ୍‌ ଏବଂ ଏହାକୁ ଆପଣଙ୍କ ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍‌ କରାଯାଇପାରିବ ନାହିଁ।</translation>
-<translation id="7982481011030453202">ଯଦି ଏହି ପୃଷ୍ଠାରେ କୌଣସି ସେଟିଂ ଦେଖାଯାଏ ନାହିଁ, ତେବେ ଆପଣଙ୍କ <ph name="LINK_BEGIN" />ChromiumOS ସେଟିଂସ<ph name="LINK_END" />ରେ ଦେଖନ୍ତୁ</translation>
 <translation id="7997934263947464652">ଅଜଣା ସୋର୍ସରୁ ଏକ୍ସଟେନସନ, ଆପ ଏବଂ ଥିମଗୁଡ଼ିକ ଆପଣଙ୍କ ଡିଭାଇସକୁ କ୍ଷତି ପହଞ୍ଚାଇପାରିବ। କେବଳ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />ରୁ ସେଗୁଡ଼ିକୁ ଇନଷ୍ଟଲ କରିବା ପାଇଁ Chromium ସୁପାରିଶ କରେ</translation>
 <translation id="8013436988911883588">ଥରେ Chromiumର ଆକ୍ସେସ୍ ହେବା ପରେ, ୱେବ୍‌ସାଇଟ୍ ଆପଣଙ୍କୁ ଆକ୍ସେସ୍ ପାଇଁ ପଚାରିବାରେ ସକ୍ଷମ ହେବେ।</translation>
 <translation id="80471789339884597">ଇନଷ୍ଟଲ କରିଥିବା ଯୋଗୁଁ ଧନ୍ୟବାଦ । ଆପଣ <ph name="BUNDLE_NAME" /> ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଆପଣଙ୍କ ସମସ୍ତ ବ୍ରାଉଜରକୁ ରିଷ୍ଟାର୍ଟ କରିବା ଆବଶ୍ୟକ।</translation>
diff --git a/chrome/app/resources/chromium_strings_pa.xtb b/chrome/app/resources/chromium_strings_pa.xtb
index d332f1a..a854b7f 100644
--- a/chrome/app/resources/chromium_strings_pa.xtb
+++ b/chrome/app/resources/chromium_strings_pa.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromium ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਚੱਲਣ ਦਿਓ</translation>
 <translation id="4423735387467980091">Google Chrome ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰਕੇ ਕੰਟਰੋਲ ਕਰੋ।</translation>
 <translation id="4427306783828095590">ਧੋਖਾਧੜੀ ਅਤੇ ਮਾਲਵੇਅਰ ਨੂੰ ਬਲਾਕ ਕਰਨ ਵਾਸਤੇ ਵਿਸਤ੍ਰਿਤ ਸੁਰੱਖਿਆ ਹੋਰ ਵੱਧ ਕੰਮ ਕਰਦੀ ਹੈ</translation>
-<translation id="4440114195512068100">ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਅੱਪ-ਟੂ-ਡੇਟ ਹੈ ਜਾਂ ਨਹੀਂ, <ph name="LINK_BEGIN" />ChromiumOS ਸੈਟਿੰਗਾਂ<ph name="LINK_END" /> 'ਤੇ ਜਾਓ</translation>
 <translation id="452711251841752011">Chromium ਵਿੱਚ ਜੀ ਆਇਆਂ ਨੂੰ; ਨਵੀਂ ਬ੍ਰਾਊਜ਼ਰ ਵਿੰਡੋ ਖੋਲ੍ਹੀ ਗਈ</translation>
 <translation id="4544142686420020088">Chromium ਅੱਪਡੇਟ ਨਹੀਂ ਹੋਇਆ, ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ। <ph name="BEGIN_LINK" />Chromium ਅੱਪਡੇਟ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ ਅਤੇ ਅਸਫਲ ਹੋਈਆਂ ਅੱਪਡੇਟਾਂ ਨੂੰ ਠੀਕ ਕਰੋ।<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">ਕੀ ਨਵੇਂ Chromium ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਜਾਰੀ ਰੱਖਣਾ ਹੈ?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />ਤੁਸੀਂ ਆਪਣੇ ਡਾਟੇ ਦਾ ਪ੍ਰਬੰਧਨ ਕਿਵੇਂ ਕਰ ਸਕਦੇ ਹੋ:<ph name="END_BOLD" /> ਤੁਹਾਡੀ ਪਰਦੇਦਾਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ, ਅਸੀਂ ਤੁਹਾਡੀਆਂ ਉਨ੍ਹਾਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਸਵੈਚਲਿਤ-ਮਿਟਾਉਂਦੇ ਹਾਂ ਜੋ 4 ਹਫ਼ਤਿਆਂ ਤੋਂ ਵੱਧ ਪੁਰਾਣੀਆਂ ਹਨ। ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ ਕਰਦੇ ਰਹਿਣ 'ਤੇ, ਸੂਚੀ ਵਿੱਚ ਕੋਈ ਦਿਲਚਸਪੀ ਦੁਬਾਰਾ ਦਿਸ ਸਕਦੀ ਹੈ। ਜਾਂ ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਦਿਲਚਸਪੀਆਂ ਨੂੰ ਹਟਾ ਸਕਦੇ ਹੋ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ ਨਹੀਂ ਚਾਹੁੰਦੇ ਕਿ Chromium ਵਿਚਾਰ ਕਰੇ।</translation>
 <translation id="7937630085815544518">ਤੁਸੀਂ <ph name="USER_EMAIL_ADDRESS" /> ਵਜੋਂ Chromium 'ਤੇ ਸਾਈਨ-ਇਨ ਕੀਤਾ ਸੀ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਸਾਈਨ-ਇਨ ਕਰਨ ਲਈ ਓਹੀ ਖਾਤਾ ਵਰਤੋ।</translation>
 <translation id="7975919845073681630">ਇਹ Chromium ਦੀ ਇੱਕ ਸੈਕੰਡਰੀ ਸਥਾਪਨਾ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਤੁਹਾਡਾ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।</translation>
-<translation id="7982481011030453202">ਜੇ ਇਸ ਪੰਨੇ 'ਤੇ ਸੈਟਿੰਗ ਨਹੀਂ ਦਿਸਦੀ, ਤਾਂ ਆਪਣੀਆਂ <ph name="LINK_BEGIN" />
-      ChromiumOS ਸੈਟਿੰਗਾਂ<ph name="LINK_END" /> ਵਿੱਚ ਦੇਖੋ</translation>
 <translation id="7997934263947464652">ਅਗਿਆਤ ਸਰੋਤਾਂ ਤੋਂ ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਐਕਸਟੈਂਸ਼ਨਾਂ, ਐਪਾਂ ਅਤੇ ਥੀਮਾਂ ਨਾਲ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚ ਸਕਦਾ ਹੈ। Chromium ਇਨ੍ਹਾਂ ਨੂੰ ਸਿਰਫ਼ <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> ਤੋਂ ਸਥਾਪਤ ਕਰਨ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕਰਦਾ ਹੈ</translation>
 <translation id="8013436988911883588">Chromium ਤੱਕ ਪਹੁੰਚ ਹੋਣ 'ਤੇ, ਵੈੱਬਸਾਈਟਾਂ ਤੁਹਾਨੂੰ ਪਹੁੰਚ ਲਈ ਪੁੱਛ ਸਕਣਗੀਆਂ।</translation>
 <translation id="80471789339884597">ਸਥਾਪਨਾ ਕਰਨ ਲਈ ਧੰਨਵਾਦ। <ph name="BUNDLE_NAME" /> ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਆਪਣੇ ਸਾਰੇ ਬ੍ਰਾਊਜ਼ਰਾਂ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ।</translation>
diff --git a/chrome/app/resources/chromium_strings_pl.xtb b/chrome/app/resources/chromium_strings_pl.xtb
index 36f4be83..29ee7c62 100644
--- a/chrome/app/resources/chromium_strings_pl.xtb
+++ b/chrome/app/resources/chromium_strings_pl.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">Zezwalaj Chromium na działanie w tle</translation>
 <translation id="4423735387467980091">Dostosowywanie i kontrolowanie Chromium</translation>
 <translation id="4427306783828095590">Silniejsza ochrona lepiej chroni przed phishingiem i złośliwym oprogramowaniem</translation>
-<translation id="4440114195512068100">Aby sprawdzić, czy urządzenie jest zaktualizowane, otwórz <ph name="LINK_BEGIN" />ustawienia systemu operacyjnego Chromium<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Witamy w Chromium. Zostało otwarte nowe okno przeglądarki.</translation>
 <translation id="4544142686420020088">Coś poszło nie tak i nie udało się zaktualizować Chromium. <ph name="BEGIN_LINK" />Napraw nieudane aktualizacje Chromium i rozwiąż inne problemy z aktualizacjami<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Kontynuować w nowym profilu Chromium?</translation>
@@ -308,7 +307,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />W jaki sposób możesz zarządzać swoimi danymi:<ph name="END_BOLD" /> żeby chronić Twoją prywatność, automatycznie usuwamy Twoje zainteresowania, które są starsze niż 4 tygodnie. Podczas dalszego przeglądania zainteresowanie może się pojawić ponownie na liście. Możesz też usunąć zainteresowania, których Chrome ma nie brać pod uwagę.</translation>
 <translation id="7937630085815544518">Byłeś zalogowany w Chromium jako <ph name="USER_EMAIL_ADDRESS" />. Zaloguj się ponownie, korzystając z tego samego konta.</translation>
 <translation id="7975919845073681630">To jest druga instalacja Chromium. Nie można ustawić jej jako przeglądarki domyślnej.</translation>
-<translation id="7982481011030453202">Jeśli ustawienia nie widać na tej stronie, zajrzyj do <ph name="LINK_BEGIN" />ustawień systemu operacyjnego Chromium<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Rozszerzenia, aplikacje i motywy z nieznanych źródeł mogą wyrządzić szkody na Twoim urządzeniu. Chromium zaleca, aby instalować je tylko ze sklepu <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Gdy Chromium będzie mieć dostęp, strony będą mogły prosić Cię o dostęp.</translation>
 <translation id="80471789339884597">Dziękujemy za instalację. Przed rozpoczęciem korzystania z programu <ph name="BUNDLE_NAME" /> musisz ponownie uruchomić wszystkie przeglądarki.</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-BR.xtb b/chrome/app/resources/chromium_strings_pt-BR.xtb
index 7183261..c0e1df5 100644
--- a/chrome/app/resources/chromium_strings_pt-BR.xtb
+++ b/chrome/app/resources/chromium_strings_pt-BR.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">Permitir a execução do Chromium em segundo plano</translation>
 <translation id="4423735387467980091">Personalizar e controlar o Chromium</translation>
 <translation id="4427306783828095590">A Proteção reforçada é mais eficiente no combate a golpes de phishing e malware</translation>
-<translation id="4440114195512068100">Para verificar se o dispositivo está atualizado, acesse as <ph name="LINK_BEGIN" />Configurações do ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Conheça o Chromium. Nova janela do navegador aberta</translation>
 <translation id="4544142686420020088">A atualização do Chromium não foi concluída. Algo deu errado. <ph name="BEGIN_LINK" />Corrija as atualizações com falhas e os problemas de atualização do Chromium<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">Continuar em um perfil novo do Chromium?</translation>
@@ -305,8 +304,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Como gerenciar seus dados<ph name="END_BOLD" />: para proteger sua privacidade, excluímos automaticamente seus interesses que têm mais de quatro semanas. Enquanto você navega, um interesse pode aparecer na lista novamente. Você também pode remover interesses que não quer que o Chromium considere.</translation>
 <translation id="7937630085815544518">Você estava conectado ao Chromium como <ph name="USER_EMAIL_ADDRESS" />. Use a mesma conta para fazer login novamente.</translation>
 <translation id="7975919845073681630">Como esta é uma instalação secundária do Chromium, ele não pode se tornar seu navegador padrão.</translation>
-<translation id="7982481011030453202">Se uma configuração não for mostrada nesta página, verifique as <ph name="LINK_BEGIN" />
-      configurações do ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Extensões, apps e temas de fontes desconhecidas podem danificar o dispositivo. O Chromium recomenda os instalar apenas pela <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Assim que o Chromium tiver acesso, os sites poderão solicitar acesso.</translation>
 <translation id="80471789339884597">Agradecemos por fazer a instalação. É necessário reiniciar todos os navegadores antes de utilizar o <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_pt-PT.xtb b/chrome/app/resources/chromium_strings_pt-PT.xtb
index 1191fda..15bb1a1 100644
--- a/chrome/app/resources/chromium_strings_pt-PT.xtb
+++ b/chrome/app/resources/chromium_strings_pt-PT.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Permitir que o Chromium seja executado em segundo plano</translation>
 <translation id="4423735387467980091">Personalizar e controlar o Chromium</translation>
 <translation id="4427306783828095590">A proteção melhorada vai mais além para bloquear o phishing e o software malicioso.</translation>
-<translation id="4440114195512068100">Para ver se o seu dispositivo está atualizado, aceda às <ph name="LINK_BEGIN" />Definições do ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Damos-lhe as boas-vindas ao Chromium; nova janela do navegador aberta</translation>
 <translation id="4544142686420020088">O Chromium não foi atualizado. Ocorreu um erro. <ph name="BEGIN_LINK" />Corrija problemas de atualização do Chrome e falhas nas atualizações<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">Pretende continuar num novo perfil do Chromium?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Como pode gerir os seus dados:<ph name="END_BOLD" /> para proteger a sua privacidade, eliminamos automaticamente os seus interesses com mais de 4 semanas. Enquanto navega, um interesse pode aparecer novamente na lista. Em alternativa, pode remover os interesses que não quer que o Chromium considere.</translation>
 <translation id="7937630085815544518">Iniciou sessão no Chromium com a conta <ph name="USER_EMAIL_ADDRESS" />. Utilize a mesma conta para iniciar sessão novamente.</translation>
 <translation id="7975919845073681630">Esta é uma instalação secundária do Chromium, pelo que não pode tornar-se o navegador predefinido.</translation>
-<translation id="7982481011030453202">Se não encontrar uma definição nesta página, procure nas <ph name="LINK_BEGIN" />
-      definições do ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">As extensões, as apps e os temas de fontes desconhecidas podem danificar o seu dispositivo. O Chromium recomenda instalá-los apenas a partir da <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Assim que o Chromium tiver acesso, os Websites poderão solicitar-lhe o acesso.</translation>
 <translation id="80471789339884597">Agradecemos a instalação. Tem de reiniciar todos os navegadores antes de usar o <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_ro.xtb b/chrome/app/resources/chromium_strings_ro.xtb
index 221d5376..a61087db 100644
--- a/chrome/app/resources/chromium_strings_ro.xtb
+++ b/chrome/app/resources/chromium_strings_ro.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Permite Chromium să ruleze în fundal</translation>
 <translation id="4423735387467980091">Personalizați și controlați Chromium</translation>
 <translation id="4427306783828095590">Protecția îmbunătățită face mai multe pentru blocarea phishingului și a programelor malware</translation>
-<translation id="4440114195512068100">Pentru a verifica dacă dispozitivul este actualizat, accesează <ph name="LINK_BEGIN" />Setările sistemului de operare Chromium<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Bun venit la Chromium; fereastră de browser nouă deschisă</translation>
 <translation id="4544142686420020088">Chromium nu s-a actualizat. A apărut o eroare. <ph name="BEGIN_LINK" />Remediază problemele de actualizare și actualizările nereușite în Chromium.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Continui cu un profil Chromium nou?</translation>
@@ -310,7 +309,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Cum îți poți gestiona datele:<ph name="END_BOLD" /> pentru a-ți proteja confidențialitatea, ștergem automat categoriile de interese mai vechi de patru săptămâni. Pe măsură ce navighezi, o categorie de interese poate să reapară în listă. Sau poți elimina categoriile de interese pe care nu dorești ca Chromium să le ia în considerare.</translation>
 <translation id="7937630085815544518">Ați fost conectat(ă) la Chromium ca <ph name="USER_EMAIL_ADDRESS" />. Utilizați același cont pentru a vă conecta din nou.</translation>
 <translation id="7975919845073681630">Aceasta este o instalare secundară a browserului Chromium și nu poate fi setat ca browser prestabilit.</translation>
-<translation id="7982481011030453202">Dacă o setare nu apare în pagină, încearcă <ph name="LINK_BEGIN" />Setările sistemului de operare Chromium<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Extensiile, aplicațiile și temele din surse necunoscute pot să dăuneze dispozitivului. Chromium recomandă să le instalezi numai din <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Odată ce Chromium are acces, site-urile web îți vor putea solicita accesul.</translation>
 <translation id="80471789339884597">Mulțumim pentru instalare. Înainte să folosești <ph name="BUNDLE_NAME" /> trebuie să repornești toate browserele.</translation>
diff --git a/chrome/app/resources/chromium_strings_ru.xtb b/chrome/app/resources/chromium_strings_ru.xtb
index 5f2432cd..0e4df4e 100644
--- a/chrome/app/resources/chromium_strings_ru.xtb
+++ b/chrome/app/resources/chromium_strings_ru.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">Разрешить Chromium работать в фоновом режиме</translation>
 <translation id="4423735387467980091">Настройка и управление Chromium</translation>
 <translation id="4427306783828095590">В режиме "Улучшенная защита" фишинговые атаки и вредоносное ПО блокируются ещё эффективнее.</translation>
-<translation id="4440114195512068100">Чтобы посмотреть, обновлена ли операционная система устройства, перейдите в <ph name="LINK_BEGIN" />настройки Chromium OS<ph name="LINK_END" />.</translation>
 <translation id="452711251841752011">Добро пожаловать в Chromium! Открыто новое окно браузера.</translation>
 <translation id="4544142686420020088">Не удалось обновить Chromium. <ph name="BEGIN_LINK" />Выяснить причины неполадок и устранить их<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Продолжить в новом профиле Chromium?</translation>
@@ -306,8 +305,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Как вы можете управлять своими данными.<ph name="END_BOLD" /> Для защиты вашей конфиденциальности интересы автоматически удаляются через 4 недели с момента создания. Если после этого вы продолжите использовать браузер, то удаленные интересы могут вновь появиться в списке. Чтобы Chromium не учитывал конкретные интересы, вы можете их удалить.</translation>
 <translation id="7937630085815544518">Ранее вы входили в Chromium как <ph name="USER_EMAIL_ADDRESS" />. Войдите снова, используя тот же аккаунт.</translation>
 <translation id="7975919845073681630">Это дополнительная установка Chromium. Его нельзя сделать браузером по умолчанию.</translation>
-<translation id="7982481011030453202">Если нужного параметра нет на этой странице, откройте <ph name="LINK_BEGIN" />
-      настройки Chromium OS<ph name="LINK_END" />.</translation>
 <translation id="7997934263947464652">Расширения, приложения и темы из неизвестных источников могут навредить устройству. Рекомендуем скачивать подобное ПО только из <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Когда вы предоставите доступ Chromium, веб-сайты также смогут запрашивать у вас доступ.</translation>
 <translation id="80471789339884597">Спасибо, что установили <ph name="BUNDLE_NAME" />. Чтобы изменения вступили в силу, перезапустите все открытые браузеры.</translation>
diff --git a/chrome/app/resources/chromium_strings_si.xtb b/chrome/app/resources/chromium_strings_si.xtb
index e010440..291fa76a4 100644
--- a/chrome/app/resources/chromium_strings_si.xtb
+++ b/chrome/app/resources/chromium_strings_si.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Chromium හට පසුබිම ධාවනය වීමට ඉඩ දෙන්න</translation>
 <translation id="4423735387467980091">Chromium පාලනය හා රුචිකරණය</translation>
 <translation id="4427306783828095590">තතුබෑම් සහ අනිෂ්ට මෘදුකාංග අවහිර කිරීමට වැඩි දියුණු කළ ආරක්ෂාව වැඩි දෙයක් කරයි</translation>
-<translation id="4440114195512068100">ඔබගේ උපාංගය යාවත්කාලීනදැයි බැලීමට, <ph name="LINK_BEGIN" />ChromiumOS සැකසීම්<ph name="LINK_END" /> වෙත යන්න</translation>
 <translation id="452711251841752011">Chromium වෙත සාදරයෙන් පිළිගනිමු; නව බ්‍රවුසර කවුළුවක් විවෘත කරන ලදි</translation>
 <translation id="4544142686420020088">Chromium යාවත්කාලීන නොවිය, යම් දෙයක් වැරදිණි. <ph name="BEGIN_LINK" />Chromium යාවත්කාලීන ගැටලු සහ අසමත් වූ යාවත්කාලීන නිරාකරණ කරන්න.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">නව Chromium පැතිකඩක ඉදිරියට යන්නද?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />ඔබට ඔබගේ දත්ත කළමනාකරණය කළ හැකි ආකාරය:<ph name="END_BOLD" /> ඔබගේ පෞද්ගලිකත්වය ආරක්ෂා කිරීමට, අපි සති 4කට වඩා පැරණි ඔබගේ ලැදිකම් ස්වයංක්‍රියව මකමු. ඔබ දිගටම බ්‍රවුස් කරන විට, ලැදිකමක් නැවත ලැයිස්තුවේ දිස් විය හැකිය. නැතහොත් ඔබට Chromium සලකා බැලීමට අවශ්‍ය නොවන ලැදිකම් ඉවත් කළ හැකිය.</translation>
 <translation id="7937630085815544518">ඔබ  Chromiumට සයින් ඉන් වී ඇත්තේ <ph name="USER_EMAIL_ADDRESS" /> ලෙසය. නැවත සයින් ඉන් වීමට එම ගිණුමම භාවිතා කරන්න.</translation>
 <translation id="7975919845073681630">මෙය Chromium හි දෙවන ස්ථාපනයක් වන අතර, ඔබේ පෙරනිමි බ්‍රව්සරය කළ නොහැකිය.</translation>
-<translation id="7982481011030453202">මෙම පිටුවෙහි සැකසීමක් නොපෙන්වන්නේ නම්, ඔබගේ <ph name="LINK_BEGIN" />
-      ChromiumOS සැකසීම්<ph name="LINK_END" /> තුළ සොයා බලන්න</translation>
 <translation id="7997934263947464652">නොදන්නා මූලාශ්‍ර වෙතින් වන දිගු, යෙදුම් සහ තේමා ඔබගේ උපාංගයට හානි කළ හැකිය. Chromium ඒවා <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> වෙතින් පමණක් බාගැනීමට නිර්දේශ කරයි</translation>
 <translation id="8013436988911883588">Chromium හට ප්‍රවේශය ඇති විට, වෙබ් අඩවි හට ඔබගෙන් ප්‍රවේශය සඳහා ඉල්ලීමට හැකිය.</translation>
 <translation id="80471789339884597">ස්ථාපනය කිරීම වෙනුවෙන් ස්තුතියි. ඔබ <ph name="BUNDLE_NAME" /> භාවිත කිරීමට පෙර ඔබගේ සියලුම බ්‍රව්සර යළි ආරම්භ කළ යුතුය.</translation>
diff --git a/chrome/app/resources/chromium_strings_sk.xtb b/chrome/app/resources/chromium_strings_sk.xtb
index 8194961e..27fe87f1 100644
--- a/chrome/app/resources/chromium_strings_sk.xtb
+++ b/chrome/app/resources/chromium_strings_sk.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Povoliť prehliadaču Chromium spustenie na pozadí</translation>
 <translation id="4423735387467980091">Prispôsobiť a spravovať Chromium</translation>
 <translation id="4427306783828095590">Rozšírená ochrana efektívnejšie blokuje phishing aj malvér</translation>
-<translation id="4440114195512068100">Ak chcete zistiť, či je zariadenie aktualizované, prejdite do <ph name="LINK_BEGIN" />nastavení systému Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Vitajte v prehliadači Chromium, otvorilo sa nové okno prehliadača</translation>
 <translation id="4544142686420020088">Chromium sa neaktualizoval. Vyskytol sa problém. <ph name="BEGIN_LINK" />Vyriešiť problémy so sťahovaním aktualizácií prehliadača Chromium a neúspešnými aktualizáciami<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Chcete pokračovať v novom profile prehliadača Chromium?</translation>
@@ -313,7 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Ako môžete spravovať svoje údaje:<ph name="END_BOLD" /> v rámci ochrany vášho súkromia automaticky odstraňujeme záujmy, ktoré sú staršie ako štyri týždne. Pri ďalšom prehliadaní sa v zozname môže znova zobraziť určitý záujem. Prípadne môžete odstrániť záujmy, ktoré nemá Chromium posudzovať.</translation>
 <translation id="7937630085815544518">Do prehliadača Chromium ste boli prihlásený/-á ako <ph name="USER_EMAIL_ADDRESS" />. Ak sa chcete prihlásiť znova, použite rovnaký účet.</translation>
 <translation id="7975919845073681630">Toto je sekundárna inštalácia prehliadača Chromium – nemôže byť nastavený ako váš predvolený prehliadač.</translation>
-<translation id="7982481011030453202">Ak určité nastavenie nevidíte na tejto stránke, skontrolujte <ph name="LINK_BEGIN" />nastavenia systému Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Rozšírenia, aplikácie a motívy z neznámych zdrojov môžu poškodiť vaše zariadenie. Chromium odporúča ich inštaláciu iba zo zdroja <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Keď Chromium získa prístup, weby vás budú môcť žiadať o prístup.</translation>
 <translation id="80471789339884597">Ďakujeme za inštaláciu. Než začnete aplikáciu <ph name="BUNDLE_NAME" /> používať, musíte reštartovať všetky svoje prehliadače.</translation>
diff --git a/chrome/app/resources/chromium_strings_sl.xtb b/chrome/app/resources/chromium_strings_sl.xtb
index 28aad3d..17e7ceb 100644
--- a/chrome/app/resources/chromium_strings_sl.xtb
+++ b/chrome/app/resources/chromium_strings_sl.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Naj se Chromium izvaja v ozadju</translation>
 <translation id="4423735387467980091">Prilagajanje in nadziranje Chromiuma</translation>
 <translation id="4427306783828095590">Izboljšana zaščita učinkoviteje blokira lažno predstavljanje in zlonamerno programsko opremo.</translation>
-<translation id="4440114195512068100">Če želite preveriti, ali je naprava posodobljena, odprite <ph name="LINK_BEGIN" />nastavitve operacijskega sistema Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Pozdravljeni v Chromiumu; odprlo se je novo okno brskalnika</translation>
 <translation id="4544142686420020088">Chromium se ni posodobil, prišlo je do napake. <ph name="BEGIN_LINK" />Odpravite težave s posodobitvijo Chromiuma in neuspelimi posodobitvami Chromiuma.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Ali želite nadaljevati v novem profilu v Chromiumu?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kako lahko upravljate podatke:<ph name="END_BOLD" /> Zaradi zaščite vaše varnosti samodejno izbrišemo vaša zanimanja, starejša od 4 tednov. Ko brskate naprej, se zanimanje morda znova prikaže na seznamu. Odstranite lahko tudi zanimanja, za katera ne želite, da jih Chromium predlaga.</translation>
 <translation id="7937630085815544518">V Chromium ste bili prijavljeni kot <ph name="USER_EMAIL_ADDRESS" />. Pri vnovični prijavi uporabite isti račun.</translation>
 <translation id="7975919845073681630">To je sekundarna namestitev Chromiuma in ga ni mogoče nastaviti kot privzeti brskalnik.</translation>
-<translation id="7982481011030453202">Če nastavitev ni prikazana na tej strani, preverite <ph name="LINK_BEGIN" />
-      nastavitve operacijskega sistema Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Razširitve, aplikacije in teme iz neznanih virov lahko škodijo napravi. Chromium priporoča, da jih namestite samo tukaj: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Ko bo imel Chromium dostop, vas bodo spletna mesta lahko pozvala k omogočanju dostopa.</translation>
 <translation id="80471789339884597">Hvala, ker ste se odločili za namestitev. Preden uporabite <ph name="BUNDLE_NAME" />, morate znova zagnati vse brskalnike.</translation>
diff --git a/chrome/app/resources/chromium_strings_sq.xtb b/chrome/app/resources/chromium_strings_sq.xtb
index 271e729..1792b96 100644
--- a/chrome/app/resources/chromium_strings_sq.xtb
+++ b/chrome/app/resources/chromium_strings_sq.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Lejo që Chromium të ekzekutohet në sfond</translation>
 <translation id="4423735387467980091">Personalizo dhe kontrollo Chromium</translation>
 <translation id="4427306783828095590">Mbrojtja e përmirësuar bën edhe më shumë për bllokimin e mashtrimeve dhe softuerëve keqdashës</translation>
-<translation id="4440114195512068100">Për të parë nëse pajisja jote është e përditësuar, shko te <ph name="LINK_BEGIN" />Cilësimet e ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Mirë se erdhe në Chromium. U hap një dritare e re e shfletuesit</translation>
 <translation id="4544142686420020088">Chromium nuk u përditësua. Ndodhi një gabim. <ph name="BEGIN_LINK" />Rregullo problemet e përditësimit të Chromium dhe përditësimet e dështuara.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Të vazhdohet te një profil i ri i Chromium?</translation>
@@ -312,8 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Si mund t'i menaxhosh të dhënat e tua:<ph name="END_BOLD" /> Për të mbrojtur privatësinë tënde, ne fshijmë automatikisht interesat e tua që janë më të vjetra se 4 javë. Ndërsa vazhdon të shfletosh, një interes mund të shfaqet përsëri në listë. Ndryshe, mund të heqësh interesat që nuk dëshiron që Chromium të marrë parasysh.</translation>
 <translation id="7937630085815544518">Je identifikuar në Chromium si <ph name="USER_EMAIL_ADDRESS" />. Përdor të njëjtën llogari për t'u identifikuar sërish.</translation>
 <translation id="7975919845073681630">Ky është instalim dytësor i Chromium dhe nuk mund të bëhet shfletuesi yt i parazgjedhur.</translation>
-<translation id="7982481011030453202">Nëse cilësimi nuk shfaqet në këtë faqe, shiko te <ph name="LINK_BEGIN" />
-        cilësimet e ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Shtesat, aplikacionet dhe temat nga burime të panjohura mund ta dëmtojnë pajisjen tënde. Chromium rekomandon që t'i instalosh ato vetëm nga<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Pasi Chromium të ketë qasje, sajtet e uebit do të jenë në gjendje të kërkojnë prej teje qasje.</translation>
 <translation id="80471789339884597">Faleminderit që e instalove. Duhet të rinisësh të gjithë shfletuesit e tu përpara se të përdorësh <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_sr-Latn.xtb b/chrome/app/resources/chromium_strings_sr-Latn.xtb
index 1a09705c..fdd01d7 100644
--- a/chrome/app/resources/chromium_strings_sr-Latn.xtb
+++ b/chrome/app/resources/chromium_strings_sr-Latn.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Neka Chromium radi u pozadini</translation>
 <translation id="4423735387467980091">Prilagodite i kontrolišite Chromium</translation>
 <translation id="4427306783828095590">Poboljšana zaštita nudi više mogućnosti za blokiranje „pecanja“ i malvera</translation>
-<translation id="4440114195512068100">Da biste proverili da li je uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Podešavanja Chromium OS-a<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Dobro došli u Chromium; otvoren je novi prozor pregledača</translation>
 <translation id="4544142686420020088">Chromium se nije ažurirao. Došlo je do greške. <ph name="BEGIN_LINK" />Otklonite probleme sa ažuriranjem Chromium-a i neuspela ažuriranja.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Želite da nastavite na novom Chromium profilu?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Kako možete da upravljate podacima:<ph name="END_BOLD" /> Radi zaštite privatnosti automatski brišemo interesovanja starija od 4 nedelje. Kada nastavite da pregledate, interesovanje će se možda ponovo pojaviti na listi. Možete i da uklanjate interesovanja za koja ne želite da ih Chromium uzima u obzir.</translation>
 <translation id="7937630085815544518">Bili ste prijavljeni na Chromium kao <ph name="USER_EMAIL_ADDRESS" />. Koristite isti nalog da biste se ponovo prijavili.</translation>
 <translation id="7975919845073681630">Ovo je sekundarna instalacija Chromium-a pa ne možete da ga podesite kao podrazumevani pregledač.</translation>
-<translation id="7982481011030453202">Ako se podešavanje ne prikazuje na ovoj stranici, potražite ga u <ph name="LINK_BEGIN" />
-      podešavanjima Chromium OS-a<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Dodaci, aplikacije i teme iz nepoznatih izvora mogu da naškode uređaju. Chromium preporučuje da ih instalirate samo iz: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Kada Chromium dobije pristup, veb-sajtovi će moći da zatraže pristup.</translation>
 <translation id="80471789339884597">Hvala vam na instalaciji. Morate da restartujete sve pregledače pre nego što počnete da koristite <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_sr.xtb b/chrome/app/resources/chromium_strings_sr.xtb
index 0b293fc..3523348 100644
--- a/chrome/app/resources/chromium_strings_sr.xtb
+++ b/chrome/app/resources/chromium_strings_sr.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Нека Chromium ради у позадини</translation>
 <translation id="4423735387467980091">Прилагодите и контролишите Chromium</translation>
 <translation id="4427306783828095590">Побољшана заштита нуди више могућности за блокирање „пецања“ и малвера</translation>
-<translation id="4440114195512068100">Да бисте проверили да ли је уређај ажуриран, идите у <ph name="LINK_BEGIN" />Подешавања Chromium ОС-а<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Добро дошли у Chromium; отворен је нови прозор прегледача</translation>
 <translation id="4544142686420020088">Chromium се није ажурирао. Дошло је до грешке. <ph name="BEGIN_LINK" />Отклоните проблеме са ажурирањем Chromium-а и неуспела ажурирања.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Желите да наставите на новом Chromium профилу?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Како можете да управљате подацима:<ph name="END_BOLD" /> Ради заштите приватности аутоматски бришемо интересовања старија од 4 недеље. Када наставите да прегледате, интересовање ће се можда поново појавити на листи. Можете и да уклањате интересовања за која не желите да их Chromium узима у обзир.</translation>
 <translation id="7937630085815544518">Били сте пријављени на Chromium као <ph name="USER_EMAIL_ADDRESS" />. Користите исти налог да бисте се поново пријавили.</translation>
 <translation id="7975919845073681630">Ово је секундарна инсталација Chromium-а па не можете да га подесите као подразумевани прегледач.</translation>
-<translation id="7982481011030453202">Ако се подешавање не приказује на овој страници, потражите га у <ph name="LINK_BEGIN" />
-      подешавањима Chromium ОС-а<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Додаци, апликације и теме из непознатих извора могу да нашкоде уређају. Chromium препоручује да их инсталирате само из: <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Када Chromium добије приступ, веб-сајтови ће моћи да затраже приступ.</translation>
 <translation id="80471789339884597">Хвала вам на инсталацији. Морате да рестартујете све прегледаче пре него што почнете да користите <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_sv.xtb b/chrome/app/resources/chromium_strings_sv.xtb
index 7a1a9dc..8c013b5 100644
--- a/chrome/app/resources/chromium_strings_sv.xtb
+++ b/chrome/app/resources/chromium_strings_sv.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Låt Chromium köras i bakgrunden</translation>
 <translation id="4423735387467980091">Anpassa och kontrollera Chromium</translation>
 <translation id="4427306783828095590">Förbättrat skydd är bättre på att blockera nätfiske och skadlig programvara</translation>
-<translation id="4440114195512068100">Om du vill se om enheten är uppdaterad öppnar du <ph name="LINK_BEGIN" />inställningarna för Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Välkommen till Chromium, ett nytt webbläsarfönster har öppnats</translation>
 <translation id="4544142686420020088">Ett fel uppstod och Chromium uppdaterades inte. <ph name="BEGIN_LINK" />Åtgärda uppdateringsproblem och misslyckade uppdateringar i Chromium<ph name="END_LINK" />.</translation>
 <translation id="454579500955453258">Vill du fortsätta med en ny Chromium-profil?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Så här kan du hantera dina uppgifter:<ph name="END_BOLD" /> För att skydda din integritet raderar vi automatiskt intressen som är äldre än fyra veckor. Medan du surfar kan ett intresse dyka upp på listan igen. Du kan också ta bort intressen som du inte vill att Chromium ska inkludera.</translation>
 <translation id="7937630085815544518">Du var inloggad i Chromium som <ph name="USER_EMAIL_ADDRESS" />. Använd samma konto när du loggar in igen.</translation>
 <translation id="7975919845073681630">Det här är en sekundär installation av Chromium. Det går inte att göra den till standardwebbläsare.</translation>
-<translation id="7982481011030453202">Om en inställning saknas på den här sidan tittar du i <ph name="LINK_BEGIN" />
-      inställningarna för Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Tillägg, appar och teman från okända källor kan skada enheten. Vi rekommenderar att du bara installerar dem från <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">När du har gett Chromium åtkomst kan webbplatser begära att få åtkomst.</translation>
 <translation id="80471789339884597">Tack för att du installerat programmet. Du måste starta om alla webbläsare innan du använder <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_sw.xtb b/chrome/app/resources/chromium_strings_sw.xtb
index 0caac94..615641c 100644
--- a/chrome/app/resources/chromium_strings_sw.xtb
+++ b/chrome/app/resources/chromium_strings_sw.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Ruhusu Chromium itumike Chinichini</translation>
 <translation id="4423735387467980091">Dhibiti na ugeuze Chromium ikufae</translation>
 <translation id="4427306783828095590">Kipengele cha ulinzi wa hali ya juu hufanya mengi zaidi ili kuzuia programu hasidi na wizi wa data binafsi</translation>
-<translation id="4440114195512068100">Ili uone kama kifaa chako kimesasishwa, nenda kwenye <ph name="LINK_BEGIN" />Mipangilio ya Mfumo wa Uendeshaji wa Chromium<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Karibu kwenye Chromium; dirisha jipya la kivinjari limefunguliwa</translation>
 <translation id="4544142686420020088">Chromium haijasasishwa, hitilafu fulani imetokea. <ph name="BEGIN_LINK" />Rekebisha matatizo ya sasisho la Chromium na masasisho ambayo hayakuwekwa.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Ungependa kutumia wasifu mpya kwenye Chromium?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Jinsi unavyoweza kudhibiti data yako:<ph name="END_BOLD" /> Ili kulinda faragha yako, tunafuta kiotomatiki mambo yanayokuvutia ambayo yamehifadhiwa kwa zaidi ya wiki nne. Kadiri unavyoendelea kuvinjari, jambo linalokuvutia linaweza kuonekana tena kwenye orodha. Au unaweza kuondoa mambo yanayokuvutia ambayo usingependa Chromium iyazingatie.</translation>
 <translation id="7937630085815544518">Uliingia kwenye Chromium kama <ph name="USER_EMAIL_ADDRESS" />. Tafadhali tumia akaunti hiyo hiyo kuingia tena.</translation>
 <translation id="7975919845073681630">Huu ni usakinishaji wa pili wa Chromium, na haiwezi kufanywa kuwa kivinjari chako chaguomsingi.</translation>
-<translation id="7982481011030453202">Iwapo mipangilio haionekani kwenye ukurasa huu, angalia katika <ph name="LINK_BEGIN" />
-      mipangilio yako ya Mfumo wa Uendeshaji wa Chromium<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Viendelezi, programu na mandhari kutoka kwenye vyanzo visivyojulikana vinaweza kuathiri kifaa chako. Chromium inapendekeza usakinishaji kutoka <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> tu</translation>
 <translation id="8013436988911883588">Chromium itakapopata idhini, tovuti zitaweza kukuomba idhini ya kufikia.</translation>
 <translation id="80471789339884597">Asante kwa kusakinisha. Ni lazima uzime kisha uwashe tena vivinjari vyako kabla ya kutumia <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_ta.xtb b/chrome/app/resources/chromium_strings_ta.xtb
index c3115be..5db986a 100644
--- a/chrome/app/resources/chromium_strings_ta.xtb
+++ b/chrome/app/resources/chromium_strings_ta.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">பின்னணியில் Chromiumஐ இயங்க அனுமதி</translation>
 <translation id="4423735387467980091">Chromium ஐ தனிப்பயனாக்கி கட்டுப்படுத்துக</translation>
 <translation id="4427306783828095590">ஃபிஷிங்கையும் மால்வேரையும் தடுக்க மேம்பட்ட பாதுகாப்பு உதவுகிறது</translation>
-<translation id="4440114195512068100">உங்கள் சாதனம் சமீபத்திய பதிப்பில் இயங்குகிறதா எனப் பார்க்க, <ph name="LINK_BEGIN" />ChromiumOS அமைப்புகளுக்குச்<ph name="LINK_END" /> செல்லவும்</translation>
 <translation id="452711251841752011">Chromiumமிற்கு வரவேற்கிறோம்; புதிய உலாவிச் சாளரம் திறக்கப்பட்டது</translation>
 <translation id="4544142686420020088">ஏதோ தவறாகிவிட்டதால் Chromium புதுப்பிக்கப்படவில்லை. <ph name="BEGIN_LINK" />Chromium புதுப்பிப்பு குறித்த சிக்கல்களையும் தோல்வியடைந்த புதுப்பிப்புகளையும் சரிசெய்யவும்.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">புதிய Chromium சுயவிவரத்தில் தொடரவா?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />உங்கள் தரவை நீங்கள் எப்படி நிர்வகிக்கலாம்?<ph name="END_BOLD" /> உங்கள் தனியுரிமையைப் பாதுகாக்க, 4 வாரங்களுக்கு முந்தைய ஆர்வங்களைத் தானாக நீக்குவோம். நீங்கள் தொடர்ந்து உலாவும்போது, ஏதேனுமொரு ஆர்வம் மீண்டும் பட்டியலில் காட்டப்படக்கூடும். Chromium கருத்தில்கொள்ள வேண்டாம் என நீங்கள் நினைக்கும் ஆர்வங்களை நீங்களாகவும் அகற்றலாம்.</translation>
 <translation id="7937630085815544518">Chromiumமில் <ph name="USER_EMAIL_ADDRESS" /> ஆக உள்நுழைந்திருந்தீர்கள். மீண்டும் உள்நுழைய அதே கணக்கைப் பயன்படுத்தவும்.</translation>
 <translation id="7975919845073681630">இது Chromium இன் இரண்டாம் நிலை நிறுவல் என்பதால், அதை இயல்புநிலை உலாவியாக அமைக்க முடியாது.</translation>
-<translation id="7982481011030453202">இந்தப் பக்கத்தில் ஏதேனும் ஓர் அமைப்பு காட்டப்படவில்லை எனில் அதை <ph name="LINK_BEGIN" />
-      ChromiumOS அமைப்புகளில்<ph name="LINK_END" /> பார்க்கவும்</translation>
 <translation id="7997934263947464652">அறியப்படாத மூலங்களில் இருந்து பெறும் நீட்டிப்புகள், ஆப்ஸ், தீம்கள் ஆகியவை உங்கள் சாதனத்திற்குத் தீங்கு விளைவிக்கக்கூடும். <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> இல் இருந்து மட்டும் இவற்றை நிறுவுமாறு Chromium பரிந்துரைக்கிறது</translation>
 <translation id="8013436988911883588">Chromiumமுக்கு அணுகல் கிடைத்தவுடன், இணையதளங்கள் உங்களிடம் அணுகலைக் கோர முடியும்.</translation>
 <translation id="80471789339884597">நிறுவியதற்கு நன்றி. <ph name="BUNDLE_NAME" /> ஐப் பயன்படுத்துவதற்கு முன் உங்கள் அனைத்து உலாவிகளையும் மீண்டும் தொடங்க வேண்டும்.</translation>
diff --git a/chrome/app/resources/chromium_strings_te.xtb b/chrome/app/resources/chromium_strings_te.xtb
index 118ed6c..9f59a28e 100644
--- a/chrome/app/resources/chromium_strings_te.xtb
+++ b/chrome/app/resources/chromium_strings_te.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">బ్యాక్‌గ్రౌండ్‌లో అమలయ్యేందుకు Chromiumని అనుమతించండి</translation>
 <translation id="4423735387467980091">Chromiumను అనుకూలంగా మార్చండి మరియు నియంత్రించండి</translation>
 <translation id="4427306783828095590">ఫిషింగ్, అలాగే మాల్‌వేర్‌ను బ్లాక్ చేయడానికి మెరుగుపరచిన రక్షణ మరింత చేయగలదు</translation>
-<translation id="4440114195512068100">మీ పరికరం అప్‌డేట్ అయ్యి ఉందో లేదో చూడటానికి, <ph name="LINK_BEGIN" />ChromiumOS సెట్టింగ్‌లు<ph name="LINK_END" /> ఆప్షన్‌కు వెళ్లండి</translation>
 <translation id="452711251841752011">Chromiumకు స్వాగతం; కొత్త బ్రౌజర్ విండో తెరవబడింది</translation>
 <translation id="4544142686420020088">Chromium అప్‌డేట్ అవ్వలేదు, ఏదో తప్పు జరిగింది. <ph name="BEGIN_LINK" />Chromium అప్‌డేట్ సమస్యలు, విఫలమైన అప్‌డేట్‌లను పరిష్కరించండి.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">కొత్త Chromium ప్రొఫైల్‌లో కొనసాగించాలా?</translation>
@@ -307,8 +306,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />మీరు మీ డేటాను ఎలా మేనేజ్ చేసుకోగలరు:<ph name="END_BOLD" /> మీ గోప్యతను రక్షించడానికి, 4 వారాల కంటే పాతవైన మీ ఆసక్తులను మేము ఆటోమేటిక్‌గా తొలగిస్తాము. మీరు బ్రౌజ్ చేస్తూ ఉంటే, ఆసక్తి ఉన్న ఆ టాపిక్ మళ్లీ లిస్ట్‌లో కనిపించవచ్చు. లేదా Chromium పరిగణనలోకి తీసుకోకూడదు అని మీరు భావించే ఆసక్తులను తీసివేయవచ్చు.</translation>
 <translation id="7937630085815544518">మీరు <ph name="USER_EMAIL_ADDRESS" />గా Chromiumకు సైన్ ఇన్ చేశారు. దయచేసి మళ్లీ సైన్ ఇన్ చేయడానికి ఇదే ఖాతాను ఉపయోగించండి.</translation>
 <translation id="7975919845073681630">ఇది Chromium రెండవ ఇన‌స్ట‌లేష‌న్. దీన్ని మీ డిఫాల్ట్ బ్రౌజర్‌గా చేయడం సాధ్యపడదు.</translation>
-<translation id="7982481011030453202">ఈ పేజీలో సెట్టింగ్ కనిపించకపోతే, మీ <ph name="LINK_BEGIN" />
-      ChromiumOS సెట్టింగ్‌లు<ph name="LINK_END" /> ఆప్షన్‌ను చూడండి</translation>
 <translation id="7997934263947464652">తెలియని మూలాలకు చెందిన ఎక్స్‌టెన్షన్‌లు, యాప్‌లు, రూపాలు మీ పరికరానికి హాని కలిగించవచ్చు. <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> నుండి మాత్రమే వాటిని ఇన్‌స్టాల్ చేయని Chromium సిఫార్సు చేస్తోంది</translation>
 <translation id="8013436988911883588">ఓసారి Chromiumకి యాక్సెస్ లభించాక, ఆపై వెబ్‌సైట్‌లకు ఏమైనా యాక్సెస్‌ కావాలంటే అవి మిమ్మల్ని అడగవచ్చు.</translation>
 <translation id="80471789339884597">ఇన్‌స్టాల్ చేసినందుకు ధన్యవాదాలు. <ph name="BUNDLE_NAME" />‌ను ఉపయోగించే ముందు మీరు తప్పకుండా మీ అన్ని బ్రౌజర్‌లను రీస్టార్ట్ చేయాలి.</translation>
diff --git a/chrome/app/resources/chromium_strings_th.xtb b/chrome/app/resources/chromium_strings_th.xtb
index 371f030..8076880 100644
--- a/chrome/app/resources/chromium_strings_th.xtb
+++ b/chrome/app/resources/chromium_strings_th.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">ให้ Chromium ทำงานในพื้นหลัง</translation>
 <translation id="4423735387467980091">กำหนดค่าและควบคุม Chromium</translation>
 <translation id="4427306783828095590">การปกป้องที่ปรับปรุงแล้วทำได้มากกว่าบล็อกฟิชชิงและมัลแวร์</translation>
-<translation id="4440114195512068100">หากต้องการดูว่าอุปกรณ์เป็นเวอร์ชันล่าสุดแล้วหรือไม่ ให้ไปที่<ph name="LINK_BEGIN" />การตั้งค่า Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">ยินดีต้อนรับสู่ Chromium เปิดหน้าต่างเบราวเซอร์ใหม่แล้ว</translation>
 <translation id="4544142686420020088">Chromium ไม่ได้อัปเดตเนื่องจากเกิดข้อผิดพลาด <ph name="BEGIN_LINK" />โปรดแก้ปัญหาการอัปเดต Chrome และการอัปเดตที่ไม่สำเร็จ<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">ดำเนินการต่อในโปรไฟล์ Chromium ใหม่ไหม</translation>
@@ -310,7 +309,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />วิธีที่คุณจัดการข้อมูลของตัวเองได้:<ph name="END_BOLD" /> เราลบความสนใจที่เก่ากว่า 4 สัปดาห์โดยอัตโนมัติเพื่อปกป้องความเป็นส่วนตัวของคุณ ความสนใจอาจกลับมาปรากฏในรายการอีกเมื่อคุณท่องเว็บต่อ หรือคุณจะนำความสนใจที่ไม่ต้องการให้ Chromium พิจารณาออกก็ได้</translation>
 <translation id="7937630085815544518">คุณเคยลงชื่อเข้าใช้ Chromium ในชื่อ <ph name="USER_EMAIL_ADDRESS" /> โปรดใช้บัญชีเดิมเพื่อลงชื่อเข้าใช้อีกครั้ง</translation>
 <translation id="7975919845073681630">นี่เป็นการติดตั้ง Chromium แบบสำรอง และไม่สามารถใช้เป็นเบราว์เซอร์เริ่มต้นของคุณ</translation>
-<translation id="7982481011030453202">หากการตั้งค่าไม่แสดงในหน้านี้ โปรดดูที่<ph name="LINK_BEGIN" />การตั้งค่า Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">ส่วนขยาย แอป และธีมจากแหล่งที่มาที่ไม่รู้จักอาจเป็นอันตรายต่ออุปกรณ์ของคุณ ขอแนะนำให้ติดตั้ง Chromium จาก <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> เท่านั้น</translation>
 <translation id="8013436988911883588">เมื่อ Chromium มีสิทธิ์การเข้าถึงแล้ว เว็บไซต์จะขอสิทธิ์การเข้าถึงจากคุณได้</translation>
 <translation id="80471789339884597">ขอขอบคุณที่ติดตั้ง คุณต้องรีสตาร์ทเบราว์เซอร์ทั้งหมดก่อนใช้ <ph name="BUNDLE_NAME" /></translation>
diff --git a/chrome/app/resources/chromium_strings_tr.xtb b/chrome/app/resources/chromium_strings_tr.xtb
index 902367f..12d4be8 100644
--- a/chrome/app/resources/chromium_strings_tr.xtb
+++ b/chrome/app/resources/chromium_strings_tr.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">Chromium'un Arka Planda Çalışmasına İzin Ver</translation>
 <translation id="4423735387467980091">Chromium'u özelleştirin ve kontrol edin</translation>
 <translation id="4427306783828095590">Gelişmiş koruma, kimlik avını ve kötü amaçlı yazılımları engellemek için daha fazla özellik sunar</translation>
-<translation id="4440114195512068100">Cihazınızın güncel olup olmadığını görmek için <ph name="LINK_BEGIN" />ChromiumOS Ayarları<ph name="LINK_END" />'na gidin</translation>
 <translation id="452711251841752011">Chromium'a hoş geldiniz; yeni tarayıcı penceresi açıldı</translation>
 <translation id="4544142686420020088">Chromium güncellenmedi. Bir sorun oluştu. <ph name="BEGIN_LINK" />Chrome güncelleme sorunlarını ve başarısız güncellemeleri düzeltin.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Yeni bir Chromium profilinde devam edilsin mi?</translation>
@@ -308,8 +307,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Verilerinizi yönetme:<ph name="END_BOLD" /> Gizliliğinizi korumak için 4 haftadan eski ilgi alanlarınızı otomatik olarak sileriz. Siz internette gezindikçe ilgi alanları tekrar listede görünmeye başlayabilir. Dilerseniz Chromium'un dikkate almasını istemediğiniz ilgi alanlarını kaldırabilirsiniz.</translation>
 <translation id="7937630085815544518">Chromium'da <ph name="USER_EMAIL_ADDRESS" /> olarak oturum açtınız. Tekrar oturum açmak için lütfen aynı hesabı kullanın.</translation>
 <translation id="7975919845073681630">Bu, Chromium'un ikincil bir yüklemesidir ve varsayılan tarayıcınız yapılamaz.</translation>
-<translation id="7982481011030453202">Bir ayar bu sayfada görünmüyorsa <ph name="LINK_BEGIN" />
-      ChromiumOS ayarlarınıza<ph name="LINK_END" /> bakın</translation>
 <translation id="7997934263947464652">Bilinmeyen kaynaklardan gelen uzantılar, uygulamalar ve temalar cihazınıza zarar verebilir. Chromium bunların yalnızca <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> kaynağından yüklenmesini önerir.</translation>
 <translation id="8013436988911883588">Chromium erişim izni aldıktan sonra, web siteleri de erişim için sizden izin isteyebilecek.</translation>
 <translation id="80471789339884597">Yüklediğiniz için teşekkür ederiz. <ph name="BUNDLE_NAME" /> uygulamasını kullanmadan önce tüm tarayıcılarınızı yeniden başlatmanız gerekir.</translation>
diff --git a/chrome/app/resources/chromium_strings_uk.xtb b/chrome/app/resources/chromium_strings_uk.xtb
index 8364605..24724783 100644
--- a/chrome/app/resources/chromium_strings_uk.xtb
+++ b/chrome/app/resources/chromium_strings_uk.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Дозволити Chromium працювати у фоновому режимі</translation>
 <translation id="4423735387467980091">Налаштування та керування Chromium</translation>
 <translation id="4427306783828095590">Покращений захист ще ефективніше блокує фішинг і зловмисне програмне забезпечення</translation>
-<translation id="4440114195512068100">Щоб дізнатися, чи використовує пристрій актуальну версію операційної системи, перейдіть у <ph name="LINK_BEGIN" />налаштування Chromium OS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Вітаємо в Chromium! Відкрито нове вікно веб-переглядача</translation>
 <translation id="4544142686420020088">Не вдалось оновити веб-переглядач Chromium. <ph name="BEGIN_LINK" />Вирішіть проблеми з оновленням Chrome.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Продовжити в новому профілі Chromium?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Як ви можете керувати своїми даними.<ph name="END_BOLD" /> З міркувань конфіденційності ми автоматично видаляємо ваші інтереси через 4 тижні. Якщо ви й надалі переглядатимете веб-сторінки, відповідний інтерес може знову з’явитися в списку. Щоб Chromium не враховував певні інтереси, їх можна вилучити.</translation>
 <translation id="7937630085815544518">Ви ввійшли в Chromium як <ph name="USER_EMAIL_ADDRESS" />. Скористайтеся тим самим обліковим записом, щоб увійти знову.</translation>
 <translation id="7975919845073681630">Це додаткове встановлення Chromium. Його не можна зробити вашим веб-переглядачем за умовчанням.</translation>
-<translation id="7982481011030453202">Якщо налаштування немає на цій сторінці, пошукайте його в <ph name="LINK_BEGIN" />
-      налаштуваннях Chromium OS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Розширення, додатки й теми з невідомих джерел можуть зашкодити вашому пристрою. Рекомендоване джерело встановлень у Chromium – <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />.</translation>
 <translation id="8013436988911883588">Коли Chromium отримає доступ, веб-сайти зможуть надсилати вам запити на доступ.</translation>
 <translation id="80471789339884597">Дякуємо за встановлення. Щоб почати використовувати пакет <ph name="BUNDLE_NAME" />, потрібно перезапустити всі веб-переглядачі.</translation>
diff --git a/chrome/app/resources/chromium_strings_ur.xtb b/chrome/app/resources/chromium_strings_ur.xtb
index b4a2dfc..826e391 100644
--- a/chrome/app/resources/chromium_strings_ur.xtb
+++ b/chrome/app/resources/chromium_strings_ur.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">‏Chromium کو پس منظر میں چلنے دیں</translation>
 <translation id="4423735387467980091">‏Chromium کو حسب ضرورت بنائیں اور کنٹرول کریں</translation>
 <translation id="4427306783828095590">فریب دہی اور میلوئیر کو مسدود کرنے کیلئے بہتر کردہ حفاظت مزید کام کرتی ہے</translation>
-<translation id="4440114195512068100">‏یہ دیکھنے کی لیے کہ کیا آپ کا آلہ اپ ٹو ڈیٹ ہے، <ph name="LINK_BEGIN" />ChromiumOS کی ترتیبات<ph name="LINK_END" /> پر جائیں</translation>
 <translation id="452711251841752011">‏Chromium میں آپ کا استقبال ہے، براؤزر کی نئی ونڈو کھلی</translation>
 <translation id="4544142686420020088">‏Chromium اپ ڈیٹ نہیں ہوا، کچھ غلط ہو گیا۔ <ph name="BEGIN_LINK" />Chrome اپ ڈیٹ کی دشواریوں اور ناکام اپ ڈیٹس کو درست کریں۔<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">‏ایک نئی Chromium پروفائل میں جاری رکھیں؟</translation>
@@ -312,8 +311,6 @@
 <translation id="7877292582355102282">‏<ph name="BEGIN_BOLD" />آپ کس طرح اپنے ڈیٹا کا نظم کر سکتے ہیں:<ph name="END_BOLD" /> آپ کی رازداری کے تحفظ کے لئے، ہم 4 ہفتے سے زیادہ پرانی آپ کی دلچسپیوں کو خودکار طور پر حذف کر دیتے ہیں۔ جب تک آپ براؤزنگ جاری رکھتے ہیں، فہرست پر دلچسپی دوبارہ ظاہر ہو سکتی ہے۔ یا آپ ان دلچسپیوں کو ہٹا سکتے ہیں جنہیں آپ چاہتے ہیں کہ Chromium نہ دکھائے۔</translation>
 <translation id="7937630085815544518">‏آپ Chromium میں بطور <ph name="USER_EMAIL_ADDRESS" /> سائن ان تھے۔ براہ کرم دوبارہ سائن ان کرنے کیلئے وہی اکاؤنٹ استعمال کریں۔</translation>
 <translation id="7975919845073681630">‏یہ Chromium کا ثانوی انسٹالیشن ہے اور اسے آپ کا ڈیفالٹ براؤزر نہیں بنایا جا سکتا ہے۔</translation>
-<translation id="7982481011030453202">‏اگر اس صفحے پر کوئی ترتیب دکھائی نہیں دیتی ہے تو اپنے <ph name="LINK_BEGIN" />
-      ChromiumOS کی ترتیبات<ph name="LINK_END" /> میں دیکھیں</translation>
 <translation id="7997934263947464652">‏نامعلوم ذرائع سے ایکسٹینشنز، ایپس اور تھیمز آپ کے آلے کو نقصان پہنچا سکتے ہیں۔ Chromium صرف انہیں <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> سے انسٹال کرنے کی تجویز کرتا ہے۔</translation>
 <translation id="8013436988911883588">‏Chromium کو رسائی مل جانے کے بعد، ویب سائٹس آپ سے رسائی طلب کر سکیں گی۔</translation>
 <translation id="80471789339884597">انسٹال کرنے کا شکریہ۔ آپ کو <ph name="BUNDLE_NAME" /> استعمال کرنے سے پہلے اپنے تمام براؤزرز لازمی طور سے ری اسٹارٹ کرنا چاہیے۔</translation>
diff --git a/chrome/app/resources/chromium_strings_uz.xtb b/chrome/app/resources/chromium_strings_uz.xtb
index 01e1ce6..9725829d 100644
--- a/chrome/app/resources/chromium_strings_uz.xtb
+++ b/chrome/app/resources/chromium_strings_uz.xtb
@@ -144,7 +144,6 @@
 <translation id="4415566066719264597">Chromium fonda ishlashiga ruxsat</translation>
 <translation id="4423735387467980091">Chromium’ni sozlash va boshqarish</translation>
 <translation id="4427306783828095590">Kengaytirilgan himoya fishing va zararli dasturlarni bloklaydi</translation>
-<translation id="4440114195512068100">Qurilmangiz tizimi yangilanganligini <ph name="LINK_BEGIN" />ChromiumOS sozlamalari<ph name="LINK_END" /> orqali bilish mumkin</translation>
 <translation id="452711251841752011">Chromium brauzeriga xush kelibsiz, yangi oyna ochildi</translation>
 <translation id="4544142686420020088">Notanish xatolik tufayli Chromium yangilanmadi. <ph name="BEGIN_LINK" />Chromiumdagi yangilanish muammolari va xatoliklarni tuzatish.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Yangi Chromium profilida davom etasizmi?</translation>
@@ -309,8 +308,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Maʼlumotlaringizni qanday boshqarish mumkin:<ph name="END_BOLD" /> Maxfliylikni himoya qilish maqsadida biz 4 haftadan uzoq saqlangan qiziqishlarni avtomatik oʻchiramiz. Sahifalar takroriy ochilganida qiziqish roʻyxatda yana chiqishi mumkin. Yoki Chromium foydalanmasligini istasangiz, qiziqishlarni olib tashlashingiz mumkin.</translation>
 <translation id="7937630085815544518">Avvallari siz Chromium‘ga <ph name="USER_EMAIL_ADDRESS" /> hisobidan kirgandingiz. O‘sha hisobdan foydalanib yana qaytadan kiring.</translation>
 <translation id="7975919845073681630">Chromium takroran o‘rnatilgan, shuning uchun u asosiy brauzer bo‘la olmaydi.</translation>
-<translation id="7982481011030453202">Agar sozlama bu sahifada chiqmasa, <ph name="LINK_BEGIN" />
-      ChromiumOS sozlamalarini<ph name="LINK_END" /> tekshiring.</translation>
 <translation id="7997934263947464652">Nomaʼlum manbalar kengaytmalari, ilovalari va mavzulari qurilmangizni zararlashi mumkin. Chromium ularni faqat <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /> orqali oʻrnatishni tavsiya qiladi</translation>
 <translation id="8013436988911883588">Chromium saytlarga ulanganda sizdan ruxsat so‘raydi.</translation>
 <translation id="80471789339884597">Oʻrnatganingiz uchun tashakkur! <ph name="BUNDLE_NAME" />ni ishlatishdan oldin barcha brauzerlarni qayta ishga tushirishingiz kerak.</translation>
diff --git a/chrome/app/resources/chromium_strings_vi.xtb b/chrome/app/resources/chromium_strings_vi.xtb
index 54fed1d..d447c6b 100644
--- a/chrome/app/resources/chromium_strings_vi.xtb
+++ b/chrome/app/resources/chromium_strings_vi.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">Cho phép Chromium chạy trong nền</translation>
 <translation id="4423735387467980091">Tùy chỉnh và điều khiển Chromium</translation>
 <translation id="4427306783828095590">Chế độ bảo vệ tăng cường giúp chặn phần mềm độc hại và hành vi lừa đảo hiệu quả hơn</translation>
-<translation id="4440114195512068100">Để kiểm tra xem thiết bị của bạn đã cập nhật hay chưa, hãy chuyển đến phần <ph name="LINK_BEGIN" />Cài đặt ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Chào mừng bạn đến với Chromium. Cửa sổ trình duyệt mới đã mở ra</translation>
 <translation id="4544142686420020088">Đã xảy ra lỗi nên Chromium chưa cập nhật được. <ph name="BEGIN_LINK" />Hãy khắc phục các vấn đề cập nhật và các bản cập nhật không thành công của Chromium.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Tiếp tục đăng nhập vào hồ sơ mới trên Chromium?</translation>
@@ -311,8 +310,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Cách bạn có thể quản lý dữ liệu của mình:<ph name="END_BOLD" /> Để bảo vệ quyền riêng tư của bạn, chúng tôi tự động xoá các mối quan tâm không được làm mới sau 4 tuần. Trong quá trình bạn duyệt web, các mối quan tâm có thể xuất hiện lại trong danh sách. Bạn cũng có thể xoá những mối quan tâm mà bạn không muốn Chromium xem xét.</translation>
 <translation id="7937630085815544518">Bạn đã đăng nhập vào Chromium là <ph name="USER_EMAIL_ADDRESS" />. Vui lòng sử dụng cùng tài khoản để đăng nhập lại.</translation>
 <translation id="7975919845073681630">Đây là cài đặt thứ cấp của Chromium và không thể trở thành trình duyệt mặc định của bạn.</translation>
-<translation id="7982481011030453202">Nếu một chế độ cài đặt nào đó không xuất hiện trên trang này, hãy tìm trong phần <ph name="LINK_BEGIN" />
-      cài đặt ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Các tiện ích, ứng dụng và giao diện không rõ nguồn gốc có thể làm hại thiết bị của bạn. Chromium đề xuất bạn chỉ nền cài đặt những mục nói trên qua <ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Sau khi Chromium có quyền truy cập, các trang web sẽ có thể yêu cầu bạn cấp quyền truy cập.</translation>
 <translation id="80471789339884597">Cảm ơn bạn đã cài đặt. Bạn phải khởi động lại tất cả trình duyệt trước khi sử dụng <ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-CN.xtb b/chrome/app/resources/chromium_strings_zh-CN.xtb
index 5f479b44..a9472965 100644
--- a/chrome/app/resources/chromium_strings_zh-CN.xtb
+++ b/chrome/app/resources/chromium_strings_zh-CN.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">让 Chromium 在后台运行</translation>
 <translation id="4423735387467980091">自定义及控制 Chromium</translation>
 <translation id="4427306783828095590">“增强型保护”选项在防范网上诱骗和恶意软件方面更高一筹</translation>
-<translation id="4440114195512068100">如需确认您设备上的操作系统是否是最新版本,请前往 <ph name="LINK_BEGIN" />Chromium 操作系统设置<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">欢迎使用 Chromium;已打开新的浏览器窗口</translation>
 <translation id="4544142686420020088">Chromium 未能更新,因为出了点问题。<ph name="BEGIN_LINK" />请解决导致 Chromium 更新失败的问题<ph name="END_LINK" />。</translation>
 <translation id="454579500955453258">使用一份新的 Chromium 个人资料继续浏览?</translation>
@@ -310,7 +309,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />您可以如何管理自己的数据<ph name="END_BOLD" />:为了保护您的隐私,如果您的兴趣保留时间超过 4 周,系统便会自动将其删除。随着您继续浏览,某项兴趣可能会再次出现在列表中。您也可以移除不希望纳入 Chromium 考虑范围的兴趣。</translation>
 <translation id="7937630085815544518">您之前登录 Chromium 时使用的帐号为 <ph name="USER_EMAIL_ADDRESS" />,请使用同一帐号再次登录。</translation>
 <translation id="7975919845073681630">这是 Chromium 的并行安装,您无法将此浏览器设为默认浏览器。</translation>
-<translation id="7982481011030453202">如果此页面中未显示某项设置,请在 <ph name="LINK_BEGIN" />Chromium 操作系统设置<ph name="LINK_END" />中查找</translation>
 <translation id="7997934263947464652">来源不明的扩展程序、应用和主题可能会危害您的设备。Chromium 建议只从 <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />安装这些内容</translation>
 <translation id="8013436988911883588">一旦 Chromium 获得了使用权限,网站便能请求您向其授予使用权限。</translation>
 <translation id="80471789339884597">感谢您完成安装。您必须重启所有浏览器才能使用 <ph name="BUNDLE_NAME" />。</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-HK.xtb b/chrome/app/resources/chromium_strings_zh-HK.xtb
index 136e576..a7ff50e 100644
--- a/chrome/app/resources/chromium_strings_zh-HK.xtb
+++ b/chrome/app/resources/chromium_strings_zh-HK.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">讓 Chromium 在背景執行</translation>
 <translation id="4423735387467980091">自訂及控制 Chromium</translation>
 <translation id="4427306783828095590">強化保護功能可進一步封鎖仿冒詐騙和惡意軟件</translation>
-<translation id="4440114195512068100">如要查看裝置是否已更新,請前往 <ph name="LINK_BEGIN" />Chromium 作業系統設定<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">歡迎使用 Chromium;開咗新瀏覽器視窗</translation>
 <translation id="4544142686420020088">發生錯誤,Chromium 未能更新。<ph name="BEGIN_LINK" />請修正 Chromium 更新問題與更新失敗問題。<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">要透過新的 Chromium 設定檔繼續瀏覽嗎?</translation>
@@ -312,8 +311,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />您可如何管理資料:<ph name="END_BOLD" />為保障您的私隱,我們會自動刪除超過 4 星期的興趣。按瀏覽內容而定,某個主題可能會再次在您的興趣清單中顯示。您亦可移除不希望 Chromium 列在興趣清單中的項目。</translation>
 <translation id="7937630085815544518">您使用了 <ph name="USER_EMAIL_ADDRESS" /> 的身分登入 Chromium,請使用相同帳戶重新登入。</translation>
 <translation id="7975919845073681630">這是以並行形式安裝的第二個 Chromium,因此無法設定為您的預設瀏覽器。</translation>
-<translation id="7982481011030453202">如果此頁面沒有顯示設定,請前往 <ph name="LINK_BEGIN" />
-      Chromium 作業系統設定<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">來源不明的擴充程式、應用程式和主題可能會損害您的裝置。Chromium 建議您只透過「<ph name="IDS_EXTENSION_WEB_STORE_TITLE" />」安裝這些項目</translation>
 <translation id="8013436988911883588">Chromium 獲得存取權後,網站便可向您要求存取權。</translation>
 <translation id="80471789339884597">多謝安裝。您必須先重新啟動所有瀏覽器,才能使用 <ph name="BUNDLE_NAME" />。</translation>
diff --git a/chrome/app/resources/chromium_strings_zh-TW.xtb b/chrome/app/resources/chromium_strings_zh-TW.xtb
index bc0f6eb6..7fd17206 100644
--- a/chrome/app/resources/chromium_strings_zh-TW.xtb
+++ b/chrome/app/resources/chromium_strings_zh-TW.xtb
@@ -146,7 +146,6 @@
 <translation id="4415566066719264597">讓 Chromium 在背景執行</translation>
 <translation id="4423735387467980091">自訂及控制 Chromium</translation>
 <translation id="4427306783828095590">強化防護功能可進一步封鎖網路詐騙和惡意軟體</translation>
-<translation id="4440114195512068100">如要查看你的裝置是否為最新版本,請前往 <ph name="LINK_BEGIN" />Chromium OS 設定<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">歡迎使用 Chromium;新的瀏覽器視窗已開啟</translation>
 <translation id="4544142686420020088">發生錯誤,Chromium 未能更新。<ph name="BEGIN_LINK" />請修正 Chromium 更新問題與更新失敗項目。<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">要繼續使用新的 Chromium 設定檔嗎?</translation>
@@ -311,7 +310,6 @@
 為保護個人隱私,我們會自動刪除 4 週以前的興趣喜好。視瀏覽內容而定,某個主題可能會再次顯示在你的興趣喜好清單中。或者,你可以移除不希望 Chromium 列在興趣喜好清單中的項目。</translation>
 <translation id="7937630085815544518">你使用了 <ph name="USER_EMAIL_ADDRESS" /> 的身分登入 Chromium,請使用相同帳戶重新登入。</translation>
 <translation id="7975919845073681630">這是以並存形式安裝的次要 Chromium,無法設為您的預設瀏覽器。</translation>
-<translation id="7982481011030453202">如果這個頁面上未顯示設定,請檢查 <ph name="LINK_BEGIN" />Chromium OS 設定<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">來源不明的擴充功能、應用程式和主題可能會損害你的裝置。Chromium 建議你只透過 <ph name="IDS_EXTENSION_WEB_STORE_TITLE" />安裝這些項目</translation>
 <translation id="8013436988911883588">Chromium 取得存取權後,網站將可要求你授予存取權。</translation>
 <translation id="80471789339884597">感謝你安裝本服務。你必須重新啟動所有瀏覽器,才能使用 <ph name="BUNDLE_NAME" />。</translation>
diff --git a/chrome/app/resources/chromium_strings_zu.xtb b/chrome/app/resources/chromium_strings_zu.xtb
index 3a0c05e..d7600b27f 100644
--- a/chrome/app/resources/chromium_strings_zu.xtb
+++ b/chrome/app/resources/chromium_strings_zu.xtb
@@ -148,7 +148,6 @@
 <translation id="4415566066719264597">Vumela i-Chromium isebenze ngemuva</translation>
 <translation id="4423735387467980091">Yenza ngokwezifiso uphinde ulawule i-Chromium</translation>
 <translation id="4427306783828095590">Isivikelo esithuthukisiwe senza okuningi ukuvimba ubugebengu bokweba imininingwane ebucayi kanye uhlelo olungayilungele ikhompyutha</translation>
-<translation id="4440114195512068100">Ukuze ubone uma ngabe idivayisi yakho isesikhathini, iya <ph name="LINK_BEGIN" />Kumasethingi we-ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="452711251841752011">Siyakwamukela ku-Chromium; iwindi elisha lesiphequluli livuliwe</translation>
 <translation id="4544142686420020088">I-Chromium ayibuyekezekanga, kunokuthile okungahambanga kahle. <ph name="BEGIN_LINK" />Lungisa izinkinga zokubuyekaza kwe-Chromium nezibuyekezo ezihlulekile.<ph name="END_LINK" /></translation>
 <translation id="454579500955453258">Qhubeka kuphrofayela entsha ye-Chromium?</translation>
@@ -313,8 +312,6 @@
 <translation id="7877292582355102282"><ph name="BEGIN_BOLD" />Ungayiphatha kanjani idatha yakho:<ph name="END_BOLD" /> Ukuze sivikele ubumfihlo bakho, sisula ngokuzenzakalelayo izintshisekelo zakho ezindala kunamaviki ama-4. Njengoba uqhubeka nokubhrawuza, intshisekelo ingase ivele ohlwini futhi. Noma ungasusa izithakazelo ongafuni ukuthi i-Chromium izicabangele.</translation>
 <translation id="7937630085815544518">Ubukade ungene ngemvume ku-Chromium njengo-<ph name="USER_EMAIL_ADDRESS" />. Sicela usebenzise i-akhawunti efanayo ukuze uphinde ungene ngemvume futhi.</translation>
 <translation id="7975919845073681630">Lokhu ukufakwa kwesibili kwe-Chromium, futhi akukwazi ukwenziwa isiphequluli sakho esizenzakalelayo.</translation>
-<translation id="7982481011030453202">Uma isethingi lingaveli kuleli khasi, bheka<ph name="LINK_BEGIN" />
-      kumasethingi wakho we-ChromiumOS<ph name="LINK_END" /></translation>
 <translation id="7997934263947464652">Izandiso, ama-app, namatimu asuka emithonjeni engaziwa angalimaza idivayisi yakho. I-Chromium incoma ukuzifaka kuphela zisuka ku-<ph name="IDS_EXTENSION_WEB_STORE_TITLE" /></translation>
 <translation id="8013436988911883588">Uma i-Chromium inokufinyelela, amawebhusayithi azokwazi ukukucela ukufinyelela.</translation>
 <translation id="80471789339884597">Siyabonga ngokufaka. Kufanele uqalise kabusha wonke amabhrawuza akho ngaphambi kokusebenzisa i-<ph name="BUNDLE_NAME" />.</translation>
diff --git a/chrome/app/resources/generated_resources_af.xtb b/chrome/app/resources/generated_resources_af.xtb
index b0a4e78..9781ef9 100644
--- a/chrome/app/resources/generated_resources_af.xtb
+++ b/chrome/app/resources/generated_resources_af.xtb
@@ -6450,7 +6450,6 @@
 <translation id="7212097698621322584">Voer jou huidige PIN in om dit te verander. As jy nie jou PIN ken nie, moet jy die sekuriteitsleutel terugstel en dan 'n nuwe PIN skep.</translation>
 <translation id="7213903639823314449">Soekenjin wat op die adresbalk gebruik word</translation>
 <translation id="721490496276866468">Voer wagwoorde in</translation>
-<translation id="7216595297012131718">Rangskik tale op grond van jou voorkeur</translation>
 <translation id="7219473482981809164">Ons het veelvuldige profiele gekry wat beskikbaar is om af te laai. Kies dié wat jy wil aflaai voordat jy voortgaan.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Geen swak wagwoorde nie}=1{1 swak wagwoord}other{{NUM_WEAK} swak wagwoorde}}</translation>
 <translation id="7220019174139618249">Kan wagwoorde nie na "<ph name="FOLDER" />" uitvoer nie</translation>
diff --git a/chrome/app/resources/generated_resources_am.xtb b/chrome/app/resources/generated_resources_am.xtb
index cc27959..378ea847 100644
--- a/chrome/app/resources/generated_resources_am.xtb
+++ b/chrome/app/resources/generated_resources_am.xtb
@@ -1077,6 +1077,7 @@
 <translation id="1997616988432401742">የእርስዎ እውቅና ማረጋገጫዎች</translation>
 <translation id="1999115740519098545">በሚነሳበት ጊዜ</translation>
 <translation id="2000419248597011803">ፍለጋዎችን ከአድራሻ አሞሌው እና ከፍለጋ ሳጥኑ እና አንዳንድ ኩኪዎችን ወደ ነባሪው የፍለጋ ፕሮግራምዎ ይልካል</translation>
+<translation id="2001148512690747464">ምንም የፈጣን ጥምረት መሣሪያዎች <ph name="PRIMARY_EMAIL" /> ላይ አልተቀመጡም</translation>
 <translation id="2002109485265116295">እውነተኛ ጊዜ</translation>
 <translation id="2003130567827682533">የ«<ph name="NAME" />» ውሂብን ለማግበር መጀመሪያ ከWi-Fi አውታረ መረብ ጋር ይገናኙ</translation>
 <translation id="2004697686368036666">በአንዳንድ ጣቢያዎች ላይ ያሉ ባህሪያት ላይሰሩ ይችላሉ</translation>
@@ -1341,6 +1342,7 @@
 <translation id="2241053333139545397">ውሂብዎን በተወሰኑ ድር ጣቢያዎች ላይ ያነብባል እና ይቀይራል</translation>
 <translation id="2241634353105152135">አንድ ጊዜ ብቻ</translation>
 <translation id="2242687258748107519">የፋይል መረጃ</translation>
+<translation id="2245296100676446525">በዚህ መሣሪያ እና በሚያሰምሩበት ሌላ ቦታ ላይ የእርስዎን እልባቶች፣ የይለፍ ቃላት፣ ታሪክ እና ተጨማሪ ነገሮችን ለማግኘት አስምርን ያብሩ።</translation>
 <translation id="2245603955208828424">በንጥሎች ውስጥ ፊደል በፊደል ለመንቀሳቀስ የቀስት ቁልፎችን ይጠቀሙ</translation>
 <translation id="2246129643805925002">የቅርብ ጊዜዎቹን ባህሪዎች እና የደህንነት ማሻሻያዎች ለእርስዎ መስጠት እንዲቻል የእርስዎ የ<ph name="DEVICE_TYPE" /> ዝማኔዎች በራስ-ሰር በበስተጀርባ ይከናወናሉ። የዝማኔ ምርጫዎችን በቅንብሮች ውስጥ መገምገም ይችላሉ።</translation>
 <translation id="2246549592927364792">የምስል ዝርዝሮችን ከGoogle ይገኝ?</translation>
@@ -1783,6 +1785,7 @@
 <translation id="2642111877055905627">የእግር ኳስ ኳስ</translation>
 <translation id="2643698698624765890">በመስኮት ምናሌ ውስጥ ያለውን «ቅጥያዎች» ጠቅ በማድረግ ቅጥያዎችዎን ያቀናብሩ።</translation>
 <translation id="2645047101481282803">የእርስዎ መሣሪያ በ<ph name="PROFILE_NAME" /> ነው የሚተዳደረው</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 የይለፍ ቃል ወደዚህ መሣሪያ መጥቷል}one{{NUM_PASSWORDS} የይለፍ ቃል ወደዚህ መሣሪያ መጥቷል}other{{NUM_PASSWORDS} የይለፍ ቃላት ወደዚህ መሣሪያ መጥተዋል}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-encoded ASCII፣ የሰርቲፊኬት ሰንሰለት</translation>
 <translation id="2652129567809778422">የይለፍ ቃል ይምረጡ</translation>
@@ -2960,6 +2963,7 @@
 <translation id="3789841737615482174">ጫን  </translation>
 <translation id="3790417903123637354">የሆነ ችግር ተፈጥሯል። ቆይተው እንደገና ይሞክሩ</translation>
 <translation id="379082410132524484">የእርስዎ ካርድ የአገልግሎት ጊዜው አብቅቷል</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> ቅጥያዎች</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome በኮምፒውተርዎ ላይ ጎጂ ሶፍትዌር አላገኘም • ከ1 ቀን በፊት ተፈትሿል}one{Chrome በኮምፒውተርዎ ላይ ጎጂ ሶፍትዌር አላገኘም • ከ‎{NUM_DAYS} ቀናት በፊት ተፈትሿል}other{Chrome በኮምፒውተርዎ ላይ ጎጂ ሶፍትዌር አላገኘም • ከ‎{NUM_DAYS} ቀናት በፊት ተፈትሿል}}</translation>
 <translation id="379500251094592809">የአቅራቢያ አጋራን ለመጠቀም ሁለቱም መሣሪያዎች መከፈታቸውን፣ አጠገብ ለአጠገብ መሆናቸውን እና ብሉቱዝ መብራቱን ያረጋግጡ። በእርስዎ እስቂያ ውስጥ ከሌለ ጋር ከChromebook ጋር እያጋሩ ከሆነ የአቅራቢያ ታይነት መብራቱን ያረጋግጡ (ጊዜውን በመምረጥ የሁኔታ አካባቢውን ይክፈቱ፣ ከዚያ የአቅራቢያ ታይነትን ያብሩ) <ph name="LINK_BEGIN" />የበለጠ ይረዱ<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">ጠፍቷል</translation>
@@ -4744,6 +4748,7 @@
 <translation id="5542750926112347543">ከ<ph name="DOMAIN" /> የሚመጡ ኩኪዎች ታግደዋል</translation>
 <translation id="5542949973455282971">ወደ <ph name="CARRIER_NAME" /> በማገናኘት ላይ</translation>
 <translation id="5543983818738093899">ሁኔታን በመፈተሸ ላይ...</translation>
+<translation id="5544482392629385159">መሣሪያ <ph name="DEVICE_INDEX" /> ከ<ph name="DEVICE_COUNT" />፣ <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">ምስል ሰሪ</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{ትርን ወደ ቡድን ያክሉ}one{ትሮችን ወደ ቡድን ያክሉ}other{ትሮችን ወደ ቡድን ያክሉ}}</translation>
 <translation id="5545693483061321551">ጣቢያዎች ለምሳሌ ማስታወቂያዎችን ግላዊነት ለማላበስ ብለው እርስዎ በተለያዩ ጣቢያዎች ላይ ያለዎትን የአሰሳ እንቅስቃሴ ለመመልከት ኩኪዎችን መጠቀም አይችሉም። በአንዳንድ ጣቢያዎች ላይ ያሉ ባህሪያት ላይሰሩ ይችላሉ።</translation>
@@ -5545,6 +5550,7 @@
 <translation id="6333170995003625229">የእርስዎ ኢሜይል አድራሻ ወይም የይለፍ ቃል መረጋገጥ አልቻለም። እንደገና ለመግባት ይሞክሩ።</translation>
 <translation id="6335920438823100346">Linuxን ለመጀመር <ph name="MANAGER" /> የውሂብዎን ምትኬ እንዲያስቀምጡና ይህን Chromebook ወደ የፋብሪካ ቅንብሮቹ እንዲመልሱት ይፈልግብዎታል።</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> የADB ስሕተት ማረሚያን አሰናክሏል። ይህ የእርስዎን <ph name="DEVICE_TYPE" /> በ24 ሰዓታት ውስጥ ዳግም ያስጀምረዋል። ለማቆየት የሚፈልጓቸውን ማናቸውም ፋይሎች ምትኬ ያስቀምጡላቸው።</translation>
+<translation id="6338402296920404442">ይህን መሣሪያ የሚጠቀሙ ሌሎች የእርስዎን የይለፍ ቃላት አንዳያዩ <ph name="FILENAME" />ን መሰረዝን ያስቡበት።</translation>
 <translation id="6338981933082930623">ሁሉም ጣቢያዎች ማንኛውንም ማስታወቂያ ለእርስዎ ሊያሳዩዎት ይችላሉ</translation>
 <translation id="6339668969738228384">ለ<ph name="USER_EMAIL_ADDRESS" /> አዲስ መገለጫ ይፈጠሩ</translation>
 <translation id="6340071272923955280">የበይነመረብ ህትመት ፕሮቶኮል (አይፒፒፒኤስ)</translation>
@@ -6436,7 +6442,6 @@
 <translation id="7212097698621322584">ለመለወጥ የእርስዎን አሁን ያለውን ፒን ያስገቡ። የእርስዎን ፒን የማያውቁት ከሆነ፣ የእርስዎን የደህንነት ቁልፍ ዳግም ማቀናበር እና በመቀጠል አዲስ ፒን መፍጠር ይኖርብዎታል።</translation>
 <translation id="7213903639823314449">በአድራሻ አሞሌ ውስጥ ጥቅም ላይ የዋለ የፍለጋ ፕሮግራም</translation>
 <translation id="721490496276866468">የይለፍ ቃላትን አስመጣ</translation>
-<translation id="7216595297012131718">ቋንቋዎችን በእርስዎ ፍላጎት መሠረት ይደርድሩ</translation>
 <translation id="7219473482981809164">በርካታ ለመውረድ የሚገኙ መገለጫዎችን አግኝተናል። ከመቀጠልዎ በፊት ማውረድ የሚፈልጉትን ይምረጡ።</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{ምንም ደካማ የይለፍ ቃላት የሉም}=1{1 ደካማ የይለፍ ቃል}one{{NUM_WEAK} ደካማ የይለፍ ቃላት}other{{NUM_WEAK} ደካማ የይለፍ ቃላት}}</translation>
 <translation id="7220019174139618249">የይለፍ ቃላትን ወደ «<ph name="FOLDER" />» መላክ አልተቻለም</translation>
@@ -7625,6 +7630,7 @@
 <translation id="8338952601723052325">የገንቢ ድር ጣቢያ</translation>
 <translation id="8339059274628563283">በአካባቢው የተከማቸ የ<ph name="SITE" /> ውሂብ</translation>
 <translation id="833986336429795709">ይህን አገናኝ ለመክፈት አንድ መተግበሪያ ይምረጡ</translation>
+<translation id="8340547030807793004">ለ<ph name="DEVICE" /> ተጨማሪ እርምጃዎች</translation>
 <translation id="8342221978608739536">አልሞከርኩትም</translation>
 <translation id="8342861492835240085">አንድ ስብስብ ይምረጡ</translation>
 <translation id="8345848587667658367">አሁን የስልክዎን የቅርብ ጊዜ ፎቶዎች፣ ሚዲያ፣ ማሳወቂያዎች እና መተግበሪያዎች መመልከት ይችላሉ</translation>
diff --git a/chrome/app/resources/generated_resources_ar.xtb b/chrome/app/resources/generated_resources_ar.xtb
index 86bb726..2bdcbb912 100644
--- a/chrome/app/resources/generated_resources_ar.xtb
+++ b/chrome/app/resources/generated_resources_ar.xtb
@@ -1072,6 +1072,7 @@
 <translation id="1997616988432401742">شهاداتك</translation>
 <translation id="1999115740519098545">عند بدء التشغيل</translation>
 <translation id="2000419248597011803">يُرسِل بعض ملفات تعريف الارتباط وعمليات البحث من شريط العناوين ومربّع البحث إلى محرِّك البحث التلقائي.</translation>
+<translation id="2001148512690747464">لا يتضمّن <ph name="PRIMARY_EMAIL" /> أي جهاز محفوظ يستخدم ميزة "الإقران السريع".</translation>
 <translation id="2002109485265116295">الوقت الفعلي</translation>
 <translation id="2003130567827682533">‏لتفعيل بيانات "<ph name="NAME" />"، يمكنك أولاً الاتصال بشبكة Wi-Fi.</translation>
 <translation id="2004697686368036666">قد لا تعمل الميزات على بعض المواقع الإلكترونية.</translation>
@@ -1336,6 +1337,7 @@
 <translation id="2241053333139545397">قراءة بياناتك وتغييرها على عدد من المواقع</translation>
 <translation id="2241634353105152135">مرة واحدة فقط</translation>
 <translation id="2242687258748107519">معلومات الملف</translation>
+<translation id="2245296100676446525">يمكنك تفعيل المزامنة للحصول على الإشارات المرجعية وكلمات المرور والسجلّ وغير ذلك على هذا الجهاز وعلى أي جهاز آخر تُجري عليه المزامنة.</translation>
 <translation id="2245603955208828424">استخدِم مفاتيح الأسهم للتنقُّل بين الأحرف واحدًا تلو الآخر.</translation>
 <translation id="2246129643805925002">يتم تحديث الجهاز <ph name="DEVICE_TYPE" /> في الخلفية تلقائيًا لإتاحة أحدث الميزات والتحسينات الأمنية إليك. يمكنك مراجعة إعدادات التحديث المفضّلة في الإعدادات.</translation>
 <translation id="2246549592927364792">‏هل تريد الحصول على أوصاف الصور من Google؟</translation>
@@ -1777,6 +1779,7 @@
 <translation id="2642111877055905627">كرة القدم</translation>
 <translation id="2643698698624765890">يمكنك إدارة الإضافات من خلال النقر على "الإضافات" في القائمة "نافذة".</translation>
 <translation id="2645047101481282803">تتم إدارة جهازك من قِبل <ph name="PROFILE_NAME" />.</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{تم استيراد كلمة مرور واحدة إلى هذا الجهاز.}zero{تم استيراد {NUM_PASSWORDS} كلمة مرور إلى هذا الجهاز.}two{تم استيراد كلمتَي مرور ({NUM_PASSWORDS}) إلى هذا الجهاز.}few{تم استيراد {NUM_PASSWORDS} كلمات مرور إلى هذا الجهاز.}many{تم استيراد {NUM_PASSWORDS} كلمة مرور إلى هذا الجهاز.}other{تم استيراد {NUM_PASSWORDS} كلمة مرور إلى هذا الجهاز.}}</translation>
 <translation id="2645435784669275700">‏نظام التشغيل Chrome</translation>
 <translation id="2649045351178520408">‏حفظ سلسلة شهادات بتشفير ASCII المرمّز باستخدام Base64</translation>
 <translation id="2652129567809778422">اختيار كلمة مرور</translation>
@@ -2957,6 +2960,7 @@
 <translation id="3789841737615482174">تثبيت</translation>
 <translation id="3790417903123637354">حدث خطأ. يُرجى إعادة المحاولة لاحقًا.</translation>
 <translation id="379082410132524484">انتهت صلاحية بطاقتك</translation>
+<translation id="3792973596468118484">عدد الإضافات: <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{‏لم يعثر متصفِّح Chrome على برامج ضارّة في جهاز الكمبيوتر • تم إجراء عملية التحقُّق قبل يوم واحد.}zero{‏لم يعثر متصفِّح Chrome على برامج ضارّة في جهاز الكمبيوتر • تم إجراء عملية التحقُّق قبل {NUM_DAYS} يوم.}two{‏لم يعثر متصفِّح Chrome على برامج ضارّة في جهاز الكمبيوتر • تم إجراء عملية التحقُّق قبل يومَين ({NUM_DAYS}).}few{‏لم يعثر متصفِّح Chrome على برامج ضارّة في جهاز الكمبيوتر • تم إجراء عملية التحقُّق قبل {NUM_DAYS} أيام.}many{‏لم يعثر متصفِّح Chrome على برامج ضارّة في جهاز الكمبيوتر • تم إجراء عملية التحقُّق قبل {NUM_DAYS} يومًا.}other{‏لم يعثر متصفِّح Chrome على برامج ضارّة في جهاز الكمبيوتر • تم إجراء عملية التحقُّق قبل {NUM_DAYS} يوم.}}</translation>
 <translation id="379500251094592809">‏لاستخدام ميزة "المشاركة عن قرب"، يُرجى التأكُّد من فتح قفل كلا الجهازَين وتقريبهما من بعضهما وتفعيل البلوتوث فيهما. وإذا كنت تشارك الملفات مع جهاز Chromebook غير مدرَج في جهات اتصالك، يُرجى التأكُّد من تفعيل وضع الظهور لجميع الأجهزة القريبة لميزة "المشاركة عن قرب" (يُرجى فتح منطقة الحالة من خلال اختيار الوقت، ثم تفعيل وضع الظهور لجميع الأجهزة القريبة لميزة "المشاركة عن قرب"). <ph name="LINK_BEGIN" />مزيد من المعلومات<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">غير مفعَّل</translation>
@@ -4740,6 +4744,7 @@
 <translation id="5542750926112347543">تم حظر ملفات تعريف الارتباط الواردة من <ph name="DOMAIN" /></translation>
 <translation id="5542949973455282971">جارٍ الربط بشبكة <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">جارٍ التحقق من الحالة ...</translation>
+<translation id="5544482392629385159">الجهاز <ph name="DEVICE_INDEX" /> من إجمالي <ph name="DEVICE_COUNT" />، <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">عارِض</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{إضافة علامة التبويب إلى مجموعة}zero{إضافة علامات التبويب إلى مجموعة}two{إضافة علامتَي التبويب إلى مجموعة}few{إضافة علامات التبويب إلى مجموعة}many{إضافة علامات التبويب إلى مجموعة}other{إضافة علامات التبويب إلى مجموعة}}</translation>
 <translation id="5545693483061321551">لن يسمح هذا الإجراء للمواقع الإلكترونية باستخدام ملفات تعريف الارتباط للاطّلاع على نشاط التصفُّح على المواقع الإلكترونية المختلفة، بهدف تقديم إعلانات مخصّصة لك مثلاً. قد لا تعمل الميزات على بعض المواقع الإلكترونية.</translation>
@@ -5541,6 +5546,7 @@
 <translation id="6333170995003625229">تعذّر التحقُّق من عنوان بريدك الإلكتروني أو كلمة مرورك. حاوِل تسجيل الدخول مرة أخرى.</translation>
 <translation id="6335920438823100346">‏لبدء تشغيل نظام التشغيل Linux، يطلُب <ph name="MANAGER" /> منك الاحتفاظ بنسخة احتياطية من بياناتك وإعادة ضبط جهاز Chromebook هذا على الإعدادات الأصلية.</translation>
 <translation id="6336038146639916978">‏أوقَف <ph name="MANAGER" /> إعداد "تصحيح الأخطاء عبر ADB". وسيؤدي هذا إلى إعادة ضبط الجهاز <ph name="DEVICE_TYPE" /> خلال 24 ساعة. يُرجى الاحتفاظ بنسخة احتياطية من كل الملفات التي تريدها.</translation>
+<translation id="6338402296920404442">ننصحك بحذف الملف "<ph name="FILENAME" />"، حتى لا يتمكّن مستخدمو هذا الجهاز الآخرون من الاطّلاع على كلمات مرورك.</translation>
 <translation id="6338981933082930623">السماح لجميع المواقع الإلكترونية بعرض أيّ إعلانات لك</translation>
 <translation id="6339668969738228384">إنشاء ملف شخصي جديد لـ <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">‏بروتوكول الطباعة على الإنترنت (IPPS)</translation>
@@ -6439,7 +6445,6 @@
 <translation id="7212097698621322584">يُرجى إدخال رقم التعريف الشخصي الحالي لتغييره. في حال كنت لا تعرف رقم التعريف الشخصي، عليك إعادة ضبط مفتاح الأمان، ثم إنشاء رقم تعريف شخصي جديد.</translation>
 <translation id="7213903639823314449">محرك البحث المُستخدَم في شريط العناوين</translation>
 <translation id="721490496276866468">استيراد كلمات المرور</translation>
-<translation id="7216595297012131718">ترتيب اللغات حسب تفضيلك</translation>
 <translation id="7219473482981809164">تتوفَّر عدّة ملفات شخصية للتنزيل. يُرجى اختيار الملفات الشخصية التى تريد تنزيلها قبل المتابعة.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{ما مِن كلمات مرور ضعيفة.}=1{كلمة مرور ضعيفة واحدة}two{كلمتا مرور ضعيفتان ({NUM_WEAK})}few{{NUM_WEAK} كلمات مرور ضعيفة}many{{NUM_WEAK} كلمة مرور ضعيفة}other{{NUM_WEAK} كلمة مرور ضعيفة}}</translation>
 <translation id="7220019174139618249">تعذّر تصدير كلمات المرور إلى "<ph name="FOLDER" />"</translation>
@@ -7624,6 +7629,7 @@
 <translation id="8338952601723052325">الموقع الإلكتروني لمطوّر البرامج</translation>
 <translation id="8339059274628563283">بيانات <ph name="SITE" /> المخزنة محليًا</translation>
 <translation id="833986336429795709">لفتح هذا الرابط، اختر أحد التطبيقات.</translation>
+<translation id="8340547030807793004">مزيد من الإجراءات لجهاز <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">لم أحاول</translation>
 <translation id="8342861492835240085">اختيار مجموعة</translation>
 <translation id="8345848587667658367">يمكنك الآن الاطّلاع على أحدث الصور والوسائط والإشعارات والتطبيقات المتوفّرة على هاتفك</translation>
diff --git a/chrome/app/resources/generated_resources_as.xtb b/chrome/app/resources/generated_resources_as.xtb
index 026a1ae5..dd3d635 100644
--- a/chrome/app/resources/generated_resources_as.xtb
+++ b/chrome/app/resources/generated_resources_as.xtb
@@ -1079,6 +1079,7 @@
 <translation id="1997616988432401742">আপোনাৰ প্ৰমাণপত্ৰ</translation>
 <translation id="1999115740519098545">আৰম্ভণি</translation>
 <translation id="2000419248597011803">আপোনাৰ ডিফ’ল্ট সন্ধান ইঞ্জিনলৈ ঠিকনা বাৰ আৰু সন্ধান বাকছৰ পৰা কিছুমান কুকি আৰু সন্ধান পঠিয়ায়</translation>
+<translation id="2001148512690747464"><ph name="PRIMARY_EMAIL" />ত দ্ৰুতভাৱে পেয়াৰ হোৱা কোনো ডিভাইচ ছেভ কৰা হোৱা নাই</translation>
 <translation id="2002109485265116295">প্ৰকৃত-সময়</translation>
 <translation id="2003130567827682533">'<ph name="NAME" />' ডেটা সক্ৰিয় কৰিবলৈ প্ৰথমে কোনো ৱাই-ফাই নেটৱর্কত সংযোগ কৰক</translation>
 <translation id="2004697686368036666">কিছুমান ছাইটত সুবিধাসমূহে কাম নকৰিবও পাৰে</translation>
@@ -1788,6 +1789,7 @@
 <translation id="2642111877055905627">ফুটবল</translation>
 <translation id="2643698698624765890">ৱিণ্ড’ মেনুৰ এক্সটেনশ্বন বুটামটোত ক্লিক কৰি আপোনাৰ এক্সটেনশ্বনসমূহ পৰিচালনা কৰক।</translation>
 <translation id="2645047101481282803">আপোনাৰ ডিভাইচটো <ph name="PROFILE_NAME" />এ পৰিচালনা কৰে</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{এই ডিভাইচটোলৈ ১ টা পাছৱৰ্ড আমদানি কৰা হৈছে}one{এই ডিভাইচটোলৈ {NUM_PASSWORDS} টা পাছৱৰ্ড আমদানি কৰা হৈছে}other{এই ডিভাইচটোলৈ {NUM_PASSWORDS} টা পাছৱৰ্ড আমদানি কৰা হৈছে}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-এনক’ড কৰা ASCII, প্ৰমাণপত্ৰৰ চেইন</translation>
 <translation id="2652129567809778422">পাছৱৰ্ড বাছনি কৰক</translation>
@@ -2965,6 +2967,7 @@
 <translation id="3789841737615482174">ইনষ্টল কৰক</translation>
 <translation id="3790417903123637354">কিবা ভুল হ’ল। পাছত পুনৰ চেষ্টা কৰক</translation>
 <translation id="379082410132524484">আপোনাৰ কার্ডৰ ম্যাদ উকলিছে</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> টা এক্সটেনশ্বন</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • ১ দিনৰ পূৰ্বে পৰীক্ষা কৰিছে}one{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • {NUM_DAYS} দিনৰ পূৰ্বে পৰীক্ষা কৰিছে}other{Chromeএ আপোনাৰ কম্পিউটাৰত কোনো ক্ষতিকাৰক ছফ্টৱেৰ বিচাৰি নাপালে • {NUM_DAYS} দিনৰ পূৰ্বে পৰীক্ষা কৰিছে}}</translation>
 <translation id="379500251094592809">Nearby Share ব্যৱহাৰ কৰিবলৈ নিশ্চিত কৰক যে দুয়োটা ডিভাইচ আনলক কৰা থাকে, এটা আনটোৰ ওচৰত থাকে তথা ব্লুটুথ অন কৰা থাকে। আপুনি যদি আপোনাৰ সম্পৰ্কসূচীত নথকা Chromebookৰ সৈতে শ্বেয়াৰ কৰি আছে সেইটোৰ Nearby দৃশ্যমানতা অন হৈ থকাটো নিশ্চিত কৰক (সময়টো বাছনি কৰি বিভিন্ন স্থিতি দেখুওৱা ঠাইখিনি খোলক, তাৰ পাছত Nearby দৃশ্যমানতা অন কৰক) <ph name="LINK_BEGIN" />অধিক জানক<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">অফ আছে</translation>
@@ -4278,6 +4281,7 @@
 <translation id="5074761966806028321">ছেটআপ সম্পূৰ্ণ কৰিবলৈ তথাপি অনুমতিৰ আৱশ্যক</translation>
 <translation id="5075563999073408211">এটা অথবা ততোধিক ছুইচৰ জৰিয়তে আপোনাৰ ডিভাইচ নিয়ন্ত্ৰণ কৰক। ছুইচসমূহ কীব’ৰ্ডৰ কী, গে’মপেডৰ বুটাম অথবা সমৰ্পিত ডিভাইচ হ’ব পাৰে।</translation>
 <translation id="5075910247684008552">সুৰক্ষিত ছাইটসমূহত অসুৰক্ষিত সমল ডিফ’ল্ট হিচাপে অৱৰোধ কৰা হৈছে</translation>
+<translation id="5078490485380754244">ডিভাইচ পাহৰি যাওক</translation>
 <translation id="5078638979202084724">সকলো টেব বুকমাৰ্ক কৰক</translation>
 <translation id="5078796286268621944">ভুল পিন</translation>
 <translation id="5079010647467150187">বিল্ট ইন ভিপিএন যোগ দিয়ক...</translation>
@@ -4750,6 +4754,7 @@
 <translation id="5542750926112347543"><ph name="DOMAIN" />ৰ কুকি অৱৰোধ কৰা হৈছে</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" />ৰ সৈতে সংযোগ কৰি থকা হৈছে</translation>
 <translation id="5543983818738093899">স্থিতিৰ বাবে পৰীক্ষা কৰি থকা হৈছে...</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_COUNT" /> টা ডিভাইচৰ <ph name="DEVICE_INDEX" /> নম্বৰটো, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">ৰেণ্ডাৰাৰ</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{গোটত টেব যোগ দিয়ক}one{গোটত টেবসমূহ যোগ দিয়ক}other{গোটত টেবসমূহ যোগ দিয়ক}}</translation>
 <translation id="5545693483061321551">বিভিন্ন ছাইটত আপোনাৰ ব্ৰাউজিঙৰ কাৰ্যকলাপ চাবলৈ ছাইটসমূহে আপোনাৰ কুকিসমূহ ব্যৱহাৰ কৰিব নোৱাৰে, যেনে, বিজ্ঞাপন ব্যক্তিগতকৃত কৰিবলৈ। কিছুমান ছাইটত সুবিধাসমূহে কাম নকৰিবও পাৰে।</translation>
@@ -5551,6 +5556,7 @@
 <translation id="6333170995003625229">আপোনাৰ ইমেইল ঠিকনা অথবা পাছৱৰ্ড সত্যাপন কৰিব নোৱাৰি। পুনৰ ছাইন ইন কৰি চাওক।</translation>
 <translation id="6335920438823100346">Linux ব্যৱহাৰ কৰা আৰম্ভ কৰিবলৈ <ph name="MANAGER" />ৰ বাবে আপুনি নিজৰ ডেটাৰ বেক আপ লোৱাৰ আৰু এই Chromebookটো ফেক্টৰীৰ ছেটিঙলৈ ৰিছেট কৰাৰ আৱশ্যক।</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" />এ ADB ডিবাগিং অক্ষম কৰিছে। ই ২৪ ঘণ্টাত আপোনাৰ <ph name="DEVICE_TYPE" /> ৰিছেট কৰিব। আপুনি ৰাখিবলৈ বিচৰা যিকোনো ফাইলৰ বেক আপ লওক।</translation>
+<translation id="6338402296920404442"><ph name="FILENAME" /> মচাৰ বিষয়ে বিবেচনা কৰক, যাতে এই ডিভাইচটো ব্যৱহাৰ কৰা অন্য লোকে আপোনাৰ পাছৱৰ্ডসমূহ চাব নোৱাৰে।</translation>
 <translation id="6338981933082930623">সকলো ছাইটে আপোনাক যিকোনো বিজ্ঞাপন দেখুৱাব পাৰে</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" />ৰ বাবে এটা নতুন প্ৰ’ফাইল সৃষ্টি কৰক</translation>
 <translation id="6340071272923955280">ইণ্টাৰনেট প্ৰিণ্টিং প্ৰ’ট’কল (IPPS)</translation>
@@ -6442,7 +6448,6 @@
 <translation id="7212097698621322584">আপোনাৰ বৰ্তমানৰ পিনটো সলনি কৰিবলৈ সেইটো দিয়ক। আপুনি যদি নিজৰ পিনটো নাজানে, আপুনি সুৰক্ষা চাবিটো ৰিছেট কৰি এটা নতুন পিন সৃষ্টি কৰিব লাগিব।</translation>
 <translation id="7213903639823314449">ঠিকনাৰ বাৰত ব্যৱহাৰ কৰা সন্ধান ইঞ্জিন</translation>
 <translation id="721490496276866468">পাছৱৰ্ড আমদানি কৰক</translation>
-<translation id="7216595297012131718">নিজৰ অগ্ৰাধিকাৰৰ ভিত্তিত ভাষাসমূহ ক্ৰমত সজাওক</translation>
 <translation id="7219473482981809164">ডাউনল’ড কৰিবলৈ আমি বহুকেইটা প্ৰ’ফাইল বিচাৰি পাইছোঁ। আগবঢ়াৰ আগতে আপুনি ডাউনল’ড কৰিবলৈ বিচৰাকেইটা বাছনি কৰক।</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{কোনো দুৰ্বল পাছৱৰ্ড নাই}=1{১ টা দুৰ্বল পাছৱৰ্ড}one{{NUM_WEAK} টা দুৰ্বল পাছৱৰ্ড}other{{NUM_WEAK} টা দুৰ্বল পাছৱৰ্ড}}</translation>
 <translation id="7220019174139618249">পাছৱৰ্ড "<ph name="FOLDER" />"লৈ ৰপ্তানি কৰিব নোৱাৰি</translation>
@@ -7624,6 +7629,7 @@
 <translation id="8338952601723052325">বিকাশকৰ্তাৰ ৱেবছাইট</translation>
 <translation id="8339059274628563283"><ph name="SITE" />ৰ স্থানীয়ভাৱে ষ্ট’ৰ কৰা ডেটা</translation>
 <translation id="833986336429795709">এই লিংকটো খুলিবলৈ কোনো এপ্ বাছনি কৰক</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" />ৰ বাবে আৰু অধিক কাৰ্য</translation>
 <translation id="8342221978608739536">চেষ্টা কৰি চোৱা নাই</translation>
 <translation id="8342861492835240085">এটা সংগ্ৰহ বাছনি কৰক</translation>
 <translation id="8345848587667658367">এতিয়া আপুনি আপোনাৰ ফ’নৰ শেহতীয়া ফট’, মিডিয়া, জাননী আৰু এপ্‌সমূহ চাব পাৰে</translation>
diff --git a/chrome/app/resources/generated_resources_az.xtb b/chrome/app/resources/generated_resources_az.xtb
index df3bcc901..f66f62b 100644
--- a/chrome/app/resources/generated_resources_az.xtb
+++ b/chrome/app/resources/generated_resources_az.xtb
@@ -891,6 +891,7 @@
 <translation id="1829129547161959350">Pinqvin</translation>
 <translation id="1829192082282182671">Kiçildin</translation>
 <translation id="1830550083491357902">Ildə imzalanmış deyil</translation>
+<translation id="1831848493690504725">Qoşulmuş şəbəkə vasitəsilə Google'a daxil olmaq mümkün deyil. Başqa şəbəkə seçin və ya şəbəkə ayarları və ya proksi ayarlarınızı (proksi istifadə edirsinizsə) yoxlayın.</translation>
 <translation id="1832459821645506983">Bəli, varam</translation>
 <translation id="1832511806131704864">Telefon dəyişikliyi güncəlləşdi</translation>
 <translation id="1832848789136765277">Həmişə sinxronlaşdırılmış datanıza girişinizin olduğuna əmin olmaq üçün kimliyinizi doğrulayın</translation>
@@ -1330,6 +1331,7 @@
 <translation id="2241053333139545397">Datanızı çoxsaylı cihazlarda oxuyun və dəyişin</translation>
 <translation id="2241634353105152135">Sadəcə bir dəfə</translation>
 <translation id="2242687258748107519">Fayl məlumatı</translation>
+<translation id="2245296100676446525">Bu cihazda və sinxronizasiya etdiyiniz hər yerdə əlfəcinlərinizi, parollarınızı, tarixçənizi və daha çoxunu əldə etmək üçün sinxronizasiyanı aktiv edin.</translation>
 <translation id="2245603955208828424">Elementlər arasında hərf-hərf hərəkət etmək üçün ox düymələrindən istifadə edin</translation>
 <translation id="2246129643805925002">Ən son funksiyaları və təhlükəsizlik təkmilləşdirmələrini təmin etmək üçün <ph name="DEVICE_TYPE" /> avtomatik olaraq arxa fonda güncəllənəcək. Güncəlləmə tərcihlərini Ayarlarda nəzərdən keçirə bilərsiniz.</translation>
 <translation id="2246549592927364792">Google'dan şəkil təsvirləri əldə etmək istəyirsiniz?</translation>
@@ -2191,6 +2193,7 @@
 <translation id="3021065318976393105">Batareyadan istifadə edilən zaman</translation>
 <translation id="3021066826692793094">Kəpənək</translation>
 <translation id="3021678814754966447">&amp;Çərçivə mənbəsinə baxın</translation>
+<translation id="3022361196600037287"><ph name="DEVICE" /> bu Chromebook'dan silinəcək və <ph name="PRIMARY_EMAIL" /> hesabında saxlanmayacaq.</translation>
 <translation id="3022978424994383087">Tərcümə etmək alınmadı.</translation>
 <translation id="3023464535986383522">Səsləndirmək üçün seçim</translation>
 <translation id="3024374909719388945">24 saatlıq formatdan istifadə edin</translation>
@@ -3727,6 +3730,7 @@
 <translation id="4535127706710932914">Defolt Profil</translation>
 <translation id="4535767533210902251">Barmaq izi sensoru klaviaturanızın yuxarı sağ hissəsində yerləşən barmaq işarəsidir. Barmağınızla ona yavaşca toxunun.</translation>
 <translation id="4536140153723794651">Həmişə kukilərdən istifadə edə bilən saytlar</translation>
+<translation id="4536769240747010177">Modem Rejimi İmkanları:</translation>
 <translation id="4538417792467843292">Sözü silin</translation>
 <translation id="4538792345715658285">Sahibkarlıq qaydaları tərəfindən quraşdırılıb.</translation>
 <translation id="4541123282641193691">Hesabınızı doğrulamaq mümkün olmadı. Yenidən cəhd edin və ya Chromebook'u yenidən başladın.</translation>
@@ -3754,6 +3758,7 @@
 <translation id="4561893854334016293">Son vaxtlarda dəyişən icazə yoxdur</translation>
 <translation id="4562155214028662640">Barmaq İzi əlavə edin</translation>
 <translation id="4563210852471260509">İlkin daxiletmə dili Çin dilidir</translation>
+<translation id="4563382028841851106">Hesabdan silin</translation>
 <translation id="4563880231729913339">Barmaq 3</translation>
 <translation id="4564245002465020751">Telefonunuzda ayarlamanı tamamlayın</translation>
 <translation id="4565377596337484307">Parolu gizlədin</translation>
@@ -4731,6 +4736,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> bunu etmək istəyir:</translation>
 <translation id="5534304873398226603">Foto və ya videonu yadda saxlamayın</translation>
 <translation id="5537725057119320332">Yayım</translation>
+<translation id="5539070192556911367">Google'a daxil olmaq mümkün deyil</translation>
 <translation id="5539221284352502426">Daxil etdiyiniz parol server tərəfindən rədd edildi. Səbəblər bunlar ola bilər: Parol çox qısadır. Parol rəqəm və ya simvollardan ibarət olmalıdır. Parol əvvəlki paroldan fərqli olmalıdır.</translation>
 <translation id="5541694225089836610">Administrator əməliyyatı deaktiv edib</translation>
 <translation id="5542132724887566711">Profil</translation>
@@ -4794,6 +4800,7 @@
 <translation id="5585912436068747822">Formatlama alınmadı</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Tətbiqlər yüklənir...</translation>
+<translation id="5590418976913374224">Cihaz işə salındıqda səs oxudulsun</translation>
 <translation id="5592595402373377407">Kifayət qədər əlçatan məlumat hələ yoxdur.</translation>
 <translation id="5595307023264033512">Saytlar tərəfindən istifadə olunan cəmi yaddaş: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Ünvana düzəliş edin</translation>
@@ -6169,6 +6176,10 @@
 <translation id="6943939122536910181"><ph name="DEVICE" /> ilə bağlantı kəsildi</translation>
 <translation id="6945221475159498467">Seçin</translation>
 <translation id="694592694773692225">Bu səhifədə yönləndirmə deaktiv edilib.</translation>
+<translation id="6947015141909171112">Reseptlər üçün son Axtarış fəaliyyətinizə əsasən reseptləri görürsünüz.
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        Ayarları kart menyusundan idarə edə və ya Chrome'u Fərdiləşdirin bölməsində digər seçimləri görə bilərsiniz.</translation>
 <translation id="6949434160682548041">Parol (istəyə görə)</translation>
 <translation id="6950627417367801484">Tətbiqləri bərpa edin</translation>
 <translation id="6952242901357037157">Həmçinin <ph name="BEGIN_LINK" />Google Hesabınızdakı<ph name="END_LINK" /> parolları göstərə bilərsiniz</translation>
@@ -6336,6 +6347,7 @@
 <translation id="7102687220333134671">Avtomatik yeniliklər aktiv edildi</translation>
 <translation id="7102832101143475489">Sorğunun vaxtı bitib</translation>
 <translation id="710640343305609397">Şəbəkə ayarlarını açın</translation>
+<translation id="7107609441453408294">Eyni audionu bütün spikerlər vasitsəilə oxudun</translation>
 <translation id="7108338896283013870">Gizlədin</translation>
 <translation id="7108668606237948702">enter</translation>
 <translation id="7108933416628942903">İndi kilidləyin</translation>
@@ -6427,7 +6439,6 @@
 <translation id="7212097698621322584">Dəyişmək üçün cari PIN-i daxil edin. PIN-i bilmirsinizsə, güvənlik açarını sıfırlamalı, sonra isə yeni PIN yaratmalısınız.</translation>
 <translation id="7213903639823314449">Ünvan panelində istifadə edilən axtarış sistemi</translation>
 <translation id="721490496276866468">Parolları import edin</translation>
-<translation id="7216595297012131718">Tərcihlərə əsasən dil sifariş edin</translation>
 <translation id="7219473482981809164">Endirmək üçün əlçatan çox sayda profil tapmışıq. Başlamazdan əvvəl endirmək istədiklərinizi seçin.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Zəif parol yoxdur}=1{1 zəif parol}other{{NUM_WEAK} zəif parol}}</translation>
 <translation id="7220019174139618249">Parollar "<ph name="FOLDER" />" qovluğuna eksport edilmədi</translation>
@@ -6567,6 +6578,7 @@
 <translation id="7364745943115323529">Yayım...</translation>
 <translation id="7364796246159120393">Fayl seçin</translation>
 <translation id="7365076891350562061">Monitorun ölçüsü</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - Bərkidilib</translation>
 <translation id="7366316827772164604">Yaxınlıqdakı cihazlar skanlanır…</translation>
 <translation id="7366415735885268578">Sayt əlavə edin</translation>
 <translation id="7366909168761621528">Axtarış Datası</translation>
@@ -6963,6 +6975,7 @@
 <translation id="7737115349420013392">"<ph name="DEVICE_NAME" />" ilə birləşdirilir ...</translation>
 <translation id="7737846262459425222">Bunu istənilən vaxt Ayarlar &gt; Google Assistent &gt; Ekran konteksti bölməsində dəyişə bilərsiniz.</translation>
 <translation id="7737948071472253612">Kameranızdan istifadəyə icazə verilməyib</translation>
+<translation id="77381465218432215">Vurğu işarələrini və xüsusi simvolları göstərin</translation>
 <translation id="7740996059027112821">Standart</translation>
 <translation id="7741307896921365578">Oxu siyahısı və Əlfəcinlərinizə faydalı və davamlı giriş yolu üçün brauzer səviyyəsində yan paneli aktiv edir.</translation>
 <translation id="7742558784808143689"><ph name="SITE_NAME" /> və ona bağlı bütün saytlar və quraşdırılmış tətbiqlər üçün sayt datası və icazələr silinsin?</translation>
@@ -7751,6 +7764,7 @@
 <translation id="8486666913807228950">Səbəb: <ph name="REVERT_RULE" /> əks qaydası "Burada məcburi açın" siyahısında tapıldı.</translation>
 <translation id="848666842773560761">Tətbiq kameraya giriş etməyə çalışır. Girişə icazə vermək üçün kamera məxfilik dəyişdiricisini deaktiv edin.</translation>
 <translation id="8487678622945914333">Böyüdün</translation>
+<translation id="8487699605742506766">Hotspot</translation>
 <translation id="8489156414266187072">Şəxsi təkliflər yalnız hesabınızda göstərilir</translation>
 <translation id="8490896350101740396"><ph name="UPDATED_APPS" /> kiosk tətbiqləri güncəlləndi. Prosesi tamamlamaq üçün cihazı yenidən başladın.</translation>
 <translation id="8492685019009920170">Barmağınızla barmaq izi sensoruna toxunun. Datanız güvənli şəkildə saxlanılır və heç vaxt <ph name="DEVICE_TYPE" /> cihazınızdan kənara ötürülmür.</translation>
@@ -8242,6 +8256,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{"<ph name="TAB_TITLE" />"}=1{"<ph name="TAB_TITLE" />" və digər 1 tab}other{"<ph name="TAB_TITLE" />" və digər # tab}}</translation>
 <translation id="8977811652087512276">Yanlış parol və ya zədələnmiş fayl</translation>
 <translation id="8978154919215542464">Aktiv - hərşeyi sinxronizasiya edin</translation>
+<translation id="8978670037548431647">Modem Rejimi İmkanlarını yeniləyin</translation>
 <translation id="897939795688207351"><ph name="ORIGIN" /> ünvanında</translation>
 <translation id="8980345560318123814">Rəy hesabatları</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - Qəza oldu</translation>
@@ -8506,6 +8521,7 @@
 <translation id="935854577147268200">Smart Lock telefonu dəyişdirildi. Smart Lock'u yeniləmək üçün parolu daxil edin. Növbəti dəfə telefon <ph name="DEVICE_TYPE" /> cihazını kiliddən çıxaracaq. Ayarlardan Smart Lock'u deaktiv edə bilərsiniz</translation>
 <translation id="936646668635477464">Kamera və mikrofon</translation>
 <translation id="936801553271523408">Sistem diaqnostika datası</translation>
+<translation id="937053962468712792"><ph name="DEVICE" /> <ph name="PRIMARY_EMAIL" /> hesabından silinsin?</translation>
 <translation id="93766956588638423">Artırmanı bərpa edin</translation>
 <translation id="938568644810664664">"Hey Google, bu hansı mahnıdır?" və ya "Hey Google, ekranımda nə var?" cümlələrini deyin</translation>
 <translation id="938623846785894166">Qeyri-adi fayl</translation>
diff --git a/chrome/app/resources/generated_resources_be.xtb b/chrome/app/resources/generated_resources_be.xtb
index 4fa5ac5..bb28dc4 100644
--- a/chrome/app/resources/generated_resources_be.xtb
+++ b/chrome/app/resources/generated_resources_be.xtb
@@ -1072,6 +1072,7 @@
 <translation id="1997616988432401742">Вашы сертыфікаты</translation>
 <translation id="1999115740519098545">Пры запуску</translation>
 <translation id="2000419248597011803">Адпраўляе вашай стандартнай пошукавай сістэме некаторыя файлы cookie, а таксама пошукавыя запыты, уведзеныя ў адрасным радку і полі пошуку</translation>
+<translation id="2001148512690747464">Ва ўліковым запісе <ph name="PRIMARY_EMAIL" /> захаваных прылад з Хуткім спалучэннем няма</translation>
 <translation id="2002109485265116295">У рэальным часе</translation>
 <translation id="2003130567827682533">Каб актываваць даныя "<ph name="NAME" />", спачатку падключыцеся да сеткі Wi-Fi</translation>
 <translation id="2004697686368036666">На некаторых сайтах можа не працаваць частка функцый</translation>
@@ -1336,6 +1337,7 @@
 <translation id="2241053333139545397">Прагляд і змяненне вашых даных на шэрагу вэб-сайтаў</translation>
 <translation id="2241634353105152135">Толькі адзін раз</translation>
 <translation id="2242687258748107519">Інфармацыя аб файле</translation>
+<translation id="2245296100676446525">Каб закладкі, паролі, гісторыя і іншыя даныя былі даступнымі на гэтай і іншых вашых прыладах, уключыце сінхранізацыю.</translation>
 <translation id="2245603955208828424">Каб пераходзіць паміж аб'ектамі з шагам у адну літару, выкарыстоўвайце клавішы са стрэлкамі</translation>
 <translation id="2246129643805925002">Прылада "<ph name="DEVICE_TYPE" />" аўтаматычна ўсталёўвае абнаўленні ў фонавым рэжыме, каб у вас заўсёды быў доступ да новых функцый, а сама яна заставалася абароненай. Праглядзець параметры абнаўленняў можна ў Наладах.</translation>
 <translation id="2246549592927364792">Атрымліваць апісанні відарысаў ад Google?</translation>
@@ -1777,6 +1779,7 @@
 <translation id="2642111877055905627">Футбольны мяч</translation>
 <translation id="2643698698624765890">Каб кіраваць пашырэннямі, націсніце "Пашырэнні" ў меню "Акно".</translation>
 <translation id="2645047101481282803">Гэтай прыладай кіруе <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{На прыладу імпартаваны 1 пароль}one{На прыладу імпартаваны {NUM_PASSWORDS} пароль}few{На прыладу імпартаваны {NUM_PASSWORDS} паролі}many{На прыладу імпартавана {NUM_PASSWORDS} пароляў}other{На прыладу імпартаваны {NUM_PASSWORDS} пароля}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">ASCII з кадзіраваннем Base64, ланцужок сертыфікатаў</translation>
 <translation id="2652129567809778422">Выберыце пароль</translation>
@@ -2954,6 +2957,7 @@
 <translation id="3789841737615482174">Усталяваць</translation>
 <translation id="3790417903123637354">Нешта пайшло не так. Паўтарыце спробу пазней</translation>
 <translation id="379082410132524484">Тэрмін дзеяння карткі скончыўся</translation>
+<translation id="3792973596468118484">Пашырэнняў: <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome не знайшоў шкоднага праграмнага забеспячэння на вашым камп'ютары • Праверка праводзілася дзень таму}one{Chrome не знайшоў шкоднага праграмнага забеспячэння на вашым камп'ютары • Праверка праводзілася {NUM_DAYS} дзень таму}few{Chrome не знайшоў шкоднага праграмнага забеспячэння на вашым камп'ютары • Праверка праводзілася {NUM_DAYS} дні таму}many{Chrome не знайшоў шкоднага праграмнага забеспячэння на вашым камп'ютары • Праверка праводзілася {NUM_DAYS} дзён таму}other{Chrome не знайшоў шкоднага праграмнага забеспячэння на вашым камп'ютары • Праверка праводзілася {NUM_DAYS} дня таму}}</translation>
 <translation id="379500251094592809">Каб выкарыстаць функцыю "Абагульванне паблізу", упэўніцеся, што абедзве прылады разблакіраваны, знаходзяцца адна пры адной і на іх уключаны Bluetooth. Пры абагульванні з Chromebook, якога няма ў вашых кантактах, упэўніцеся, што на ім уключана бачнасць для функцыі "Абагульванне паблізу" (адкрыйце панэль стану, націснуўшы на гадзіннік, а затым уключыце бачнасць з дапамогай кнопкі "Бачнасць паблізу"). <ph name="LINK_BEGIN" />Даведацца больш<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Выключана</translation>
@@ -4267,6 +4271,7 @@
 <translation id="5074761966806028321">Каб завяршыць наладжванне, неабходна даць дазвол</translation>
 <translation id="5075563999073408211">Кіруйце прыладай з дапамогай аднаго ці некалькіх пераключальнікаў. Пераключальнікамі могуць быць клавішы клавіятуры, кнопкі геймпада або спецыялізаваных прылад.</translation>
 <translation id="5075910247684008552">На бяспечных сайтах пры стандартных наладах небяспечнае змесціва блакіруецца</translation>
+<translation id="5078490485380754244">Скасаванне сувязі з прыладай</translation>
 <translation id="5078638979202084724">Дадаць у закладкі ўсе ўкладкі</translation>
 <translation id="5078796286268621944">Няправільны PIN-код</translation>
 <translation id="5079010647467150187">Дадаць убудаваную сетку VPN...</translation>
@@ -4739,6 +4744,7 @@
 <translation id="5542750926112347543">Файлы cookie з дамена <ph name="DOMAIN" /> блакіруюцца</translation>
 <translation id="5542949973455282971">Ідзе падключэнне да аператара <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Ідзе праверка стану...</translation>
+<translation id="5544482392629385159">Прылада <ph name="DEVICE_INDEX" /> з <ph name="DEVICE_COUNT" />, "<ph name="DEVICE_NAME" />"</translation>
 <translation id="554517701842997186">Cродак візуалізацыі</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Дадаць укладку ў групу}one{Дадаць укладкі ў групу}few{Дадаць укладкі ў групу}many{Дадаць укладкі ў групу}other{Дадаць укладкі ў групу}}</translation>
 <translation id="5545693483061321551">Сайты не могуць выкарыстоўваць файлы cookie для адсочвання вашых дзеянняў у браўзеры на розных сайтах, напрыклад, каб персаналізаваць рэкламу. На некаторых сайтах можа не працаваць частка функцый.</translation>
@@ -5540,6 +5546,7 @@
 <translation id="6333170995003625229">Адрас электроннай пошты або пароль спраўдзіць не ўдалося. Увайдзіце яшчэ раз.</translation>
 <translation id="6335920438823100346">Для запуску Linux <ph name="MANAGER" /> патрабуе ад вас стварыць рэзервовую копію даных і скінуць налады Chromebook да заводскіх значэнняў.</translation>
 <translation id="6336038146639916978">Сайт <ph name="MANAGER" /> выключыў адладку ADB. Гэта прывядзе да скіду прылады <ph name="DEVICE_TYPE" /> праз 24 гадзіны. Зрабіце рэзервовыя копіі ўсіх файлаў, якія трэба захаваць.</translation>
+<translation id="6338402296920404442">Рэкамендуем выдаліць файл "<ph name="FILENAME" />", каб іншыя карыстальнікі прылады не змаглі пабачыць вашы паролі.</translation>
 <translation id="6338981933082930623">Усе сайты могуць паказваць любую рэкламу</translation>
 <translation id="6339668969738228384">Стварыць новы профіль для карыстальніка <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Пратакол друку праз інтэрнэт (IPPS)</translation>
@@ -6435,7 +6442,6 @@
 <translation id="7212097698621322584">Каб змяніць бягучы PIN-код, увядзіце яго. Калі вы не ведаеце PIN-код, вам трэба будзе скінуць ключ бяспекі, а затым стварыць новы PIN-код.</translation>
 <translation id="7213903639823314449">Пошукавая сістэма, якая выкарыстоўваецца ў адрасным радку</translation>
 <translation id="721490496276866468">Імпартаваць паролі</translation>
-<translation id="7216595297012131718">Упарадкуйце мовы, як вам трэба</translation>
 <translation id="7219473482981809164">Мы знайшлі некалькі профіляў, якія можна спампаваць. Перш чым працягнуць, выберыце, якія профілі спампоўваць.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Няма ненадзейных пароляў}=1{1 ненадзейны пароль}one{{NUM_WEAK} ненадзейны пароль}few{{NUM_WEAK} ненадзейныя паролі}many{{NUM_WEAK} ненадзейных пароляў}other{{NUM_WEAK} ненадзейнага пароля}}</translation>
 <translation id="7220019174139618249">Не ўдалося экспартаваць паролі ў папку "<ph name="FOLDER" />"</translation>
@@ -7617,6 +7623,7 @@
 <translation id="8338952601723052325">Вэб-сайт распрацоўшчыка</translation>
 <translation id="8339059274628563283">Захаваныя лакальна даныя сайта <ph name="SITE" /></translation>
 <translation id="833986336429795709">Каб адкрыць гэту спасылку, выберыце праграму</translation>
+<translation id="8340547030807793004">Іншыя дзеянні з прыладай "<ph name="DEVICE" />"</translation>
 <translation id="8342221978608739536">Не давялося праверыць</translation>
 <translation id="8342861492835240085">Выберыце калекцыю</translation>
 <translation id="8345848587667658367">Цяпер вы можаце праглядаць нядаўнія апавяшчэнні, медыяфайлы, фота і праграмы з тэлефона</translation>
diff --git a/chrome/app/resources/generated_resources_bg.xtb b/chrome/app/resources/generated_resources_bg.xtb
index e80da94..e344b502 100644
--- a/chrome/app/resources/generated_resources_bg.xtb
+++ b/chrome/app/resources/generated_resources_bg.xtb
@@ -1077,6 +1077,7 @@
 <translation id="1997616988432401742">Вашите сертификати</translation>
 <translation id="1999115740519098545">При стартиране</translation>
 <translation id="2000419248597011803">Изпраща някои „бисквитки“ и заявките за търсене от адресната лента и полето за търсене до стандартната ви търсеща машина</translation>
+<translation id="2001148512690747464">В(ъв) <ph name="PRIMARY_EMAIL" /> няма запазени устройства за функцията за бързо сдвояване</translation>
 <translation id="2002109485265116295">В реално време</translation>
 <translation id="2003130567827682533">За да активирате данните от „<ph name="NAME" />“, първо се свържете с Wi-Fi мрежа</translation>
 <translation id="2004697686368036666">Функциите в някои сайтове може да не работят</translation>
@@ -1341,6 +1342,7 @@
 <translation id="2241053333139545397">Четене и промяна на данните ви в няколко уебсайта.</translation>
 <translation id="2241634353105152135">Само веднъж</translation>
 <translation id="2242687258748107519">Информация за файла</translation>
+<translation id="2245296100676446525">Включете синхронизирането, за да получите своите отметки, пароли, история и др. на това устройство и навсякъде другаде, където синхронизирате.</translation>
 <translation id="2245603955208828424">Използвайте клавишите със стрелки, за да се придвижвате в елементите буква по буква</translation>
 <translation id="2246129643805925002">Устройството ви <ph name="DEVICE_TYPE" /> се актуализира автоматично на заден план, за да получавате най-новите функции и подобрения в сигурността. Можете да прегледате предпочитанията за актуализациите в настройките.</translation>
 <translation id="2246549592927364792">Да се изтеглят ли от Google описания за изображенията?</translation>
@@ -1785,6 +1787,7 @@
 <translation id="2642111877055905627">Футболна топка</translation>
 <translation id="2643698698624765890">Управлявайте разширенията си, като кликнете върху „Разширения“ в менюто „Прозорец“.</translation>
 <translation id="2645047101481282803">Устройството ви се управлява от <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 парола бе импортирана на това устройство}other{{NUM_PASSWORDS} пароли бяха импортирани на това устройство}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">ASCII с кодиране Base64, верига сертификати</translation>
 <translation id="2652129567809778422">Изберете парола</translation>
@@ -2962,6 +2965,7 @@
 <translation id="3789841737615482174">Инсталиране</translation>
 <translation id="3790417903123637354">Нещо се обърка. Опитайте отново по-късно</translation>
 <translation id="379082410132524484">Картата ви е изтекла</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> разширения</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome не откри опасен софтуер на компютъра ви • Последна проверка: преди 1 ден}other{Chrome не откри опасен софтуер на компютъра ви • Последна проверка: преди {NUM_DAYS} дни}}</translation>
 <translation id="379500251094592809">За да използвате „Споделяне наблизо“, двете устройства трябва да са отключени и да са близо едно до друго, както и функцията за Bluetooth да е включена. Ако споделяте с устройство Chromebook, което не е в контактите ви, не забравяйте да включите „Видимост наблизо“ (отворете лентата за състоянието, като изберете часа, и след това включете „Видимост наблизо“). <ph name="LINK_BEGIN" />Научете повече<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Изключено</translation>
@@ -4750,6 +4754,7 @@
 <translation id="5542750926112347543">„Бисквитките“ от <ph name="DOMAIN" /> са блокирани</translation>
 <translation id="5542949973455282971">Установява се връзка с(ъс) <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Извършва се проверка за състоянието...</translation>
+<translation id="5544482392629385159">Устройство <ph name="DEVICE_INDEX" /> от <ph name="DEVICE_COUNT" /> – <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Процес за рендериране</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Добавяне на раздела към група}other{Добавяне на разделите към група}}</translation>
 <translation id="5545693483061321551">Сайтовете не могат да използват „бисквитките“ ви, за да следят активността ви при сърфиране в различни сайтове, например за да персонализират реклами. Функциите в някои сайтове може да не работят.</translation>
@@ -5552,6 +5557,7 @@
 <translation id="6333170995003625229">Имейл адресът или паролата ви не бяха потвърдени. Опитайте да влезете отново.</translation>
 <translation id="6335920438823100346">За да стартирате Linux, <ph name="MANAGER" /> изисква да създадете резервно копие на данните си и да възстановите фабричните настройки на този Chromebook.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> деактивира отстраняването на грешки през ADB. Това действие ще нулира устройството ви <ph name="DEVICE_TYPE" /> след 24 часа. Създайте резервно копие на файловете, които искате да запазите.</translation>
+<translation id="6338402296920404442">Добре е да изтриете „<ph name="FILENAME" />“, така че другите хора, които използват това устройство, да не могат да видят паролите ви.</translation>
 <translation id="6338981933082930623">Всички сайтове могат да ви показват всякакви реклами</translation>
 <translation id="6339668969738228384">Създаване на нов потребителски профил за <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6441,7 +6447,6 @@
 <translation id="7212097698621322584">Въведете текущия си ПИН код, за да го промените. Ако не го знаете, трябва да нулирате ключа за сигурност, след което да създадете нов ПИН код.</translation>
 <translation id="7213903639823314449">Търсеща машина, използвана в адресната лента</translation>
 <translation id="721490496276866468">Импортиране на пароли</translation>
-<translation id="7216595297012131718">Подредете езиците според предпочитанието си</translation>
 <translation id="7219473482981809164">Открихме няколко профила, които могат да бъдат изтеглени. Преди да продължите, изберете кои да бъдат изтеглени.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Няма ненадеждни пароли}=1{1 ненадеждна парола}other{{NUM_WEAK} ненадеждни пароли}}</translation>
 <translation id="7220019174139618249">Паролите не могат да бъдат експортирани в папката „<ph name="FOLDER" />“</translation>
@@ -7625,6 +7630,7 @@
 <translation id="8338952601723052325">Уебсайт за програмисти</translation>
 <translation id="8339059274628563283">Локално съхранявани данни от <ph name="SITE" /></translation>
 <translation id="833986336429795709">За да отворите тази връзка, изберете приложение</translation>
+<translation id="8340547030807793004">Още действия за „<ph name="DEVICE" />“</translation>
 <translation id="8342221978608739536">Не опитах</translation>
 <translation id="8342861492835240085">Избиране на колекция</translation>
 <translation id="8345848587667658367">Вече можете да преглеждате скорошните снимки, мултимедийни файлове, известия и приложения, които имате на телефона си</translation>
diff --git a/chrome/app/resources/generated_resources_bn.xtb b/chrome/app/resources/generated_resources_bn.xtb
index 2c523bc1..69ad722d 100644
--- a/chrome/app/resources/generated_resources_bn.xtb
+++ b/chrome/app/resources/generated_resources_bn.xtb
@@ -1082,6 +1082,7 @@
 <translation id="1997616988432401742">আপনার সংশাপত্রসমূহ</translation>
 <translation id="1999115740519098545">প্রারম্ভে</translation>
 <translation id="2000419248597011803">অ্যাড্রেস বার এবং সার্চ বক্স থেকে সার্চের তথ্য এবং কিছু কুকি আপনার ডিফল্ট সার্চ ইঞ্জিনে পাঠায়</translation>
+<translation id="2001148512690747464"><ph name="PRIMARY_EMAIL" />-এ কোনও 'দ্রুত পেয়ার' ডিভাইস সেভ করা নেই</translation>
 <translation id="2002109485265116295">রিয়েল-টাইম</translation>
 <translation id="2003130567827682533">'<ph name="NAME" />' ডেটা চালু করতে, প্রথমে একটি নেটওয়ার্কে কানেক্ট করুন</translation>
 <translation id="2004697686368036666">কিছু সাইটের ফিচার কাজ নাও করতে পারে</translation>
@@ -1346,6 +1347,7 @@
 <translation id="2241053333139545397">কয়েকটি ওয়েবসাইটে আপনার ডেটা পড়ুন এবং পরিবর্তন করুন</translation>
 <translation id="2241634353105152135">শুধুমাত্র একবার</translation>
 <translation id="2242687258748107519">ফাইল তথ্য</translation>
+<translation id="2245296100676446525">এই ডিভাইসে এবং অন্য যেকোনও জায়গায় আপনার বুকমার্ক, পাসওয়ার্ড, ইতিহাস এবং আরও অনেক কিছু পেতে সিঙ্ক চালু করুন।</translation>
 <translation id="2245603955208828424">কোনও আইটেমের মধ্যে একটি অক্ষর থেকে আরেকটি অক্ষরে যেতে তীরচিহ্ন কী ব্যবহার করুন</translation>
 <translation id="2246129643805925002">আপনাকে লেটেস্ট ফিচার এবং নিরাপত্তার উন্নতি প্রদানের জন্য ব্যাকগ্রাউন্ডে অটোমেটিক আপনার <ph name="DEVICE_TYPE" /> আপডেট হয়। আপনি সেটিংস থেকে আপডেট সংক্রান্ত পছন্দ রিভিউ করতে পারবেন।</translation>
 <translation id="2246549592927364792">Google থেকে ছবির বিবরণ পেতে চান?</translation>
@@ -1790,6 +1792,7 @@
 <translation id="2642111877055905627">ফুটবল</translation>
 <translation id="2643698698624765890">উইন্ডো মেনুতে এক্সটেনশান ক্লিক করে আপনার এক্সটেনশানগুলি পরিচালনা করুন৷</translation>
 <translation id="2645047101481282803">আপনার ডিভাইস <ph name="PROFILE_NAME" /> ম্যানেজ করে</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{এই ডিভাইসে ১টি পাসওয়ার্ড ইমপোর্ট করা হয়েছে}one{এই ডিভাইসে {NUM_PASSWORDS}টি পাসওয়ার্ড ইমপোর্ট করা হয়েছে}other{এই ডিভাইসে {NUM_PASSWORDS}টি পাসওয়ার্ড ইমপোর্ট করা হয়েছে}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-এনকোড হওয়া ASCII, সার্টিফিকেটের শৃঙ্খলা</translation>
 <translation id="2652129567809778422">পাসওয়ার্ড বেছে নিন</translation>
@@ -2206,6 +2209,7 @@
 <translation id="3021065318976393105">ব্যাটারি ব্যবহার করার সময়ে</translation>
 <translation id="3021066826692793094">প্রজাপতি</translation>
 <translation id="3021678814754966447">ফ্রেম উৎস &amp;দেখুন</translation>
+<translation id="3022361196600037287">Chromebook থেকে <ph name="DEVICE" /> সরিয়ে দেওয়া হবে এবং <ph name="PRIMARY_EMAIL" />-এ সেভ করা হবে না।</translation>
 <translation id="3022978424994383087">বুঝতে পারিনি।</translation>
 <translation id="3023464535986383522">বাছুন ও শুনুন</translation>
 <translation id="3024374909719388945">24-ঘন্টার ঘড়ি ব্যবহার করুন</translation>
@@ -2967,6 +2971,7 @@
 <translation id="3789841737615482174">ইনস্টল করুন</translation>
 <translation id="3790417903123637354">কোনও সমস্যা হয়েছে। পরে আবার চেষ্টা করুন</translation>
 <translation id="379082410132524484">আপনার কার্ডের মেয়াদ শেষ হয়ে গেছে</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" />টি এক্সটেনশন</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome আপনার কম্পিউটারে কোনও ক্ষতিকারক সফ্টওয়্যার খুঁজে পায়নি • ১ দিন আগে চেক করা হয়েছে}one{Chrome আপনার কম্পিউটারে কোনও ক্ষতিকারক সফ্টওয়্যার খুঁজে পায়নি • {NUM_DAYS} দিন আগে চেক করা হয়েছে}other{Chrome আপনার কম্পিউটারে কোনও ক্ষতিকারক সফ্টওয়্যার খুঁজে পায়নি • {NUM_DAYS} দিন আগে চেক করা হয়েছে}}</translation>
 <translation id="379500251094592809">'নিয়ারবাই শেয়ার' ফিচার ব্যবহার করার জন্য, এটি ভাল করে দেখে নিন যেন উভয় ডিভাইস আনলক অবস্থায় ও পরস্পরের কাছাকাছি থাকে, তার সাথে যেন ব্লুটুথও চালু করা থাকে। আপনার পরিচিতি তালিকায় নেই এমন কোনও Chromebook-এর সাথে আপনি শেয়ার করলে, ভাল করে দেখে নিন যেন সেই ডিভাইসে 'নিয়ারবাই শেয়ার'-এর ডিভাইস দৃশ্যমানতার সুবিধা চালু করা থাকে (সময় বেছে নিয়ে 'স্ট্যাটাস এরিয়া' বিকল্প খুলুন, তারপরে 'নিয়ারবাই শেয়ার'-এর ডিভাইস দৃশ্যমানতার সুবিধা চালু করুন) <ph name="LINK_BEGIN" />আরও জানুন<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">বন্ধ করা আছে</translation>
@@ -3744,6 +3749,7 @@
 <translation id="4535127706710932914">ডিফল্ট প্রোফাইল</translation>
 <translation id="4535767533210902251">আপনার কীবোর্ডের সবচেয়ে উপরে ডানদিকের বোতামটি হল আঙ্গুলের ছাপের সেন্সর। যেকোনও আঙ্গুল দিয়ে সেটি আলতো করে টাচ করুন।</translation>
 <translation id="4536140153723794651">এমন সাইট যা সবসময় কুকি ব্যবহার করে</translation>
+<translation id="4536769240747010177">টেথারিংয়ের কার্যক্ষমতা:</translation>
 <translation id="4538417792467843292">শব্দ মুছুন </translation>
 <translation id="4538792345715658285">এন্টারপ্রাইজ নীতি দ্বারা ইনস্টল করা হয়েছে৷</translation>
 <translation id="4541123282641193691">আপনার অ্যাকাউন্ট যাচাই করা যায়নি। আবার চেষ্টা করুন অথবা Chromebook রিস্টার্ট করুন।</translation>
@@ -3771,6 +3777,7 @@
 <translation id="4561893854334016293">সম্প্রতি কোনও অনুমতি পরিবর্তন হয়নি</translation>
 <translation id="4562155214028662640">আঙ্গুলের ছাপ যোগ করুন</translation>
 <translation id="4563210852471260509">প্রাথমিক ইনপুট  ভাষা  চীনা</translation>
+<translation id="4563382028841851106">অ্যাকাউন্ট থেকে সরিয়ে দিন</translation>
 <translation id="4563880231729913339">আঙ্গুল ৩</translation>
 <translation id="4564245002465020751">ফোনে সেট-আপ করার প্রক্রিয়া শেষ করুন</translation>
 <translation id="4565377596337484307">পাসওয়ার্ড লুকান</translation>
@@ -4755,6 +4762,7 @@
 <translation id="5542750926112347543"><ph name="DOMAIN" /> এর থেকে কুকিজ ব্লক করা হয়েছে</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" /> নেটওয়ার্কে কানেক্ট করা হচ্ছে</translation>
 <translation id="5543983818738093899">স্থিতি চেক করা হচ্ছে...</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_COUNT" />টির মধ্যে <ph name="DEVICE_INDEX" /> নম্বর ডিভাইস, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">রেন্ডারার</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{গ্রুপে ট্যাব যোগ করুন}one{গ্রুপে ট্যাব যোগ করুন}other{গ্রুপে ট্যাব যোগ করুন}}</translation>
 <translation id="5545693483061321551">বিভিন্ন ওয়েবসাইট জুড়ে বিজ্ঞাপন পছন্দ অনুযায়ী দেখানোর মতো ব্রাউজিং অ্যাক্টিভিটি দেখার জন্য সাইট কুকি ব্যবহার করতে পারে না। কিছু সাইটের ফিচার কাজ নাও করতে পারে।</translation>
@@ -5558,6 +5566,7 @@
 <translation id="6333170995003625229">আপনার ইমেল আইডি বা পাসওয়ার্ড যাচাই করা যায়নি। আবার সাইন-ইন করে দেখুন।</translation>
 <translation id="6335920438823100346">Linux চালু করার আগে, <ph name="MANAGER" /> আপনাকে ডেটা ব্যাকআপ নিতে ও এই Chromebook ফ্যাক্টরি সেটিংসে রিসেট করতে বলছে।</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> ADB ডিবাগিং বন্ধ করে দিয়েছে। এটি করলে ২৪ ঘণ্টায় আপনার <ph name="DEVICE_TYPE" /> রিসেট হয়ে যাবে। কোনও ফাইল রাখতে চাইলে, সেটির ব্যাক-আপ নিন।</translation>
+<translation id="6338402296920404442"><ph name="FILENAME" /> মুছে ফেলার বিষয়টি বিবেচনা করুন, যাতে এই ডিভাইসটি ব্যবহার করে অন্যরা আপনার পাসওয়ার্ড দেখতে না পারে।</translation>
 <translation id="6338981933082930623">সব সাইটই আপনাকে যেকোনও ধরনের বিজ্ঞাপন দেখাতে পারে</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" /> এর জন্য একটি নতুন প্রোফাইল তৈরি করুন</translation>
 <translation id="6340071272923955280">ইন্টারনেট প্রিন্ট প্রোটোকল (IPPS)</translation>
@@ -6191,6 +6200,10 @@
 <translation id="6943939122536910181"><ph name="DEVICE" /> থেকে ডিসকানেক্ট করা আছে</translation>
 <translation id="6945221475159498467">নির্বাচন</translation>
 <translation id="694592694773692225">এই পৃষ্ঠাতে ব্লক রিডাইরেক্ট করুন।</translation>
+<translation id="6947015141909171112">রেসিপির জন্য আপনার সাম্প্রতিক সার্চ অ্যাক্টিভিটির উপর ভিত্তি করে রেসিপি দেখছেন।
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        আপনি কার্ড মেনু থেকে সেটিংস ম্যানেজ করতে বা কাস্টমাইজ Chrome থেকে আরও বিকল্প দেখতে পারবেন।</translation>
 <translation id="6949434160682548041">পাসওয়ার্ড (ঐচ্ছিক)</translation>
 <translation id="6950627417367801484">অ্যাপ রিস্টোর করুন</translation>
 <translation id="6952242901357037157">তাছাড়া আপনি এখানে নিজের <ph name="BEGIN_LINK" />Google অ্যাকাউন্ট<ph name="END_LINK" /> থেকে পাসওয়ার্ড স্টোর করে রাখতে পারেন</translation>
@@ -6449,7 +6462,6 @@
 <translation id="7212097698621322584">পরিবর্তন করার জন্য আপনি পিন লিখুন। আপনি যদি পিন না জানেন তাহলে আপনাকে নিরাপত্তা কী রিসেট করতে হবে, তারপর নতুন পিন তৈরি করুন।</translation>
 <translation id="7213903639823314449">অ্যাড্রেস বারে যে সার্চ ইঞ্জিন ব্যবহার করা হয়েছে</translation>
 <translation id="721490496276866468">পাসওয়ার্ড ইমপোর্ট করুন</translation>
-<translation id="7216595297012131718">আপনার পছন্দের উপর ভিত্তি করে ভাষাগুলি সাজান</translation>
 <translation id="7219473482981809164">ডাউনলোড করার জন্য আমরা উপলভ্য একাধিক প্রোফাইল খুঁজে পেয়েছি। এগিয়ে যাওয়ার আগে, আপনি যেগুলি ডাউনলোড করতে চান সেগুলি বেছে নিন।</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{কোনও দুর্বল পাসওয়ার্ড নেই}=1{১টি দুর্বল পাসওয়ার্ড}one{{NUM_WEAK}টি দুর্বল পাসওয়ার্ড}other{{NUM_WEAK}টি দুর্বল পাসওয়ার্ড}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" এ পাসওয়ার্ড এক্সপোর্ট করাযাবে না</translation>
@@ -6985,6 +6997,7 @@
 <translation id="7737115349420013392">"<ph name="DEVICE_NAME" />"-এর সাথে পেয়ার করা হয়েছে ...</translation>
 <translation id="7737846262459425222">আপনি যেকোনও সময় 'সেটিংস' &gt; 'Google Assistant' &gt; 'স্ক্রিনের তথ্য' বিকল্প থেকে এটি পরিবর্তন করতে পারবেন।</translation>
 <translation id="7737948071472253612">আপনার ক্যামেরা ব্যবহার করার অনুমতি দেওয়া হয়নি</translation>
+<translation id="77381465218432215">অ্যাকসেন্ট চিহ্ন ও বিশেষ অক্ষর দেখুন</translation>
 <translation id="7740996059027112821">মানক</translation>
 <translation id="7741307896921365578">আপনার পড়ার তালিকা এবং বুকমার্ক অ্যাক্সেস করার উপযোগী এবং সবসময় উপলভ্য ও ব্যবহার করা যাবে এমন একটি উপায়ের জন্য ব্রাউজার-লেভেলের সাইড প্যানেল চালু করুন।</translation>
 <translation id="7742558784808143689"><ph name="SITE_NAME" />, এটির অধীনে সব সাইট ও ইনস্টল করা অ্যাপের জন্য সাইট ডেটা এবং অনুমতি মুছে দিতে চান?</translation>
@@ -7632,6 +7645,7 @@
 <translation id="8338952601723052325">ডেভেলপার ওয়েবসাইট</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> স্থানীয়ভাবে ডেটা সংরক্ষণ করেছে</translation>
 <translation id="833986336429795709">এই লিঙ্কটি খুলতে, একটি অ্যাপ বেছে নিন</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" />-এর জন্য আরও অ্যাকশন</translation>
 <translation id="8342221978608739536">ব্যবহার করিনি</translation>
 <translation id="8342861492835240085">একটি সংগ্রহ বেছে নিন</translation>
 <translation id="8345848587667658367">আপনি এখন আপনার ফোনের সাম্প্রতিক ফটো, মিডিয়া, বিজ্ঞপ্তি এবং অ্যাপ দেখতে পারেন</translation>
@@ -7773,6 +7787,7 @@
 <translation id="8486666913807228950">কারণ: "জোর করে খোলা" সংক্রান্ত তালিকায় বিপরীত নিয়ম <ph name="REVERT_RULE" /> পাওয়া গেছে।</translation>
 <translation id="848666842773560761">একটি অ্যাপ ক্যামেরা অ্যাক্সেস করার চেষ্টা করছে। অ্যাক্সেস করার অনুমতি দিতে, ক্যামেরার প্রাইভেসি সুইচ বন্ধ করে দিন।</translation>
 <translation id="8487678622945914333">জুম বাড়ান</translation>
+<translation id="8487699605742506766">হটস্পট</translation>
 <translation id="8489156414266187072">ব্যক্তিগত সাজেশন কেবলমাত্র আপনার অ্যাকাউন্টেই দেখানো হয়</translation>
 <translation id="8490896350101740396">নিম্নলিখিত কিয়স্ক অ্যাপগুলি "<ph name="UPDATED_APPS" />" আপডেট হয়েছে৷ আপডেট প্রসেস সম্পূর্ণ করতে অনুগ্রহ করে ডিভাইসটি রিবুট করুন৷</translation>
 <translation id="8492685019009920170">আঙুলের ছাপের সেন্সরটিকে আপনার আঙুল দিয়ে টাচ করুন। আপনার আঙুলের ছাপ সংক্রান্ত ডেটা সুরক্ষিতভাবে স্টোর করে রাখা হয় এবং তা <ph name="DEVICE_TYPE" /> থেকে কখনও শেয়ার করা হয় না।</translation>
@@ -8267,6 +8282,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{"<ph name="TAB_TITLE" />"}=1{"<ph name="TAB_TITLE" />" এবং অন্য ১টি ট্যাব}one{"<ph name="TAB_TITLE" />" এবং অন্য #টি ট্যাব}other{"<ph name="TAB_TITLE" />" এবং অন্য #টি ট্যাব}}</translation>
 <translation id="8977811652087512276">ভুল পাসওয়ার্ড বা দূষিত ফাইল</translation>
 <translation id="8978154919215542464">চালু - সবকিছু সিঙ্ক করুন</translation>
+<translation id="8978670037548431647">টেথারিংয়ের কার্যক্ষমতা রিফ্রেশ করুন</translation>
 <translation id="897939795688207351"><ph name="ORIGIN" />-এ</translation>
 <translation id="8980345560318123814">মতামতের রিপোর্ট</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ক্র্যাশ করেছে</translation>
@@ -8531,6 +8547,7 @@
 <translation id="935854577147268200">ফোনে Smart Lock ডেটা পরিবর্তিত হয়েছে। Smart Lock আপডেট করতে আপনার পাসওয়ার্ড লিখুন। পরের বার, আপনার ফোন <ph name="DEVICE_TYPE" /> আনলক করতে পারবে। সেটিংসে গিয়ে Smart Lock বন্ধ করতে পারেন।</translation>
 <translation id="936646668635477464">ক্যামেরা ও মাইক্রোফোন</translation>
 <translation id="936801553271523408">সিস্টেম ডায়াগনোস্টিক ডেটা</translation>
+<translation id="937053962468712792"><ph name="PRIMARY_EMAIL" /> থেকে <ph name="DEVICE" /> সরাবেন?</translation>
 <translation id="93766956588638423">এক্সটেনশন মেরামত করুন</translation>
 <translation id="938568644810664664">“Ok Google, এটি কোন গান?” অথবা “Ok Google, আমার স্ক্রিনে কী দেখাচ্ছে?” বলে দেখুন</translation>
 <translation id="938623846785894166">যে ফাইলটি বেশি ব্যবহার করা হয়না</translation>
diff --git a/chrome/app/resources/generated_resources_bs.xtb b/chrome/app/resources/generated_resources_bs.xtb
index efecfec..d3cad4b2 100644
--- a/chrome/app/resources/generated_resources_bs.xtb
+++ b/chrome/app/resources/generated_resources_bs.xtb
@@ -905,6 +905,7 @@
 <translation id="1829129547161959350">Pingvin</translation>
 <translation id="1829192082282182671">&amp;Umanji</translation>
 <translation id="1830550083491357902">Niste prijavljeni</translation>
+<translation id="1831848493690504725">Ne možemo stupiti u kontakt s Googleom putem povezane mreže. Pokušajte odabrati drugu mrežu ili provjerite postavke mreže ili proxy postavke (ako koristite proxy).</translation>
 <translation id="1832459821645506983">Pristajem</translation>
 <translation id="1832511806131704864">Promjena telefona je ažurirana</translation>
 <translation id="1832848789136765277">Potvrdite svoj identitet da uvijek možete pristupati sinhroniziranim podacima</translation>
@@ -1080,7 +1081,7 @@
 <translation id="1997616988432401742">Vaše potvrde</translation>
 <translation id="1999115740519098545">Prilikom pokretanja</translation>
 <translation id="2000419248597011803">Šalje neke kolačiće i pretraživanja s trake za adresu i iz okvira za pretraživanje vašem zadanom pretraživaču</translation>
-<translation id="2001148512690747464">Nijedan uređaj za brzo uparivanje nije spremljen na e-adresi <ph name="PRIMARY_EMAIL" /></translation>
+<translation id="2001148512690747464">Nema uređaja za brzo uparivanje sačuvanih u<ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">U stvarnom vremenu</translation>
 <translation id="2003130567827682533">Da aktivirate podatke na usluzi "<ph name="NAME" />", prvo se povežite na WiFi mrežu</translation>
 <translation id="2004697686368036666">Moguće je da funkcije neće raditi na nekim web lokacijama</translation>
@@ -1790,7 +1791,7 @@
 <translation id="2642111877055905627">Nogometna lopta</translation>
 <translation id="2643698698624765890">Upravljajte svojim ekstenzijama klikom na stavku Ekstenzije u meniju Prozor.</translation>
 <translation id="2645047101481282803">Vašim uređajem upravlja <ph name="PROFILE_NAME" /></translation>
-<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{Na ovaj je uređaj uvezena 1 zaporka}one{{NUM_PASSWORDS} zaporka uvezena je na ovaj uređaj}few{{NUM_PASSWORDS} zaporke uvezene su na ovaj uređaj}other{{NUM_PASSWORDS} zaporki uvezeno je na ovaj uređaj}}</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 lozinka uvezena na ovaj uređaj}one{{NUM_PASSWORDS} lozinka uvezena na ovaj uređaj}few{{NUM_PASSWORDS} lozinke uvezene na ovaj uređaj}other{{NUM_PASSWORDS} lozinki uvezenih na ovaj uređaj}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-šifriran ASCII, lanac potvrda</translation>
 <translation id="2652129567809778422">Odaberite lozinku</translation>
@@ -2968,7 +2969,7 @@
 <translation id="3789841737615482174">Instaliraj</translation>
 <translation id="3790417903123637354">Nešto nije uredu. Pokušajte ponovo kasnije</translation>
 <translation id="379082410132524484">Vaša kartica je istekla</translation>
-<translation id="3792973596468118484">Proširenja: <ph name="NUM_EXTENSIONS" /></translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> ekstenzija</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome nije pronašao štetni softver na vašem računaru • Provjereno prije 1 dan}one{Chrome nije pronašao štetni softver na vašem računaru • Provjereno prije {NUM_DAYS} dan}few{Chrome nije pronašao štetni softver na vašem računaru • Provjereno prije {NUM_DAYS} dana}other{Chrome nije pronašao štetni softver na vašem računaru • Provjereno prije {NUM_DAYS} dana}}</translation>
 <translation id="379500251094592809">Da koristite Dijeljenje u blizini, provjerite jesu li oba uređaja otključana, jedan blizu drugoga i je li na njima uključen Bluetooth. Ako dijelite s Chromebookom koji nije u vašim kontaktima, provjerite je li na njemu uključena Vidljivost u blizini (odaberite vrijeme da otvorite područje statusa, a zatim uključite Vidljivost u blizini) <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Isključeno</translation>
@@ -4750,13 +4751,14 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> želi</translation>
 <translation id="5534304873398226603">Odbaci fotografiju ili video</translation>
 <translation id="5537725057119320332">Emitiraj</translation>
+<translation id="5539070192556911367">Google nije dostupan</translation>
 <translation id="5539221284352502426">Server je odbio lozinku koju ste unijeli. Mogući razlozi su: Lozinka je prekratka. Lozinka mora uključivati brojeve ili simbole. Lozinka se mora razlikovati od prethodnih lozinki.</translation>
 <translation id="5541694225089836610">Radnju je onemogućio vaš administrator</translation>
 <translation id="5542132724887566711">Profil</translation>
 <translation id="5542750926112347543">Blokirani su kolačići s domene <ph name="DOMAIN" /></translation>
 <translation id="5542949973455282971">Povezivanje s operaterom <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Provjera statusa...</translation>
-<translation id="5544482392629385159"><ph name="DEVICE_INDEX" />. uređaj od <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
+<translation id="5544482392629385159">Uređaj <ph name="DEVICE_INDEX" /> <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderer</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Dodaj karticu u grupu}one{Dodaj kartice u grupu}few{Dodaj kartice u grupu}other{Dodaj kartice u grupu}}</translation>
 <translation id="5545693483061321551">Web lokacije ne mogu koristiti kolačiće da vide vašu aktivnost pregledanja na različitim web lokacijama, npr. radi personaliziranja oglasa. Moguće je da funkcije neće raditi na nekim web lokacijama.</translation>
@@ -4813,6 +4815,7 @@
 <translation id="5585912436068747822">Formatiranje nije uspjelo</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Učitavanje aplikacija...</translation>
+<translation id="5590418976913374224">Reprodukcija zvuka pri pokretanju uređaja</translation>
 <translation id="5592595402373377407">Još nije dostupno dovoljno podataka.</translation>
 <translation id="5595307023264033512">Ukupna pohrana koju koriste web lokacije: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Uredite adresu</translation>
@@ -5558,7 +5561,7 @@
 <translation id="6333170995003625229">Potvrđivanje adrese e-pošte ili lozinke nije uspjelo. Pokušajte se ponovo prijaviti.</translation>
 <translation id="6335920438823100346">Da pokrenete Linux, <ph name="MANAGER" /> zahtijeva da napravite sigurnosnu kopiju podataka i vratite ovaj Chromebook na fabričke postavke.</translation>
 <translation id="6336038146639916978">Domena <ph name="MANAGER" /> je onemogućila otklanjanje grešaka putem ADB-a. Ovim će se <ph name="DEVICE_TYPE" /> vratiti na zadano za 24 sata. Napravite kopiju svih fajlova koje želite sačuvati.</translation>
-<translation id="6338402296920404442">Razmislite o brisanju datoteke <ph name="FILENAME" /> kako osobe koje upotrebljavaju ovaj uređaj ne mogu vidjeti vaše zaporke.</translation>
+<translation id="6338402296920404442">Razmislite o brisanju <ph name="FILENAME" />, tako da drugi koji koriste ovaj uređaj ne mogu vidjeti vaše lozinke.</translation>
 <translation id="6338981933082930623">Sve web lokacije vam mogu prikazivati bilo koje oglase</translation>
 <translation id="6339668969738228384">Kreirajte novi profil za <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internetski protokol za štampanje (IPPP)</translation>
@@ -6361,6 +6364,7 @@
 <translation id="7102687220333134671">Automatska su ažuriranja uključena</translation>
 <translation id="7102832101143475489">Zahtjev je istekao.</translation>
 <translation id="710640343305609397">Otvori postavke mreže</translation>
+<translation id="7107609441453408294">Reprodukcija istog zvuka na svim zvučnicima</translation>
 <translation id="7108338896283013870">Sakrij</translation>
 <translation id="7108668606237948702">enter</translation>
 <translation id="7108933416628942903">Zaključaj odmah</translation>
@@ -6452,7 +6456,6 @@
 <translation id="7212097698621322584">Unesite sadašnji PIN da ga promijenite. Ako ne znate svoj PIN, moraćete poništiti sigurnosni ključ, a zatim kreirati novi PIN.</translation>
 <translation id="7213903639823314449">Pretraživač korišten u traci za adresu</translation>
 <translation id="721490496276866468">Uvoz lozinki</translation>
-<translation id="7216595297012131718">Poredajte jezike prema vlastitoj želji</translation>
 <translation id="7219473482981809164">Pronašli smo više profila koji su dostupni za preuzimanje. Odaberite one koje želite preuzeti prije nego što nastavite.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nema nijedne slabe lozinke}=1{1 slaba lozinka}one{{NUM_WEAK} slaba lozinka}few{{NUM_WEAK} slabe lozinke}other{{NUM_WEAK} slabih lozinki}}</translation>
 <translation id="7220019174139618249">Izvoz zaporki u mapu "<ph name="FOLDER" />" nije moguć</translation>
@@ -6592,6 +6595,7 @@
 <translation id="7364745943115323529">Emitiranje...</translation>
 <translation id="7364796246159120393">Odabir fajla</translation>
 <translation id="7365076891350562061">Veličina monitora</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> – prikvačeno</translation>
 <translation id="7366316827772164604">Traženje uređaja u blizini...</translation>
 <translation id="7366415735885268578">Dodajte web lokaciju</translation>
 <translation id="7366909168761621528">Podaci pregledanja</translation>
@@ -7636,7 +7640,7 @@
 <translation id="8338952601723052325">Web lokacija programera</translation>
 <translation id="8339059274628563283">Lokalno sačuvani podaci web lokacije <ph name="SITE" /></translation>
 <translation id="833986336429795709">Odaberite aplikaciju da otvorite ovaj link</translation>
-<translation id="8340547030807793004">Više radnji za uređaj <ph name="DEVICE" /></translation>
+<translation id="8340547030807793004">Više radnji za oznaku <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Nisam probao/la</translation>
 <translation id="8342861492835240085">Odaberite kolekciju</translation>
 <translation id="8345848587667658367">Sada možete pregledati nedavne fotografije, medijski sadržaj, obavještenja i aplikacije telefona</translation>
diff --git a/chrome/app/resources/generated_resources_ca.xtb b/chrome/app/resources/generated_resources_ca.xtb
index ec1d941..17416e29 100644
--- a/chrome/app/resources/generated_resources_ca.xtb
+++ b/chrome/app/resources/generated_resources_ca.xtb
@@ -1069,6 +1069,7 @@
 <translation id="1997616988432401742">Els meus certificats</translation>
 <translation id="1999115740519098545">A l'inici</translation>
 <translation id="2000419248597011803">Envia al motor de cerca predeterminat algunes galetes i cerques de la barra d'adreces i del quadre de cerca</translation>
+<translation id="2001148512690747464">No s'ha desat cap dispositiu amb Vinculació ràpida a <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">En temps real</translation>
 <translation id="2003130567827682533">Per activar les dades del servei <ph name="NAME" />, primer connecta't a una xarxa Wi‑Fi</translation>
 <translation id="2004697686368036666">Pot ser que les funcions d'alguns llocs web no funcionin</translation>
@@ -1333,6 +1334,7 @@
 <translation id="2241053333139545397">Llegir i modificar les dades d'una sèrie de llocs web</translation>
 <translation id="2241634353105152135">Només una vegada</translation>
 <translation id="2242687258748107519">Informació del fitxer</translation>
+<translation id="2245296100676446525">Activa la sincronització per accedir a les teves adreces d'interès, contrasenyes, historial i altres opcions des d'aquest dispositiu i des de qualsevol lloc que estiguis sincronitzant.</translation>
 <translation id="2245603955208828424">Fes servir les tecles de fletxa a fi de moure't pels elements de lletra en lletra</translation>
 <translation id="2246129643805925002">El teu <ph name="DEVICE_TYPE" /> s'actualitza automàticament en segon pla per oferir-te les darreres funcions i millores de seguretat. Pots revisar les preferències d'actualització a Configuració.</translation>
 <translation id="2246549592927364792">Vols obtenir descripcions d'imatges de Google?</translation>
@@ -1774,6 +1776,7 @@
 <translation id="2642111877055905627">Pilota de futbol</translation>
 <translation id="2643698698624765890">Per gestionar les extensions, feu clic a Extensions al menú Finestra.</translation>
 <translation id="2645047101481282803"><ph name="PROFILE_NAME" /> gestiona el teu dispositiu</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{S'ha importat 1 contrasenya a aquest dispositiu}other{S'han importat {NUM_PASSWORDS} contrasenyes a aquest dispositiu}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">ASCII codificat en Base64, cadena de certificats</translation>
 <translation id="2652129567809778422">Selecciona una contrasenya</translation>
@@ -2951,6 +2954,7 @@
 <translation id="3789841737615482174">Instal·la</translation>
 <translation id="3790417903123637354">S'ha produït un error. Torna-ho a provar més tard.</translation>
 <translation id="379082410132524484">La targeta ha caducat</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> extensions</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome no ha trobat programari nociu a l'ordinador • Es va comprovar fa 1 dia}other{Chrome no ha trobat programari nociu a l'ordinador • Es va comprovar fa {NUM_DAYS} dies}}</translation>
 <translation id="379500251094592809">Per fer servir la funció Compartició Nearby, comprova que els dos dispositius estiguin desbloquejats, l'un a prop de l'altre i amb el Bluetooth activat. Si vols compartir fitxers amb un Chromebook que no és als teus contactes, comprova que tingui el mode Visibilitat Nearby activat (obre l'àrea d'estat seleccionant l'hora i, a continuació, activa Visibilitat Nearby). <ph name="LINK_BEGIN" />Més informació<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Desactivat</translation>
@@ -4737,6 +4741,7 @@
 <translation id="5542750926112347543">S'han bloquejat les galetes del domini <ph name="DOMAIN" /></translation>
 <translation id="5542949973455282971">S'està connectant amb <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">S'està comprovant l'estat...</translation>
+<translation id="5544482392629385159">Dispositiu <ph name="DEVICE_INDEX" /> de <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderitzador</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Afegeix una pestanya al grup}other{Afegeix pestanyes al grup}}</translation>
 <translation id="5545693483061321551">Els llocs web no poden fer servir les teves galetes per veure la teva activitat de navegació en diferents llocs web, per exemple, per personalitzar els anuncis. Pot ser que les funcions d'alguns llocs web no funcionin.</translation>
@@ -5536,6 +5541,7 @@
 <translation id="6333170995003625229">La teva adreça electrònica o la contrasenya no s'han pogut verificar. Torna a iniciar la sessió.</translation>
 <translation id="6335920438823100346">Per iniciar Linux, <ph name="MANAGER" /> requereix que creïs una còpia de seguretat de les teves dades i que restableixis la configuració de fàbrica d'aquest Chromebook.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> ha desactivat la depuració d'ADB. Aquesta acció restablirà el teu dispositiu <ph name="DEVICE_TYPE" /> en un termini de 24 hores. Fes una còpia de seguretat de tots els fitxers que vols conservar.</translation>
+<translation id="6338402296920404442">Et recomanem que suprimeixis <ph name="FILENAME" /> perquè els altres usuaris que utilitzen aquest dispositiu no puguin veure les teves contrasenyes.</translation>
 <translation id="6338981933082930623">Tots els llocs web et poden mostrar qualsevol anunci</translation>
 <translation id="6339668969738228384">Crea un perfil nou per a <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Protocol d'impressió per Internet (IPPS)</translation>
@@ -6425,7 +6431,6 @@
 <translation id="7212097698621322584">Introdueix el PIN actual per canviar-lo. Si no el saps, hauràs de restablir la clau de seguretat i, a continuació, crear un PIN nou.</translation>
 <translation id="7213903639823314449">Motor de cerca que s'utilitza a la barra d'adreces.</translation>
 <translation id="721490496276866468">Importa les contrasenyes</translation>
-<translation id="7216595297012131718">Ordena els idiomes segons les teves preferències</translation>
 <translation id="7219473482981809164">Hem trobat diversos perfils que es poden baixar. Selecciona els que vulguis baixar abans de continuar.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Cap contrasenya poc segura}=1{1 contrasenya poc segura}other{{NUM_WEAK} contrasenyes poc segures}}</translation>
 <translation id="7220019174139618249">No es poden exportar les contrasenyes a <ph name="FOLDER" /></translation>
@@ -7610,6 +7615,7 @@
 <translation id="8338952601723052325">Lloc web del desenvolupador</translation>
 <translation id="8339059274628563283">Dades emmagatzemades localment per <ph name="SITE" /></translation>
 <translation id="833986336429795709">Tria una aplicació per obrir aquest enllaç</translation>
+<translation id="8340547030807793004">Més accions per a <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">No ho he provat</translation>
 <translation id="8342861492835240085">Selecciona una col·lecció</translation>
 <translation id="8345848587667658367">Ara pots consultar les aplicacions, les notificacions, els fitxers multimèdia i les fotos recents del telèfon</translation>
diff --git a/chrome/app/resources/generated_resources_cs.xtb b/chrome/app/resources/generated_resources_cs.xtb
index 52d7c762..21e85d3 100644
--- a/chrome/app/resources/generated_resources_cs.xtb
+++ b/chrome/app/resources/generated_resources_cs.xtb
@@ -1071,6 +1071,7 @@
 <translation id="1997616988432401742">Vaše certifikáty</translation>
 <translation id="1999115740519098545">Při spuštění</translation>
 <translation id="2000419248597011803">Odesílá soubory cookie a vyhledávací dotazy z adresního řádku a vyhledávacího pole a několik souborů cookie vašemu výchozímu vyhledávači</translation>
+<translation id="2001148512690747464">Do účtu <ph name="PRIMARY_EMAIL" /> nejsou uložena žádná zařízení s rychlým párováním</translation>
 <translation id="2002109485265116295">V reálném čase</translation>
 <translation id="2003130567827682533">Chcete-li aktivovat data v síti <ph name="NAME" />, nejprve se připojte k síti Wi-Fi</translation>
 <translation id="2004697686368036666">Některé weby mohou přestat fungovat</translation>
@@ -1335,6 +1336,7 @@
 <translation id="2241053333139545397">Čtení a úprava dat na různých webech</translation>
 <translation id="2241634353105152135">Pouze jednou</translation>
 <translation id="2242687258748107519">Informace o souboru</translation>
+<translation id="2245296100676446525">Zapněte synchronizaci a mějte své záložky, hesla, historii a další údaje k dispozici v tomto zařízení a všude jinde, kde máte zapnutou synchronizaci.</translation>
 <translation id="2245603955208828424">Přesouvat se mezi položkami písmeno po písmenu pomocí kláves se šipkami</translation>
 <translation id="2246129643805925002">Zařízení <ph name="DEVICE_TYPE" /> se bude automaticky aktualizovat na pozadí, abyste měli k dispozici nejnovější funkce a vylepšení zabezpečení. Předvolby aktualizací můžete zkontrolovat v Nastavení.</translation>
 <translation id="2246549592927364792">Získávat popisy obrázků z Googlu?</translation>
@@ -1776,6 +1778,7 @@
 <translation id="2642111877055905627">Fotbalový míč</translation>
 <translation id="2643698698624765890">Chcete-li spravovat rozšíření, klikněte v nabídce Okno na příkaz Rozšíření.</translation>
 <translation id="2645047101481282803">Toto zařízení spravuje organizace <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{Do tohoto zařízení bylo importováno 1 heslo}few{Do tohoto zařízení byla importována {NUM_PASSWORDS} hesla}many{Do tohoto zařízení bylo importováno {NUM_PASSWORDS} hesla}other{Do tohoto zařízení bylo importováno {NUM_PASSWORDS} hesel}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Soubor ASCII kódovaný Base64, řetězec certifikátů</translation>
 <translation id="2652129567809778422">Vyberte heslo</translation>
@@ -2953,6 +2956,7 @@
 <translation id="3789841737615482174">Instalovat</translation>
 <translation id="3790417903123637354">Něco se pokazilo. Zkuste to znovu později</translation>
 <translation id="379082410132524484">Platnost vaší karty vypršela.</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> rozšíření</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome v počítači nenašel žádný škodlivý software • Zkontrolováno včera}few{Chrome v počítači nenašel žádný známý škodlivý software • Zkontrolováno před {NUM_DAYS} dny}many{Chrome v počítači nenašel žádný známý škodlivý software • Zkontrolováno před {NUM_DAYS} dne}other{Chrome v počítači nenašel žádný známý škodlivý software • Zkontrolováno před {NUM_DAYS} dny}}</translation>
 <translation id="379500251094592809">Pokud chcete používat sdílení nablízko, zkontrolujte, zda jsou obě zařízení odemknutá, zda jsou blízko sebe a zda mají zapnutý Bluetooth. Jestliže obsah sdílíte s Chromebookem, který nemáte v kontaktech, musí na něm být zapnutá viditelnost nablízko. (Výběrem času otevřete stavovou oblast a poté zapněte viditelnost nablízko.) <ph name="LINK_BEGIN" />Další informace<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Vypnuto</translation>
@@ -4738,6 +4742,7 @@
 <translation id="5542750926112347543">Soubory cookie z domény <ph name="DOMAIN" /> byly zablokovány</translation>
 <translation id="5542949973455282971">Připojování k síti operátora <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Kontrola stavu...</translation>
+<translation id="5544482392629385159">Zařízení <ph name="DEVICE_INDEX" /> z <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Vykreslovací proces</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Přidat kartu do skupiny}few{Přidat karty do skupiny}many{Přidat karty do skupiny}other{Přidat karty do skupiny}}</translation>
 <translation id="5545693483061321551">Weby nemohou pomocí souborů sledovat vaši aktivitu prohlížení na různých webech, například k personalizaci reklam. Některé weby mohou přestat fungovat.</translation>
@@ -5536,6 +5541,7 @@
 <translation id="6333170995003625229">Vaši e‑mailovou adresu nebo heslo se nepodařilo ověřit. Zkuste se přihlásit znovu.</translation>
 <translation id="6335920438823100346">Správce <ph name="MANAGER" /> vyžaduje, abyste před spuštěním Linuxu zálohovali data a resetovali tento Chromebook do továrního nastavení.</translation>
 <translation id="6336038146639916978">Web <ph name="MANAGER" /> deaktivoval ladění ADB. Zařízení <ph name="DEVICE_TYPE" /> bude do 24 hodin resetováno. Zálohujte soubory, které si chcete ponechat.</translation>
+<translation id="6338402296920404442">Zvažte smazání souboru <ph name="FILENAME" />, aby ostatní uživatelé tohoto zařízení neviděli vaše hesla.</translation>
 <translation id="6338981933082930623">Všechny weby mohou zobrazovat jakékoli reklamy</translation>
 <translation id="6339668969738228384">Vytvořit nový profil pro uživatele <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6429,7 +6435,6 @@
 <translation id="7212097698621322584">Chcete-li změnit PIN, zadejte aktuální PIN. Pokud svůj PIN neznáte, budete bezpečnostní klíč muset resetovat a poté vytvořit nový PIN.</translation>
 <translation id="7213903639823314449">Vyhledávač používaný v adresním řádku</translation>
 <translation id="721490496276866468">Importovat hesla</translation>
-<translation id="7216595297012131718">Další jazyky podle vašich požadavků</translation>
 <translation id="7219473482981809164">Našli jsme několik profilů ke stažení. Než budete pokračovat, vyberte, které chcete stáhnout.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Žádná slabá hesla}=1{1 slabé heslo}few{{NUM_WEAK} slabá hesla}many{{NUM_WEAK} slabého hesla}other{{NUM_WEAK} slabých hesel}}</translation>
 <translation id="7220019174139618249">Hesla nelze exportovat do složky „<ph name="FOLDER" />“</translation>
@@ -7612,6 +7617,7 @@
 <translation id="8338952601723052325">Webové stránky pro vývojáře</translation>
 <translation id="8339059274628563283">Data webu <ph name="SITE" /> v místním úložišti</translation>
 <translation id="833986336429795709">Chcete-li otevřít tento odkaz, vyberte aplikaci</translation>
+<translation id="8340547030807793004">Další akce: <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Nezkoušel(a) jsem to</translation>
 <translation id="8342861492835240085">Vyberte sbírku</translation>
 <translation id="8345848587667658367">Nyní můžete zobrazit nedávné fotky, média, oznámení a aplikace v telefonu</translation>
diff --git a/chrome/app/resources/generated_resources_cy.xtb b/chrome/app/resources/generated_resources_cy.xtb
index 364157b..8c9b208 100644
--- a/chrome/app/resources/generated_resources_cy.xtb
+++ b/chrome/app/resources/generated_resources_cy.xtb
@@ -1349,6 +1349,7 @@
 <translation id="2241053333139545397">Darllen a newid eich data ar nifer o wefannau</translation>
 <translation id="2241634353105152135">Unwaith yn unig</translation>
 <translation id="2242687258748107519">Gwybodaeth am y Ffeil</translation>
+<translation id="2245296100676446525">Trowch gysoni ymlaen i gael eich nodau tudalen, cyfrineiriau, hanes a rhagor ar y ddyfais hon ac unrhyw le arall rydych yn cysoni.</translation>
 <translation id="2245603955208828424">Defnyddiwch y bysellau saeth i symud drwy eitemau fesul llythyren</translation>
 <translation id="2246129643805925002">Mae eich <ph name="DEVICE_TYPE" /> yn diweddaru'n awtomatig yn y cefndir i roi'r nodweddion diweddaraf a gwelliannau diogelwch i chi. Gallwch adolygu dewisiadau diweddaru yn y Gosodiadau.</translation>
 <translation id="2246549592927364792">Cael disgrifiadau o luniau gan Google?</translation>
@@ -6459,7 +6460,6 @@
 <translation id="7212097698621322584">Rhowch eich PIN presennol i'w newid. Os nad ydych yn gwybod eich PIN, bydd angen i chi ailosod yr allwedd ddiogelwch a chreu PIN newydd.</translation>
 <translation id="7213903639823314449">Peiriant chwilio sy'n cael i ddefnyddio yn y bar cyfeiriadau</translation>
 <translation id="721490496276866468">Mewnforio cyfrineiriau</translation>
-<translation id="7216595297012131718">Trefnu ieithoedd yn ôl eich dewis</translation>
 <translation id="7219473482981809164">Rydym wedi dod o hyd i sawl proffil sydd ar gael i'w lawrlwytho. Dewiswch y rhai yr hoffech eu lawrlwytho cyn parhau.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nid oes unrhyw gyfrineiriau gwan}=1{Mae 1 cyfrinair gwan}two{Mae {NUM_WEAK} gyfrinair gwan}few{Mae {NUM_WEAK} chyfrinair gwan}many{Mae {NUM_WEAK} chyfrinair gwan}other{Mae {NUM_WEAK} cyfrinair gwan}}</translation>
 <translation id="7220019174139618249">Methu ag allforio cyfrineiriau i "<ph name="FOLDER" />"</translation>
diff --git a/chrome/app/resources/generated_resources_da.xtb b/chrome/app/resources/generated_resources_da.xtb
index 2bd41eb..b3949e7 100644
--- a/chrome/app/resources/generated_resources_da.xtb
+++ b/chrome/app/resources/generated_resources_da.xtb
@@ -1347,6 +1347,7 @@
 <translation id="2241053333139545397">Læse og redigere dine data på en række websites</translation>
 <translation id="2241634353105152135">Kun én gang</translation>
 <translation id="2242687258748107519">Filoplysninger</translation>
+<translation id="2245296100676446525">Aktivér synkronisering for at få dine bogmærker, dine adgangskoder, din historik m.m. på denne enhed og andre enheder, som synkroniseres.</translation>
 <translation id="2245603955208828424">Brug piletasterne til at gå fra element til element efter bogstav</translation>
 <translation id="2246129643805925002">Opdateringen af <ph name="DEVICE_TYPE" /> foregår automatisk i baggrunden for at give dig de nyeste funktioner og sikkerhedsforbedringer. Du kan se præferencer for opdateringer i Indstillinger.</translation>
 <translation id="2246549592927364792">Vil du hente billedbeskrivelser fra Google?</translation>
@@ -6451,7 +6452,6 @@
 <translation id="7212097698621322584">Angiv din aktuelle pinkode for at ændre den. Hvis du ikke kender din pinkode, skal du nulstille sikkerhedsnøglen og derefter oprette en ny pinkode.</translation>
 <translation id="7213903639823314449">Den søgemaskine, der bruges i adresselinjen</translation>
 <translation id="721490496276866468">Importér adgangskoder</translation>
-<translation id="7216595297012131718">Sortér sprog efter dine præferencer</translation>
 <translation id="7219473482981809164">Vi har fundet flere profiler, der kan downloades. Vælg dem, du vil downloade, før du fortsætter.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Ingen svage adgangskoder}=1{1 svag adgangskode}one{{NUM_WEAK} svag adgangskode}other{{NUM_WEAK} svage adgangskoder}}</translation>
 <translation id="7220019174139618249">Adgangskoderne kan ikke eksporteres til "<ph name="FOLDER" />"</translation>
diff --git a/chrome/app/resources/generated_resources_de.xtb b/chrome/app/resources/generated_resources_de.xtb
index 4aff03e..a06c460 100644
--- a/chrome/app/resources/generated_resources_de.xtb
+++ b/chrome/app/resources/generated_resources_de.xtb
@@ -3946,7 +3946,7 @@
 <translation id="474609389162964566">Mit „Hey Google“ auf Assistant zugreifen</translation>
 <translation id="4746351372139058112">Messages</translation>
 <translation id="4748783296226936791">Websites verbinden sich normalerweise für solche Funktionen mit HID-Geräten, für die ungewöhnliche Tastaturen, Gamecontroller und andere Geräte verwendet werden</translation>
-<translation id="4750185073185658673">Überprüfe weitere Berechtigungen auf deinem Smartphone. Kontrolliere, ob Bluetooth und WLAN auf dem Smartphone aktiviert sind.</translation>
+<translation id="4750185073185658673">Auf deinem Smartphone kannst du noch andere Berechtigungen prüfen. Kontrolliere außerdem, ob Bluetooth und WLAN auf dem Smartphone aktiviert sind.</translation>
 <translation id="4750394297954878236">Vorschläge</translation>
 <translation id="475088594373173692">Erster Nutzer</translation>
 <translation id="4756378406049221019">Stopp/Neu laden</translation>
@@ -4013,7 +4013,7 @@
 <translation id="4820236583224459650">Als aktives Ticket festlegen</translation>
 <translation id="4821935166599369261">&amp;Profilerstellung aktiviert</translation>
 <translation id="4823484602432206655">Nutzer- und Geräteeinstellungen lesen und ändern</translation>
-<translation id="4823894915586516138">Die PIN bzw. das Passwort trägt zum Schutz der Daten auf diesem Gerät (<ph name="DEVICE_TYPE" />) bei, einschließlich der Informationen, auf die du von deinem Smartphone aus zugreifst</translation>
+<translation id="4823894915586516138">Die PIN bzw. das Passwort hilft, die Daten auf diesem Gerät (<ph name="DEVICE_TYPE" />) zu schützen. Dies gilt auch für alle Informationen, die auf deinem Smartphone gespeichert sind und die du dir auf diesem Gerät ansiehst.</translation>
 <translation id="4824037980212326045">Linux-Sicherung und ‑Wiederherstellung</translation>
 <translation id="4824958205181053313">Synchronisierung abbrechen?</translation>
 <translation id="4827675678516992122">Verbindung nicht möglich</translation>
@@ -6036,7 +6036,7 @@
 <translation id="6815376457351236663">Trotzdem öffnen</translation>
 <translation id="6817174620439930047">Nachfragen, wenn eine Website versucht, mit systemexklusiven Meldungen auf MIDI-Geräte zuzugreifen (empfohlen)</translation>
 <translation id="6818198425579322765">Sprache der Seite, die übersetzt wird</translation>
-<translation id="6818547713623251698">Fotos, Medien, Benachrichtigungen und Apps von deinem Smartphone abrufen</translation>
+<translation id="6818547713623251698">Fotos, Medien, Benachrichtigungen und Apps von deinem Smartphone ansehen</translation>
 <translation id="6818802132960437751">Integrierter Virenschutz</translation>
 <translation id="6818920801736417483">Passwörter speichern?</translation>
 <translation id="6823174134746916417">Touchpad-Klick</translation>
@@ -6427,7 +6427,6 @@
 <translation id="7212097698621322584">Gib deine aktuelle PIN ein, um sie zu ändern. Falls du deine PIN nicht kennst, musst du den Sicherheitsschlüssel zurücksetzen und dann eine neue PIN erstellen.</translation>
 <translation id="7213903639823314449">In der Adressleiste verwendete Suchmaschine</translation>
 <translation id="721490496276866468">Passwörter importieren</translation>
-<translation id="7216595297012131718">Ordne Sprachen in der gewünschten Reihenfolge an</translation>
 <translation id="7219473482981809164">Es wurden mehrere Profile zum Download gefunden. Wähle diejenigen aus, die du herunterladen möchtest, bevor du fortfährst.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Keine schwachen Passwörter}=1{1 schwaches Passwort}other{{NUM_WEAK} schwache Passwörter}}</translation>
 <translation id="7220019174139618249">Passwort kann nicht in "<ph name="FOLDER" />" exportiert werden</translation>
@@ -7613,7 +7612,7 @@
 <translation id="8340547030807793004">Weitere Aktionen für „<ph name="DEVICE" />“</translation>
 <translation id="8342221978608739536">Nicht ausprobiert</translation>
 <translation id="8342861492835240085">Sammlung auswählen</translation>
-<translation id="8345848587667658367">Du kannst jetzt die neuesten Fotos, Medien, Benachrichtigungen und Apps von deinem Smartphone aufrufen</translation>
+<translation id="8345848587667658367">Du kannst jetzt die neuesten Fotos, Medien, Benachrichtigungen und Apps von deinem Smartphone ansehen</translation>
 <translation id="8347227221149377169">Druckaufträge</translation>
 <translation id="834785183489258869">Wenn der Inkognitomodus aktiviert ist, können Websites keine Cookies verwenden, um deine Browseraktivitäten auf anderen Websites zu sehen und beispielsweise zur Personalisierung von Werbung zu nutzen. Einige Websites funktionieren dann möglicherweise nicht mehr richtig.</translation>
 <translation id="8350789879725387295">Eingabestift-Tools in Leiste</translation>
diff --git a/chrome/app/resources/generated_resources_el.xtb b/chrome/app/resources/generated_resources_el.xtb
index d4bccece..38115de 100644
--- a/chrome/app/resources/generated_resources_el.xtb
+++ b/chrome/app/resources/generated_resources_el.xtb
@@ -906,6 +906,7 @@
 <translation id="1829129547161959350">Πιγκουίνος</translation>
 <translation id="1829192082282182671">Σμίκρυνση</translation>
 <translation id="1830550083491357902">Δεν είναι συνδεδεμένος</translation>
+<translation id="1831848493690504725">Δεν είναι δυνατή η επικοινωνία με την Google μέσω του συνδεδεμένου δικτύου. Δοκιμάστε να επιλέξετε διαφορετικό δίκτυο ή ελέγξτε τις ρυθμίσεις δικτύου ή του διακομιστή μεσολάβησης (αν χρησιμοποιείτε διακομιστή μεσολάβησης).</translation>
 <translation id="1832459821645506983">Ναι, συμφωνώ</translation>
 <translation id="1832511806131704864">Η αλλαγή του τηλεφώνου ενημερώθηκε</translation>
 <translation id="1832848789136765277">Για να βεβαιωθείτε ότι έχετε πάντα πρόσβαση στα δεδομένα συγχρονισμού σας, επαληθεύστε την ταυτότητά σας.</translation>
@@ -4751,6 +4752,7 @@
 <translation id="5533001281916885985">To <ph name="SITE_NAME" /> θέλει να</translation>
 <translation id="5534304873398226603">Απόρριψη φωτογραφίας ή βίντεο</translation>
 <translation id="5537725057119320332">Μετάδοση</translation>
+<translation id="5539070192556911367">Δεν είναι δυνατή η επικοινωνία με την Google</translation>
 <translation id="5539221284352502426">Ο κωδικός πρόσβασης που εισαγάγατε απορρίφθηκε από τον διακομιστή. Στις πιθανές αιτίες περιλαμβάνονται οι εξής: Ο κωδικός πρόσβασης είναι πάρα πολύ σύντομος. Ο κωδικός πρόσβασης πρέπει να περιέχει αριθμούς ή σύμβολα. Ο κωδικός πρόσβασης πρέπει να διαφέρει από τους προηγούμενους κωδικούς πρόσβασης.</translation>
 <translation id="5541694225089836610">Η ενέργεια απενεργοποιήθηκε από τον διαχειριστή σας</translation>
 <translation id="5542132724887566711">Προφίλ</translation>
@@ -4814,6 +4816,7 @@
 <translation id="5585912436068747822">Αποτυχία μορφοποίησης</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Φόρτωση εφαρμογών…</translation>
+<translation id="5590418976913374224">Αναπαραγωγή ήχου κατά την εκκίνηση της συσκευής</translation>
 <translation id="5592595402373377407">Δεν υπάρχουν ακόμη αρκετά διαθέσιμα στοιχεία.</translation>
 <translation id="5595307023264033512">Συνολικός αποθηκευτικός χώρος που χρησιμοποιείται από ιστοτόπους: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Επεξεργασία διεύθυνσης</translation>
@@ -6359,6 +6362,7 @@
 <translation id="7102687220333134671">Οι αυτόματες ενημερώσεις είναι ενεργοποιημένες</translation>
 <translation id="7102832101143475489">Το χρονικό όριο αιτήματος έληξε</translation>
 <translation id="710640343305609397">Άνοιγμα ρυθμίσεων δικτύου</translation>
+<translation id="7107609441453408294">Αναπαραγωγή του ίδιου ήχου σε όλα τα ηχεία</translation>
 <translation id="7108338896283013870">Απόκρυψη</translation>
 <translation id="7108668606237948702">enter</translation>
 <translation id="7108933416628942903">Κλείδωμα τώρα</translation>
@@ -6450,7 +6454,6 @@
 <translation id="7212097698621322584">Εισαγάγετε το τρέχον PIN για να το αλλάξετε. Εάν δεν γνωρίζετε το PIN, θα χρειαστεί να επαναφέρετε το κλειδί ασφαλείας και, στη συνέχεια, να δημιουργήσετε ένα νέο PIN.</translation>
 <translation id="7213903639823314449">Μηχανή αναζήτησης που χρησιμοποιείται στη γραμμή διευθύνσεων</translation>
 <translation id="721490496276866468">Εισαγωγή κωδικών πρόσβασης</translation>
-<translation id="7216595297012131718">Γλώσσες παραγγελίας με βάση τις προτιμήσεις σας</translation>
 <translation id="7219473482981809164">Βρήκαμε πολλά διαθέσιμα προφίλ για λήψη. Επιλέξτε αυτά που θέλετε να κατεβάσετε πριν προχωρήσετε.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Δεν υπάρχουν ασθενείς κωδικοί πρόσβασης}=1{1 ασθενής κωδικός πρόσβασης}other{{NUM_WEAK} ασθενείς κωδικοί πρόσβασης}}</translation>
 <translation id="7220019174139618249">Δεν είναι δυνατή η εξαγωγή κωδικών πρόσβασης στο "<ph name="FOLDER" />"</translation>
@@ -6590,6 +6593,7 @@
 <translation id="7364745943115323529">Μετάδοση…</translation>
 <translation id="7364796246159120393">Επιλογή αρχείου</translation>
 <translation id="7365076891350562061">Μέγεθος οθόνης</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - Καρφιτσωμένα</translation>
 <translation id="7366316827772164604">Σάρωση για κοντινές συσκευές…</translation>
 <translation id="7366415735885268578">Προσθήκη ιστοτόπου</translation>
 <translation id="7366909168761621528">Δεδομένα περιήγησης</translation>
diff --git a/chrome/app/resources/generated_resources_en-GB.xtb b/chrome/app/resources/generated_resources_en-GB.xtb
index c94aa51..88376181 100644
--- a/chrome/app/resources/generated_resources_en-GB.xtb
+++ b/chrome/app/resources/generated_resources_en-GB.xtb
@@ -6460,7 +6460,6 @@
 <translation id="7212097698621322584">Enter your current PIN to change it. If you don’t know your PIN, you’ll need to reset the security key, then create a new PIN.</translation>
 <translation id="7213903639823314449">Search engine used in the address bar</translation>
 <translation id="721490496276866468">Import passwords</translation>
-<translation id="7216595297012131718">Order languages based on your preference</translation>
 <translation id="7219473482981809164">We've found multiple profiles available to download. Select the ones that you would like to download before proceeding.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{No weak passwords}=1{1 weak password}other{{NUM_WEAK} weak passwords}}</translation>
 <translation id="7220019174139618249">Can't export passwords to '<ph name="FOLDER" />'</translation>
diff --git a/chrome/app/resources/generated_resources_es-419.xtb b/chrome/app/resources/generated_resources_es-419.xtb
index 5b4d1c3..c99c4da 100644
--- a/chrome/app/resources/generated_resources_es-419.xtb
+++ b/chrome/app/resources/generated_resources_es-419.xtb
@@ -1066,6 +1066,7 @@
 <translation id="1997616988432401742">Tus certificados</translation>
 <translation id="1999115740519098545">Al iniciar</translation>
 <translation id="2000419248597011803">Envía algunas cookies y búsquedas de la barra de direcciones y del cuadro de búsqueda a tu motor de búsqueda predeterminado</translation>
+<translation id="2001148512690747464">No hay dispositivos de Vinculación rápida guardados en <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">En tiempo real</translation>
 <translation id="2003130567827682533">Para activar los datos de "<ph name="NAME" />", debes conectarte a una red Wi-Fi</translation>
 <translation id="2004697686368036666">Es posible que algunas funciones no puedan utilizarse en algunos sitios.</translation>
@@ -1330,6 +1331,7 @@
 <translation id="2241053333139545397">Leer y modificar tus datos en una serie de sitios web</translation>
 <translation id="2241634353105152135">Solo esta vez</translation>
 <translation id="2242687258748107519">Información del archivo</translation>
+<translation id="2245296100676446525">Activa la sincronización para obtener tus favoritos, contraseñas, historial y más en este dispositivo y en cualquier otro lugar donde estés sincronizando.</translation>
 <translation id="2245603955208828424">Usa las flechas para desplazarte por los elementos letra por letra.</translation>
 <translation id="2246129643805925002">Tu <ph name="DEVICE_TYPE" /> se actualiza automáticamente en segundo plano para brindarte las funciones y las mejoras de seguridad más recientes. Puedes revisar las preferencias de actualización en la Configuración.</translation>
 <translation id="2246549592927364792">¿Quieres obtener descripciones de imágenes de Google?</translation>
@@ -1771,6 +1773,7 @@
 <translation id="2642111877055905627">Pelota de fútbol</translation>
 <translation id="2643698698624765890">Para administrar tus extensiones, haz clic en la opción Extensiones del menú Ventana.</translation>
 <translation id="2645047101481282803"><ph name="PROFILE_NAME" /> administra tu dispositivo.</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{Se importó 1 contraseña a este dispositivo}other{Se importaron {NUM_PASSWORDS} contraseñas a este dispositivo}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">Cadena de certificados ASCII con codificación Base64</translation>
 <translation id="2652129567809778422">Seleccionar contraseña</translation>
@@ -2948,6 +2951,7 @@
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="3790417903123637354">Se produjo un error; vuelve a intentarlo más tarde</translation>
 <translation id="379082410132524484">La tarjeta está vencida</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> extensiones</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome no encontró software dañino en la computadora • Se verificó hace 1 día}other{Chrome no encontró software dañino en la computadora • Se verificó hace {NUM_DAYS} días}}</translation>
 <translation id="379500251094592809">Para usar Compartir con Nearby, asegúrate de que ambos dispositivos estén cerca el uno del otro, desbloqueados y con la conexión Bluetooth activada. Si quieres compartir archivos con una Chromebook que no está entre tus contactos, asegúrate de tener activada la visibilidad de Nearby (selecciona la hora para abrir el área de estado y, luego, activa la visibilidad de Nearby). <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">No</translation>
@@ -4734,6 +4738,7 @@
 <translation id="5542750926112347543">Las cookies de <ph name="DOMAIN" /> están bloqueadas</translation>
 <translation id="5542949973455282971">Conectando a <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Comprobando estado…</translation>
+<translation id="5544482392629385159">Dispositivo <ph name="DEVICE_INDEX" /> de <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderizador</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Agregar pestaña al grupo}other{Agregar pestañas al grupo}}</translation>
 <translation id="5545693483061321551">Los sitios no pueden usar tus cookies para ver la actividad de navegación en diferentes sitios, por ejemplo, con el fin de personalizar anuncios. Es posible que algunas funciones no puedan utilizarse en algunos sitios.</translation>
@@ -5535,6 +5540,7 @@
 <translation id="6333170995003625229">No se pudo verificar tu dirección de correo electrónico o contraseña. Inténtalo de nuevo.</translation>
 <translation id="6335920438823100346">Para iniciar Linux, <ph name="MANAGER" /> requiere que hagas una copia de seguridad de tus datos y restablezcas esta Chromebook a la configuración de fábrica.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> inhabilitó la depuración de ADB, por lo que se restablecerá el dispositivo <ph name="DEVICE_TYPE" /> dentro de 24 horas. Crea una copia de seguridad de los archivos que deseas conservar.</translation>
+<translation id="6338402296920404442">Considera borrar <ph name="FILENAME" /> para que otras personas que usan este dispositivo no puedan ver tus contraseñas.</translation>
 <translation id="6338981933082930623">Permitir que todos los sitios muestren cualquier anuncio</translation>
 <translation id="6339668969738228384">Crear un perfil nuevo para <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Protocolo de impresión por Internet (IPPS)</translation>
@@ -6424,7 +6430,6 @@
 <translation id="7212097698621322584">Ingresa tu PIN actual para cambiarlo. Si no sabes cuál es, deberás restablecer la llave de seguridad y, luego, crear uno nuevo.</translation>
 <translation id="7213903639823314449">Motor de búsqueda que se usa en la barra de direcciones</translation>
 <translation id="721490496276866468">Importar contraseñas</translation>
-<translation id="7216595297012131718">Ordena los idiomas según tus preferencias</translation>
 <translation id="7219473482981809164">Encontramos múltiples perfiles disponibles para descargar. Antes de continuar, selecciona los que quieras descargar.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{No hay contraseñas poco seguras}=1{1 contraseña poco segura}other{{NUM_WEAK} contraseñas poco seguras}}</translation>
 <translation id="7220019174139618249">No se pueden exportar las contraseñas a "<ph name="FOLDER" />"</translation>
@@ -7608,6 +7613,7 @@
 <translation id="8338952601723052325">Sitio web del programador</translation>
 <translation id="8339059274628563283">El sitio <ph name="SITE" /> almacenó datos de forma local</translation>
 <translation id="833986336429795709">Para abrir este vínculo, selecciona una app</translation>
+<translation id="8340547030807793004">Más acciones para <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">No lo intenté</translation>
 <translation id="8342861492835240085">Seleccionar una colección</translation>
 <translation id="8345848587667658367">Ahora puedes ver las apps, las notificaciones, el contenido multimedia y las fotos recientes de tu teléfono</translation>
diff --git a/chrome/app/resources/generated_resources_es.xtb b/chrome/app/resources/generated_resources_es.xtb
index 83e4fd24..98f2058 100644
--- a/chrome/app/resources/generated_resources_es.xtb
+++ b/chrome/app/resources/generated_resources_es.xtb
@@ -1069,6 +1069,7 @@
 <translation id="1997616988432401742">Tus certificados</translation>
 <translation id="1999115740519098545">Al abrir</translation>
 <translation id="2000419248597011803">Envía algunas cookies y búsquedas desde la barra de direcciones y el cuadro de búsqueda a tu buscador predeterminado</translation>
+<translation id="2001148512690747464">No hay dispositivos de Emparejamiento rápido guardados en <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">En tiempo real</translation>
 <translation id="2003130567827682533">Para activar los datos de "<ph name="NAME" />", conéctate a una red Wi‑Fi</translation>
 <translation id="2004697686368036666">Es posible que las funciones de algunos sitios no funcionen</translation>
@@ -1333,6 +1334,7 @@
 <translation id="2241053333139545397">Leer y modificar tus datos en una serie de sitios web</translation>
 <translation id="2241634353105152135">Solo una vez</translation>
 <translation id="2242687258748107519">Información del archivo</translation>
+<translation id="2245296100676446525">Activa la sincronización para acceder a tus marcadores, tus contraseñas, tu historial y otras opciones desde este dispositivo y desde cualquier otro dispositivo en el que tengas la sincronización activada.</translation>
 <translation id="2245603955208828424">Usa las teclas de flecha para desplazarte por los elementos letra por letra</translation>
 <translation id="2246129643805925002">Tu <ph name="DEVICE_TYPE" /> se actualiza automáticamente en segundo plano para que disfrutes de las últimas funciones y mejoras de seguridad. Puedes revisar tus preferencias de actualización en Configuración.</translation>
 <translation id="2246549592927364792">¿Quieres obtener descripciones de imágenes de Google?</translation>
@@ -1775,6 +1777,7 @@
 <translation id="2642111877055905627">Balón de fútbol</translation>
 <translation id="2643698698624765890">Para gestionar tus extensiones, haz clic en la opción Extensiones del menú Ventana.</translation>
 <translation id="2645047101481282803"><ph name="PROFILE_NAME" /> gestiona tu dispositivo.</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 contraseña importada a este dispositivo}other{{NUM_PASSWORDS} contraseñas importadas a este dispositivo}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">ASCII codificado en Base64, cadena de certificados</translation>
 <translation id="2652129567809778422">Seleccionar contraseña</translation>
@@ -2952,6 +2955,7 @@
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="3790417903123637354">Se ha producido un error. Vuelve a intentarlo más tarde.</translation>
 <translation id="379082410132524484">Tu tarjeta ha caducado</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> extensiones</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome no ha detectado software dañino en tu ordenador • Comprobado hace 1 día}other{Chrome no ha detectado software dañino en tu ordenador • Comprobado hace {NUM_DAYS} días}}</translation>
 <translation id="379500251094592809">Para usar la función Compartir con Nearby, asegúrate de que los dos dispositivos estén desbloqueados, se encuentren cerca y tengan el Bluetooth activado. Si vas a compartir archivos con un Chromebook que no está en tus contactos, comprueba que esté activa la visibilidad de Nearby (selecciona la hora para abrir el área de estado y luego activa la visibilidad de Nearby). <ph name="LINK_BEGIN" />Más información<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Desactivado</translation>
@@ -4737,6 +4741,7 @@
 <translation id="5542750926112347543">Se han bloqueado las cookies de <ph name="DOMAIN" /></translation>
 <translation id="5542949973455282971">Conectando con <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Comprobando el estado...</translation>
+<translation id="5544482392629385159">Dispositivo <ph name="DEVICE_INDEX" /> de <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderizador</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Añadir pestaña al grupo}other{Añadir pestañas al grupo}}</translation>
 <translation id="5545693483061321551">Los sitios web no pueden usar cookies para ver tu actividad de navegación en otros sitios web con el objetivo de, por ejemplo, personalizar anuncios. Es posible que las funciones de algunos sitios no funcionen.</translation>
@@ -5538,6 +5543,7 @@
 <translation id="6333170995003625229">No se ha podido verificar tu dirección de correo o tu contraseña. Prueba a iniciar sesión de nuevo.</translation>
 <translation id="6335920438823100346">Para iniciar Linux, <ph name="MANAGER" /> necesita que crees una copia de seguridad de tus datos y restablezcas los ajustes de fábrica de este Chromebook.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> ha inhabilitado la depuración ADB. Se restablecerá tu <ph name="DEVICE_TYPE" /> dentro de 24 horas. Haz copias de seguridad de los archivos que quieras conservar.</translation>
+<translation id="6338402296920404442">Te recomendamos que elimines <ph name="FILENAME" /> para que otras personas que usen este dispositivo no puedan ver tus contraseñas.</translation>
 <translation id="6338981933082930623">Todos los sitios pueden mostrarte cualquier anuncio</translation>
 <translation id="6339668969738228384">Crear un perfil para <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Protocolo de impresión en Internet (IPPS)</translation>
@@ -6427,7 +6433,6 @@
 <translation id="7212097698621322584">Introduce tu PIN actual para cambiarlo. Si no sabes cuál es tu PIN, tendrás que restablecer la llave de seguridad y crear un nuevo PIN.</translation>
 <translation id="7213903639823314449">Buscador utilizado en la barra de direcciones</translation>
 <translation id="721490496276866468">Importar contraseñas</translation>
-<translation id="7216595297012131718">Ordena los idiomas según tus preferencias</translation>
 <translation id="7219473482981809164">Hemos encontrado varios perfiles disponibles para descargar. Selecciona los que quieras descargar antes de continuar.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{No hay contraseñas poco seguras}=1{1 contraseña poco segura}other{{NUM_WEAK} contraseñas poco seguras}}</translation>
 <translation id="7220019174139618249">No se pueden exportar contraseñas a la carpeta "<ph name="FOLDER" />"</translation>
@@ -7611,6 +7616,7 @@
 <translation id="8338952601723052325">Sitio web para desarrolladores</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> ha almacenado datos de forma local</translation>
 <translation id="833986336429795709">Para abrir este enlace, elige una aplicación</translation>
+<translation id="8340547030807793004">Más acciones de <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">No lo he intentado</translation>
 <translation id="8342861492835240085">Seleccionar una colección</translation>
 <translation id="8345848587667658367">Ahora puedes consultar las fotos, el contenido multimedia, las notificaciones y las aplicaciones recientes de tu teléfono</translation>
diff --git a/chrome/app/resources/generated_resources_et.xtb b/chrome/app/resources/generated_resources_et.xtb
index 7ea79a7..837672a5 100644
--- a/chrome/app/resources/generated_resources_et.xtb
+++ b/chrome/app/resources/generated_resources_et.xtb
@@ -1072,6 +1072,7 @@
 <translation id="1997616988432401742">Teie sertifikaadid</translation>
 <translation id="1999115740519098545">Käivitamisel</translation>
 <translation id="2000419248597011803">Saadab teie vaikeotsingumootorile mõned küpsisefailid ja otsingud teie aadressiribalt ning otsingukastist</translation>
+<translation id="2001148512690747464">Kontole <ph name="PRIMARY_EMAIL" /> pole kiirsidumise funktsiooniga seadmeid salvestatud</translation>
 <translation id="2002109485265116295">Reaalajas</translation>
 <translation id="2003130567827682533">Võrgu „<ph name="NAME" />” andmeside aktiveerimiseks looge esmalt ühendus WiFi-võrguga</translation>
 <translation id="2004697686368036666">Funktsioonid ei pruugi mõnel saidil toimida</translation>
@@ -1336,6 +1337,7 @@
 <translation id="2241053333139545397">Andmete lugemine ja muutmine mitmel veebisaidil</translation>
 <translation id="2241634353105152135">Ainult ühe korra</translation>
 <translation id="2242687258748107519">Faili teave</translation>
+<translation id="2245296100676446525">Lülitage sünkroonimine sisse, et saada juurdepääs oma järjehoidjatele, paroolidele, ajaloole ja muule nii selles seadmes kui ka mujal, kus sünkroonimist kasutate.</translation>
 <translation id="2245603955208828424">Kasutage nooleklahve, et üksuste vahel tähthaaval liikuda</translation>
 <translation id="2246129643805925002">Teie seadet <ph name="DEVICE_TYPE" /> värskendatakse automaatselt taustal, et pakkuda teile uusimaid funktsioone ja turvatäiustusi. Värskendatud eelistusi saate vaadata seadetes.</translation>
 <translation id="2246549592927364792">Kas hankida Google'ist piltide kirjeldused?</translation>
@@ -1780,6 +1782,7 @@
 <translation id="2642111877055905627">Jalgpall</translation>
 <translation id="2643698698624765890">Laienduste haldamiseks klõpsake aknamenüüs valikul Laiendused.</translation>
 <translation id="2645047101481282803">Teie seadet haldab <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 parool imporditi sellesse seadmesse}other{{NUM_PASSWORDS} parooli imporditi sellesse seadmesse}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64 kodeeritud ASCII, sertifikaadiahel</translation>
 <translation id="2652129567809778422">Parooli valimine</translation>
@@ -2957,6 +2960,7 @@
 <translation id="3789841737615482174">Installi</translation>
 <translation id="3790417903123637354">Midagi läks valesti. Proovige hiljem uuesti</translation>
 <translation id="379082410132524484">Teie kaart on aegunud</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> laiendust</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome ei leidnud teie arvutist kahjulikku tarkvara • Kontrolliti 1 päev tagasi}other{Chrome ei leidnud teie arvutist kahjulikku tarkvara • Kontrolliti {NUM_DAYS} päeva tagasi}}</translation>
 <translation id="379500251094592809">Läheduses jagamise kasutamiseks veenduge, et mõlemad seadmed oleksid avatud, lähestikku ja Bluetooth oleks sisse lülitatud. Kui jagate Chromebookiga, mis pole teie kontaktide hulgas, veenduge, et nähtavus läheduses oleks sisse lülitatud (avage olekuala, valides kellaaja, seejärel lülitage nähtavus läheduses sisse). <ph name="LINK_BEGIN" />Lisateave<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Väljas</translation>
@@ -4743,6 +4747,7 @@
 <translation id="5542750926112347543">Domeeni <ph name="DOMAIN" /> küpsisefailid on blokeeritud.</translation>
 <translation id="5542949973455282971">Luuakse ühendus operaatoriga <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Oleku kontrollimine ...</translation>
+<translation id="5544482392629385159">Seade <ph name="DEVICE_INDEX" />/<ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderdaja</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Vahelehe lisamine gruppi}other{Vahelehtede lisamine gruppi}}</translation>
 <translation id="5545693483061321551">Saidid ei saa reklaamide isikupärastamiseks küpsisefailide abil eri saitidel teie sirvimistegevust jälgida. Funktsioonid ei pruugi mõnel saidil toimida.</translation>
@@ -5544,6 +5549,7 @@
 <translation id="6333170995003625229">Teie e-posti aadressi või parooli ei saanud kinnitada. Proovige uuesti sisse logida.</translation>
 <translation id="6335920438823100346">Linuxi käivitamiseks nõuab <ph name="MANAGER" />, et varundaksite oma andmed ja lähtestaksite selle Chromebooki tehaseseadetele.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> keelas ADB silumise. See lähtestab 24 tunni jooksul teie seadme <ph name="DEVICE_TYPE" />. Varundage kõik failid, mille soovite säilitada.</translation>
+<translation id="6338402296920404442">Kaaluge faili <ph name="FILENAME" /> kustutamist, et teised, kes seda seadet kasutavad, ei näeks teie paroole.</translation>
 <translation id="6338981933082930623">Kõik saidid saavad teile kuvada mis tahes reklaame</translation>
 <translation id="6339668969738228384">Loo e-posti aadressile <ph name="USER_EMAIL_ADDRESS" /> uus profiil</translation>
 <translation id="6340071272923955280">Interneti prindiprotokoll (IPPS)</translation>
@@ -6433,7 +6439,6 @@
 <translation id="7212097698621322584">PIN-koodi muutmiseks sisestage see. Kui te oma PIN-koodi ei tea, peate lähtestama turvavõtme ja looma siis uue PIN-koodi.</translation>
 <translation id="7213903639823314449">Aadressiribal kasutatud otsingumootor</translation>
 <translation id="721490496276866468">Paroolide importimine</translation>
-<translation id="7216595297012131718">Keeled järjestatakse teie eelistuste põhjal</translation>
 <translation id="7219473482981809164">Leidsime allalaadimiseks mitu profiili. Enne jätkamist valige profiil(id), mida soovite alla laadida.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nõrku paroole ei ole}=1{1 nõrk parool}other{{NUM_WEAK} nõrka parooli}}</translation>
 <translation id="7220019174139618249">Paroole ei saa kausta „<ph name="FOLDER" />” eksportida</translation>
@@ -7617,6 +7622,7 @@
 <translation id="8338952601723052325">Arendaja veebisait</translation>
 <translation id="8339059274628563283">Saidi <ph name="SITE" /> kohalikult salvestatud andmed</translation>
 <translation id="833986336429795709">Valige lingi avamiseks rakendus</translation>
+<translation id="8340547030807793004">Rohkem toiminguid: <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Ei proovinud</translation>
 <translation id="8342861492835240085">Kogu valimine</translation>
 <translation id="8345848587667658367">Saate nüüd vaadata oma telefoni hiljutisi fotosid, meediat, märguandeid ja rakendusi</translation>
diff --git a/chrome/app/resources/generated_resources_eu.xtb b/chrome/app/resources/generated_resources_eu.xtb
index f4febdc..7e0ba6aa3 100644
--- a/chrome/app/resources/generated_resources_eu.xtb
+++ b/chrome/app/resources/generated_resources_eu.xtb
@@ -895,6 +895,7 @@
 <translation id="1829129547161959350">Pinguinoa</translation>
 <translation id="1829192082282182671">&amp;Txikiagotu</translation>
 <translation id="1830550083491357902">Saioa hasi gabe</translation>
+<translation id="1831848493690504725">Ezin gara konektatu Google-ra sare honen bidez. Aukeratu beste sare bat, edo begiratu sarearen edo proxyaren ezarpenak (proxy bat erabiltzen ari bazara).</translation>
 <translation id="1832459821645506983">Ados</translation>
 <translation id="1832511806131704864">Eguneratu da telefono-aldaketa</translation>
 <translation id="1832848789136765277">Sinkronizatutako datuak edonoiz atzitu ahal izango dituzula ziurtatzeko, egiaztatu zeu zarela</translation>
@@ -1334,6 +1335,7 @@
 <translation id="2241053333139545397">Irakurri eta aldatu hainbat webguneetan dituzun datuak</translation>
 <translation id="2241634353105152135">Behin soilik</translation>
 <translation id="2242687258748107519">Fitxategiari buruzko informazioa</translation>
+<translation id="2245296100676446525">Aktibatu sinkronizazioa laster-markak, pasahitzak, historia eta abar gailu honetan eta sinkronizatutako gainerako gailuetan izateko.</translation>
 <translation id="2245603955208828424">Erabili gezi-teklak elementu batetik bestera letraz letra joateko</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> gailua automatikoki eguneratuko da atzeko planoan. Horrela, azken eginbideak eta segurtasun-hobekuntzak izango dituzu. Ezarpenak atalean berrikus ditzakezu softwarea eguneratzeko aukeraren inguruko hobespenak.</translation>
 <translation id="2246549592927364792">Google-k irudien azalpenak ematea nahi duzu?</translation>
@@ -4734,6 +4736,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> webguneak hau egin nahi du:</translation>
 <translation id="5534304873398226603">Baztertu argazkia edo bideoa</translation>
 <translation id="5537725057119320332">Igorri</translation>
+<translation id="5539070192556911367">Ezin da konektatu Google-ra</translation>
 <translation id="5539221284352502426">Zerbitzariak idatzi duzun pasahitza baztertu du, arrazoi hauetako baten ondorioz: pasahitza laburregia da, pasahitzak zenbakiak edo ikurrak izan behar ditu, edo pasahitza ezin da izan aurreko baten berdina.</translation>
 <translation id="5541694225089836610">Administratzaileak desgaitu egin du ekintza</translation>
 <translation id="5542132724887566711">Profila</translation>
@@ -4797,6 +4800,7 @@
 <translation id="5585912436068747822">Ezin izan da formateatu</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Aplikazioak kargatzen…</translation>
+<translation id="5590418976913374224">Erreproduzitu soinua gailua piztean</translation>
 <translation id="5592595402373377407">Ez dago behar adina datu erabilgarri oraindik.</translation>
 <translation id="5595307023264033512">Webguneek erabilitako memoria, guztira: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Editatu helbidea</translation>
@@ -6338,6 +6342,7 @@
 <translation id="7102687220333134671">Aktibatuta daude eguneratze automatikoak</translation>
 <translation id="7102832101143475489">Gainditu egin da eskaeraren denbora-muga</translation>
 <translation id="710640343305609397">Ireki sarearen ezarpenak</translation>
+<translation id="7107609441453408294">Erreproduzitu audio bera bozgorailu guztietan</translation>
 <translation id="7108338896283013870">Ezkutatu</translation>
 <translation id="7108668606237948702">"sartu" tekla</translation>
 <translation id="7108933416628942903">Blokeatu</translation>
@@ -6429,7 +6434,6 @@
 <translation id="7212097698621322584">PINa aldatzeko, idatzi unekoa lehendabizi. Ez badakizu PINa zein den, segurtasun-giltza berrezarri beharko duzu, eta beste PIN bat sortu.</translation>
 <translation id="7213903639823314449">Helbide-barran egiten diren bilaketetarako erabiltzen den bilatzailea</translation>
 <translation id="721490496276866468">Inportatu pasahitzak</translation>
-<translation id="7216595297012131718">Zure hobespenen arabera ordenatuko dira hizkuntzak</translation>
 <translation id="7219473482981809164">Deskarga daitezkeen profil bat baino gehiago aurkitu ditugu. Aurrera egin baino lehen, hautatu deskargatu nahi dituzunak.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Ez dago segurua ez den pasahitzik}=1{1 pasahitz ez da segurua}other{{NUM_WEAK} pasahitz ez dira seguruak}}</translation>
 <translation id="7220019174139618249">Ezin da esportatu pasahitza "<ph name="FOLDER" />" karpetara</translation>
@@ -6569,6 +6573,7 @@
 <translation id="7364745943115323529">Igorri…</translation>
 <translation id="7364796246159120393">Aukeratu fitxategia</translation>
 <translation id="7365076891350562061">Monitorearen tamaina</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - Ainguratuta</translation>
 <translation id="7366316827772164604">Inguruko gailuak bilatzen…</translation>
 <translation id="7366415735885268578">Gehitu webgune bat</translation>
 <translation id="7366909168761621528">Arakatze-datuak</translation>
diff --git a/chrome/app/resources/generated_resources_fa.xtb b/chrome/app/resources/generated_resources_fa.xtb
index 3c51463..9a10884c 100644
--- a/chrome/app/resources/generated_resources_fa.xtb
+++ b/chrome/app/resources/generated_resources_fa.xtb
@@ -1078,6 +1078,7 @@
 <translation id="1997616988432401742">گواهی‌نامه‌های شما</translation>
 <translation id="1999115740519098545">هنگام شروع به کار</translation>
 <translation id="2000419248597011803">برخی کوکی‌ها و جستجوها را از نوار نشانی و جعبه جستجو به موتور جستجوی پیش‌فرض ارسال می‌کند</translation>
+<translation id="2001148512690747464">هیچ دستگاه مجهز به «مرتبط‌سازی سریع» در <ph name="PRIMARY_EMAIL" /> ذخیره نشده است</translation>
 <translation id="2002109485265116295">بی‌درنگ</translation>
 <translation id="2003130567827682533">‏برای فعال کردن داده «<ph name="NAME" />»، ابتدا به شبکه Wi-Fi متصل شوید</translation>
 <translation id="2004697686368036666">ممکن است ویژگی‌های برخی‌از سایت‌ها کار نکند</translation>
@@ -1787,6 +1788,7 @@
 <translation id="2642111877055905627">توپ فوتبال</translation>
 <translation id="2643698698624765890">با کلیک کردن روی افزونه‌ها در منوی پنجره، برنامه‌های افزودنی نصب شده خود را مدیریت کنید.</translation>
 <translation id="2645047101481282803">دستگاهتان را <ph name="PROFILE_NAME" /> مدیریت می‌کند</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{یک گذرواژه در این دستگاه وارد شد}one{{NUM_PASSWORDS} گذرواژه در این دستگاه وارد شد}other{{NUM_PASSWORDS} گذرواژه در این دستگاه وارد شد}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">‏Base64-ASCII رمزگذاری‌شده، زنجیره گواهی</translation>
 <translation id="2652129567809778422">گذرواژه را انتخاب کنید</translation>
@@ -2964,6 +2966,7 @@
 <translation id="3789841737615482174">نصب</translation>
 <translation id="3790417903123637354">مشکلی پیش آمد. بعداً دوباره امتحان کنید</translation>
 <translation id="379082410132524484">کارتتان منقضی شده است</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> افزونه</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{‏Chrome نرم‌افزار مضری در رایانه‌تان پیدا نکرد • ۱ روز قبل بررسی شد}one{‏Chrome نرم‌افزار مضری در رایانه‌تان پیدا نکرد • {NUM_DAYS} روز قبل بررسی شد}other{‏Chrome نرم‌افزار مضری در رایانه‌تان پیدا نکرد • {NUM_DAYS} روز قبل بررسی شد}}</translation>
 <translation id="379500251094592809">‏برای استفاده از «هم‌رسانی با اطراف»، مطمئن شوید قفل هر دو دستگاه باز باشد، دستگاه‌ها نزدیک یکدیگر باشند، و بلوتوث آن‌ها روشن باشد. اگر درحال هم‌رسانی با Chromebook هستید که در مخاطبینتان قرار ندارد، مطمئن شوید «نمایان برای اطراف» در آن روشن باشد (ناحیه نشانگر وضعیت را با انتخاب کردن زمان باز کنید، سپس «نمایان برای اطراف» را روشن کنید) <ph name="LINK_BEGIN" />بیشتر بدانید<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">خاموش</translation>
@@ -4751,6 +4754,7 @@
 <translation id="5542750926112347543">کوکی‌های <ph name="DOMAIN" /> مسدود شدند</translation>
 <translation id="5542949973455282971">درحال اتصال به <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">در حال بررسی وضعیت...</translation>
+<translation id="5544482392629385159">دستگاه <ph name="DEVICE_INDEX" /> از <ph name="DEVICE_COUNT" />، <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">تولیدکننده تصویر</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{افزودن برگه به گروه}one{افزودن برگه‌ها به گروه}other{افزودن برگه‌ها به گروه}}</translation>
 <translation id="5545693483061321551">سایت‌ها نمی‌توانند از کوکی‌های شما برای دیدن فعالیت مرور شما در سایت‌های مختلف و برای مثال شخصی‌سازی آگهی‌ها استفاده کنند. ممکن است ویژگی‌های برخی‌از سایت‌ها کار نکند.</translation>
@@ -5552,6 +5556,7 @@
 <translation id="6333170995003625229">نشانی ایمیل یا گذرواژه‌تان تأیید نشد. دوباره برای ورود به سیستم تلاش کنید.</translation>
 <translation id="6335920438823100346">‏برای راه‌اندازی Linux، <ph name="MANAGER" /> از شما می‌خواهد از داده‌هایتان پشتیبان بگیرید و این Chromebook را به تنظیمات کارخانه بازنشانی کنید.</translation>
 <translation id="6336038146639916978">‏<ph name="MANAGER" /> اشکال‌زدایی «پل اشکال‌زدایی Android» ‏(ADB) را غیرفعال کرده است. با این کار، <ph name="DEVICE_TYPE" /> ظرف ۲۴ ساعت بازنشانی خواهد شد. از فایل‌هایی که مایلید نگه دارید پشتیبان‌گیری کنید.</translation>
+<translation id="6338402296920404442">توصیه می‌کنیم <ph name="FILENAME" /> را حذف کنید تا افراد دیگری که از این دستگاه استفاده می‌کنند نتوانند گذرواژه‌هایتان را ببینند.</translation>
 <translation id="6338981933082930623">همه سایت‌ها می‌توانند هرگونه آگهی را نمایش دهند</translation>
 <translation id="6339668969738228384">ایجاد نمایه جدیدی برای <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">‏پروتکل چاپ اینترنتی (IPPS)</translation>
@@ -6443,7 +6448,6 @@
 <translation id="7212097698621322584">پین کنونی‌تان را برای تغییر پین وارد کنید. اگر پین‌ خود را نمی‌دانید، باید کلید امنیتی را بازنشانی کنید و سپس پین جدیدی ایجاد کنید.</translation>
 <translation id="7213903639823314449">موتور جستجوی مورداستفاده در نوار نشانی</translation>
 <translation id="721490496276866468">درون‌بردن گذرواژه‌ها</translation>
-<translation id="7216595297012131718">زبان‌ها را براساس ترجیحتان مرتب کنید</translation>
 <translation id="7219473482981809164">چند نمایه پیدا کردیم که برای بارگیری دردسترس هستند. قبل‌از ادامه، نمایه‌های موردنظرتان را برای بارگیری انتخاب کنید.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{گذرواژه ضعیفی ندارید}=1{۱ گذرواژه ضعیف}one{{NUM_WEAK} گذرواژه ضعیف}other{{NUM_WEAK} گذرواژه ضعیف}}</translation>
 <translation id="7220019174139618249">گذرواژه‌ها در «<ph name="FOLDER" />» صادر نمی‌شوند</translation>
@@ -7626,6 +7630,7 @@
 <translation id="8338952601723052325">وب‌سایت برنامه‌نویس</translation>
 <translation id="8339059274628563283">داده‌های ذخیره‌شده محلی <ph name="SITE" /></translation>
 <translation id="833986336429795709">برای باز کردن این پیوند، برنامه‌ای انتخاب کنید</translation>
+<translation id="8340547030807793004">کنش‌های بیشتر برای <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">امتحان نکرده‌ام</translation>
 <translation id="8342861492835240085">انتخاب مجموعه</translation>
 <translation id="8345848587667658367">اکنون می‌توانید عکس‌ها، رسانه‌ها، اعلان‌ها، و برنامه‌های جدید تلفنتان را مشاهده کنید</translation>
diff --git a/chrome/app/resources/generated_resources_fi.xtb b/chrome/app/resources/generated_resources_fi.xtb
index 5cfe757..d946f11 100644
--- a/chrome/app/resources/generated_resources_fi.xtb
+++ b/chrome/app/resources/generated_resources_fi.xtb
@@ -136,7 +136,7 @@
 <translation id="1126809382673880764">Ei suojaa sinua vaarallisilta sivustoilta, latauksilta ja laajennuksilta. Voit silti käyttää Selaussuojaa muissa Googlen palveluissa, joissa se on saatavilla, kuten Gmailissa ja Haussa.</translation>
 <translation id="1128090040635299943">Linuxia määritetään. Määritys kestää muutaman minuutin.</translation>
 <translation id="1128591060186966949">Muokkaa hakukonetta</translation>
-<translation id="1129420403709586868">Katsele puhelimesi kuvia ja mediaa</translation>
+<translation id="1129420403709586868">katsella puhelimesi kuvia ja mediaa</translation>
 <translation id="1129850422003387628">Sovellusvalinnat</translation>
 <translation id="113050636487300043">Valitse nimi ja väriteema erottaaksesi profiilit</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> – kuuluu ryhmään: <ph name="GROUP_NAME" /></translation>
@@ -1080,6 +1080,7 @@
 <translation id="1997616988432401742">Omat varmenteet</translation>
 <translation id="1999115740519098545">Käynnistyksessä</translation>
 <translation id="2000419248597011803">Lähettää joitakin osoitekentän ja hakukentän kautta tehtyjä hakuja sekä joitakin evästeitä oletushakukoneellesi</translation>
+<translation id="2001148512690747464">Ei tallennettuja pikaparilaitteita: <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">Reaaliaikainen</translation>
 <translation id="2003130567827682533">Jos haluat aktivoida dataa (<ph name="NAME" />), muodosta yhteys Wi-Fi-verkkoon.</translation>
 <translation id="2004697686368036666">Joidenkin sivustojen ominaisuudet eivät välttämättä toimi</translation>
@@ -1344,6 +1345,7 @@
 <translation id="2241053333139545397">lukea ja muuttaa tietojasi useilla eri sivustoilla</translation>
 <translation id="2241634353105152135">Vain kerran</translation>
 <translation id="2242687258748107519">Tiedoston tiedot</translation>
+<translation id="2245296100676446525">Laita synkronointi päälle, niin saat kirjanmerkkisi, historiasi ja muita asetuksiasi tälle laitteelle ja muille laitteille, joilla synkronoit.</translation>
 <translation id="2245603955208828424">Siirry kohteesta toiseen kirjain kerrallaan nuolinäppäimillä</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> päivittyy automaattisesti taustalla, jotta saat uusimmat ominaisuudet ja tietoturvaparannukset. Voit tarkistaa päivitysvalinnat asetuksista.</translation>
 <translation id="2246549592927364792">Käytetäänkö Googlen kuvaselityksiä?</translation>
@@ -1788,6 +1790,7 @@
 <translation id="2642111877055905627">Jalkapallo</translation>
 <translation id="2643698698624765890">Hallinnoi laajennuksiasi valitsemalla Ikkuna-valikosta Laajennukset.</translation>
 <translation id="2645047101481282803"><ph name="PROFILE_NAME" /> ylläpitää laitettasi</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 salasana siirretty tälle laitteelle}other{{NUM_PASSWORDS} salasanaa siirretty tälle laitteelle}}</translation>
 <translation id="2645435784669275700">Chrome-käyttöjärjestelmä</translation>
 <translation id="2649045351178520408">Base64-koodattu ASCII, varmenneketju</translation>
 <translation id="2652129567809778422">Valitse salasana</translation>
@@ -2327,7 +2330,7 @@
 <translation id="3151539355209957474">Aloitusaika</translation>
 <translation id="3151562827395986343">Tyhjennä historia, evästeet, välimuisti ja muita tietoja</translation>
 <translation id="3151786313568798007">Suunta</translation>
-<translation id="3152356229013609796">Katso ja hylkää puhelimen ilmoituksia ja vastaa niihin</translation>
+<translation id="3152356229013609796">katsoa ja hylätä puhelimen ilmoituksia ja vastata niihin</translation>
 <translation id="3157387275655328056">Lisää lukulistalle</translation>
 <translation id="3157931365184549694">Palauta</translation>
 <translation id="3158033540161634471">Määritä sormenjälki</translation>
@@ -2736,7 +2739,7 @@
 <translation id="3569382839528428029">Haluatko sovelluksen <ph name="APP_NAME" /> jakavan näyttösi?</translation>
 <translation id="3569407787324516067">Näytönsäästäjä</translation>
 <translation id="3569682580018832495"><ph name="ORIGIN" /> saa nähdä seuraavat tiedostot ja kansiot</translation>
-<translation id="3571734092741541777">Määritä</translation>
+<translation id="3571734092741541777">Ota käyttöön</translation>
 <translation id="3575121482199441727">Salli tällä sivustolla</translation>
 <translation id="3577745545227000795">Laitedatan kerääminen: <ph name="DEVICE_OS" /></translation>
 <translation id="3578594933904494462">Tämän välilehden sisältöä jaetaan.</translation>
@@ -2965,6 +2968,7 @@
 <translation id="3789841737615482174">Asenna</translation>
 <translation id="3790417903123637354">Jotain meni pieleen. Yritä myöhemmin uudelleen.</translation>
 <translation id="379082410132524484">Korttisi on vanhentunut.</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> laajennusta</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome ei löytänyt tietokoneeltasi haittaohjelmia • Tarkistettu 1 päivä sitten}other{Chrome ei löytänyt tietokoneeltasi haittaohjelmia • Tarkistettu {NUM_DAYS} päivää sitten}}</translation>
 <translation id="379500251094592809">Jos haluat käyttää lähijakamista, varmista, että kumpikaan laite ei ole lukittuna, että ne ovat lähekkäin ja että Bluetooth on päällä. Jos jaat Chromebookille, joka ei ole yhteystiedoissasi, varmista, että lähinäkyvyys on päällä (avaa tila-alue valitsemalla aika ja laita sitten lähinäkyvyys päälle) <ph name="LINK_BEGIN" />Lue lisää<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Pois päältä</translation>
@@ -4749,6 +4753,7 @@
 <translation id="5542750926112347543">Evästeet lähteestä <ph name="DOMAIN" /> estetty</translation>
 <translation id="5542949973455282971">Yhdistetään: <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Tarkistetaan tilaa…</translation>
+<translation id="5544482392629385159">Laite <ph name="DEVICE_INDEX" />/<ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Hahmontaja</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Lisää välilehti ryhmään}other{Lisää välilehtiä ryhmään}}</translation>
 <translation id="5545693483061321551">Sivustot eivät näe selaustoimintaasi eri sivustoilla evästeiden kautta esim. personoidakseen mainoksia. Joidenkin sivustojen ominaisuudet eivät välttämättä toimi.</translation>
@@ -5550,6 +5555,7 @@
 <translation id="6333170995003625229">Sähköpostiosoitettasi tai salasanaasi ei voitu vahvistaa. Yritä kirjautua sisään uudelleen.</translation>
 <translation id="6335920438823100346">Linuxin käynnistystä varten <ph name="MANAGER" /> edellyttää datan varmuuskopiointia ja Chromebookin palauttamista tehdasasetuksiin.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> on poistanut ADB-virheenkorjauksen käytöstä. <ph name="DEVICE_TYPE" /> nollataan 24 tunnin kuluttua. Varmuuskopioi kaikki tiedostot, jotka haluat säilyttää.</translation>
+<translation id="6338402296920404442">Sinun kannattaa poistaa <ph name="FILENAME" />, jotta muut laitteen käyttäjät eivät näe salasanojasi.</translation>
 <translation id="6338981933082930623">Kaikki sivustot saavat näyttää sinulle kaikenlaisia mainoksia</translation>
 <translation id="6339668969738228384">Luo uusi profiili käyttäjälle <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet-tulostusprotokolla (IPPS)</translation>
@@ -6439,7 +6445,6 @@
 <translation id="7212097698621322584">Lisää nykyinen PIN-koodisi muuttaaksesi sen. Jos et tiedä PIN-koodiasi, sinun on nollattava suojausavaimesi ja luotava uusi PIN-koodi.</translation>
 <translation id="7213903639823314449">Hakukone, jota käytetään osoitepalkissa</translation>
 <translation id="721490496276866468">Tuo salasanoja</translation>
-<translation id="7216595297012131718">Järjestä kielet haluamallasi tavalla.</translation>
 <translation id="7219473482981809164">Ladattavissa on useita profiileja. Valitse ladattavat profiilit ennen kuin jatkat.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Ei heikkoja salasanoja}=1{1 heikko salasana}other{{NUM_WEAK} heikkoa salasanaa}}</translation>
 <translation id="7220019174139618249">Salasanojen tuonti kansioon <ph name="FOLDER" /> epäonnistui.</translation>
@@ -7302,7 +7307,7 @@
 <translation id="8037357227543935929">Kysy (oletus)</translation>
 <translation id="803771048473350947">Tiedosto</translation>
 <translation id="8041089156583427627">Lähetä palautetta</translation>
-<translation id="8041267120753677077">Striimaa puhelimen sovelluksia</translation>
+<translation id="8041267120753677077">striimata puhelimen sovelluksia</translation>
 <translation id="8042142357103597104">Tekstin läpinäkyvyys</translation>
 <translation id="8042331986490021244">Salasanat salataan laitteella ennen niiden tallentamista Googlen Salasanojen ylläpitoon</translation>
 <translation id="8044262338717486897"><ph name="LINUX_APP_NAME" /> ei vastaa.</translation>
@@ -7622,6 +7627,7 @@
 <translation id="8338952601723052325">Kehittäjän verkkosivusto</translation>
 <translation id="8339059274628563283">Sivuston <ph name="SITE" /> paikallisesti tallennetut tiedot</translation>
 <translation id="833986336429795709">Valitse sovellus tämän linkin avaamista varten</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" />: lisää toimintoja</translation>
 <translation id="8342221978608739536">En kokeillut</translation>
 <translation id="8342861492835240085">Valitse kokoelma</translation>
 <translation id="8345848587667658367">Voit nyt nähdä puhelimen viimeaikaiset kuvat, median, ilmoitukset ja sovellukset</translation>
diff --git a/chrome/app/resources/generated_resources_fil.xtb b/chrome/app/resources/generated_resources_fil.xtb
index da6c1c7..df9c071 100644
--- a/chrome/app/resources/generated_resources_fil.xtb
+++ b/chrome/app/resources/generated_resources_fil.xtb
@@ -1082,6 +1082,7 @@
 <translation id="1997616988432401742">Iyong mga certificate</translation>
 <translation id="1999115740519098545">Sa startup</translation>
 <translation id="2000419248597011803">Nagpapadala ng ilang cookies at paghahanap mula sa address bar at box para sa paghahanap sa iyong default na search engine</translation>
+<translation id="2001148512690747464">Walang device sa Mabilis na Pagpares na naka-save sa <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">Real-time</translation>
 <translation id="2003130567827682533">Para i-activate ang data ng '<ph name="NAME" />,' kumonekta muna sa Wi-Fi network</translation>
 <translation id="2004697686368036666">Posibleng hindi gumana ang mga feature sa ilang site</translation>
@@ -1346,6 +1347,7 @@
 <translation id="2241053333139545397">Basahin at baguhin ang iyong data sa ilang website</translation>
 <translation id="2241634353105152135">Isang beses lang</translation>
 <translation id="2242687258748107519">Info ng File</translation>
+<translation id="2245296100676446525">I-on ang pag-sync para makuha ang iyong mga bookmark, password, history, at higit pa sa device na ito at sa iba pang device kung saan ka nagsi-sync.</translation>
 <translation id="2245603955208828424">Gamitin ang mga arrow key para magpalipat-lipat ng item nang kada titik</translation>
 <translation id="2246129643805925002">Awtomatikong nag-a-update ang iyong <ph name="DEVICE_TYPE" /> sa background para mabigyan ka ng mga pinakabagong feature at pagpapahusay sa seguridad. Puwede mong suriin ang mga kagustuhan sa update sa Mga Setting.</translation>
 <translation id="2246549592927364792">Kumuha ng mga paglalarawan ng larawan mula sa Google?</translation>
@@ -1790,6 +1792,7 @@
 <translation id="2642111877055905627">Bola ng soccer</translation>
 <translation id="2643698698624765890">Pamahalaan ang iyong mga extension sa pamamagitan ng pag-click sa Mga Extension sa menu na Window.</translation>
 <translation id="2645047101481282803">Pinapamahalaan ng <ph name="PROFILE_NAME" /> ang iyong device</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 password ang na-import sa device na ito}one{{NUM_PASSWORDS} password ang na-import sa device na ito}other{{NUM_PASSWORDS} na password ang na-import sa device na ito}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-encoded ASCII, certificate chain</translation>
 <translation id="2652129567809778422">Pumili ng password</translation>
@@ -2967,6 +2970,7 @@
 <translation id="3789841737615482174">Mag-install</translation>
 <translation id="3790417903123637354">Nagkaproblema. Subukan ulit sa ibang pagkakataon</translation>
 <translation id="379082410132524484">Nag-expire na ang iyong card</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> (na) extension</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Walang nakitang mapaminsalang software ang Chrome sa iyong computer • Tiningnan 1 araw ang nakalipas}one{Walang nakitang mapaminsalang software ang Chrome sa iyong computer • Tiningnan {NUM_DAYS} na araw ang nakalipas}other{Walang nakitang mapaminsalang software ang Chrome sa iyong computer • Tiningnan {NUM_DAYS} araw ang nakalipas}}</translation>
 <translation id="379500251094592809">Para magamit ang Nearby Share, tiyaking naka-unlock at magkalapit ang dalawang device, at naka-on ang Bluetooth ng mga ito. Kung nagbabahagi ka sa isang Chromebook na wala sa iyong mga contact, tiyaking naka-on ang visibility ng Nearby nito (buksan ang lugar ng status sa pamamagitan ng pagpili ng oras, pagkatapos ay i-on ang visibility ng Nearby) <ph name="LINK_BEGIN" />Matuto pa<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Naka-off</translation>
@@ -4754,6 +4758,7 @@
 <translation id="5542750926112347543">Na-block ang cookies mula sa <ph name="DOMAIN" /></translation>
 <translation id="5542949973455282971">Kumokonekta sa <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Hinahanap ang status...</translation>
+<translation id="5544482392629385159">Device <ph name="DEVICE_INDEX" /> sa <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderer</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Magdagdag ng tab sa grupo}one{Magdagdag ng mga tab sa grupo}other{Magdagdag ng mga tab sa grupo}}</translation>
 <translation id="5545693483061321551">Hindi magagamit ng mga site ang cookies mo para makita ang iyong aktibidad sa pag-browse sa iba't ibang site, halimbawa, para mag-personalize ng mga ad. Posibleng hindi gumana ang mga feature sa ilang site.</translation>
@@ -5555,6 +5560,7 @@
 <translation id="6333170995003625229">Hindi ma-verify ang iyong email address o password. Subukang mag-sign in ulit.</translation>
 <translation id="6335920438823100346">Para simulan ang Linux, hihilingin sa iyo ng <ph name="MANAGER" /> na i-back up ang iyong data at i-reset ang Chromebook na ito sa mga factory setting.</translation>
 <translation id="6336038146639916978">Na-disable ng <ph name="MANAGER" /> ang pag-debug ng ADB. Ire-reset nito ang iyong <ph name="DEVICE_TYPE" /> pagkalipas ng 24 na oras. I-back up ang anumang file na gusto mong panatilihin.</translation>
+<translation id="6338402296920404442">Pag-isipang i-delete ang <ph name="FILENAME" />, para hindi makita ng iba pang gumagamit ng device na ito ang iyong mga password.</translation>
 <translation id="6338981933082930623">Puwedeng magpakita sa iyo ng anumang ad ang lahat ng site</translation>
 <translation id="6339668969738228384">Gumawa ng bagong profile para sa <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6446,7 +6452,6 @@
 <translation id="7212097698621322584">Ilagay ang kasalukuyan mong PIN para palitan ito. Kung hindi mo alam ang iyong PIN, kakailanganin mong i-reset ang security key, pagkatapos ay gumawa ng bagong PIN.</translation>
 <translation id="7213903639823314449">Search engine na ginamit sa address bar</translation>
 <translation id="721490496276866468">Mag-import ng mga password</translation>
-<translation id="7216595297012131718">Pagsunud-sunurin ang mga wika batay sa iyong kagustuhan</translation>
 <translation id="7219473482981809164">Marami kaming nakitang profile na available na i-download. Piliin ang mga profile na gusto mong i-download bago magpatuloy.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Walang mahinang password}=1{1 mahinang password}one{{NUM_WEAK} mahinang password}other{{NUM_WEAK} na mahinang password}}</translation>
 <translation id="7220019174139618249">Hindi ma-export ang mga password sa "<ph name="FOLDER" />"</translation>
@@ -7630,6 +7635,7 @@
 <translation id="8338952601723052325">Website ng developer</translation>
 <translation id="8339059274628563283">Lokal na naka-store na data ng <ph name="SITE" /></translation>
 <translation id="833986336429795709">Para buksan ang link na ito, pumili ng app</translation>
+<translation id="8340547030807793004">Higit pang pagkilos para sa <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Hindi sinubukan</translation>
 <translation id="8342861492835240085">Pumili ng koleksyon</translation>
 <translation id="8345848587667658367">Puwede mo nang tingnan ang mga pinakabagong larawan, media, notification, at app ng iyong telepono</translation>
diff --git a/chrome/app/resources/generated_resources_fr-CA.xtb b/chrome/app/resources/generated_resources_fr-CA.xtb
index de8b2228..c23a169 100644
--- a/chrome/app/resources/generated_resources_fr-CA.xtb
+++ b/chrome/app/resources/generated_resources_fr-CA.xtb
@@ -896,6 +896,7 @@
 <translation id="1829129547161959350">Pingouin</translation>
 <translation id="1829192082282182671">Z&amp;oom arrière</translation>
 <translation id="1830550083491357902">Non connecté</translation>
+<translation id="1831848493690504725">Nous ne pouvons pas contacter Google par l'entremise du réseau connecté. Choisissez un autre réseau ou vérifiez vos paramètres réseau ou vos paramètres du mandataire (si vous en utilisez un).</translation>
 <translation id="1832459821645506983">Oui, j'accepte</translation>
 <translation id="1832511806131704864">Changement de téléphone pris en compte</translation>
 <translation id="1832848789136765277">Pour vous assurer de toujours pouvoir accéder à vos données de synchronisation, vérifiez qu'il s'agit bien de vous</translation>
@@ -4737,6 +4738,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> souhaite</translation>
 <translation id="5534304873398226603">Supprimer la photo ou la vidéo</translation>
 <translation id="5537725057119320332">Diffuser</translation>
+<translation id="5539070192556911367">Impossible de contacter Google</translation>
 <translation id="5539221284352502426">Le mot de passe que vous avez entré a été refusé par le serveur. Voici des raisons possibles : le mot de passe est trop court. Le mot de passe doit comporter des chiffres ou des symboles. Le mot de passe doit être différent des mots de passe précédents.</translation>
 <translation id="5541694225089836610">Cette action est désactivée par votre administrateur</translation>
 <translation id="5542132724887566711">Profil</translation>
@@ -4800,6 +4802,7 @@
 <translation id="5585912436068747822">Échec du formatage</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Chargement des applications en cours…</translation>
+<translation id="5590418976913374224">Faire jouer un son au démarrage de l'appareil</translation>
 <translation id="5592595402373377407">Données insuffisantes pour l'instant.</translation>
 <translation id="5595307023264033512">Espace de stockage total utilisé par les sites : <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Modifier l'adresse</translation>
@@ -6346,6 +6349,7 @@
 <translation id="7102687220333134671">Les mises à jour automatiques sont activées</translation>
 <translation id="7102832101143475489">Le délai de traitement de la demande a expiré</translation>
 <translation id="710640343305609397">Ouvrir les paramètres réseau</translation>
+<translation id="7107609441453408294">Faire jouer le même audio sur tous les haut-parleurs</translation>
 <translation id="7108338896283013870">Masquer</translation>
 <translation id="7108668606237948702">Entrée</translation>
 <translation id="7108933416628942903">Verrouiller maintenant</translation>
@@ -6437,7 +6441,6 @@
 <translation id="7212097698621322584">Entrez votre NIP actuel pour le modifier. Si vous ne connaissez pas votre NIP, vous devrez réinitialiser la clé de sécurité, puis créer un nouveau NIP.</translation>
 <translation id="7213903639823314449">Moteur de recherche utilisé dans la barre d'adresse</translation>
 <translation id="721490496276866468">Importer des mots de passe</translation>
-<translation id="7216595297012131718">Classer les langues en fonction de vos préférences</translation>
 <translation id="7219473482981809164">Plusieurs profils peuvent être téléchargés. Sélectionnez ceux que vous voulez télécharger avant de continuer.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Aucun mot de passe faible}=1{1 mot de passe faible}one{{NUM_WEAK} mot de passe faible}other{{NUM_WEAK} mots de passe faibles}}</translation>
 <translation id="7220019174139618249">Impossible d'exporter les mots de passe vers « <ph name="FOLDER" /> »</translation>
@@ -6577,6 +6580,7 @@
 <translation id="7364745943115323529">Diffuser…</translation>
 <translation id="7364796246159120393">Sélectionner un fichier</translation>
 <translation id="7365076891350562061">Taille du moniteur</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - Épinglé</translation>
 <translation id="7366316827772164604">Recherche d'appareils à proximité en cours…</translation>
 <translation id="7366415735885268578">Ajouter un site</translation>
 <translation id="7366909168761621528">Données de navigation</translation>
diff --git a/chrome/app/resources/generated_resources_fr.xtb b/chrome/app/resources/generated_resources_fr.xtb
index 152211e..2e78232 100644
--- a/chrome/app/resources/generated_resources_fr.xtb
+++ b/chrome/app/resources/generated_resources_fr.xtb
@@ -1070,6 +1070,7 @@
 <translation id="1997616988432401742">Vos certificats</translation>
 <translation id="1999115740519098545">Au démarrage</translation>
 <translation id="2000419248597011803">Envoie des cookies et des recherches effectuées à partir de la barre d'adresse et du champ de recherche à votre moteur de recherche par défaut</translation>
+<translation id="2001148512690747464">Aucun appareil avec Association express enregistré dans <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">En temps réel</translation>
 <translation id="2003130567827682533">Pour activer les données "<ph name="NAME" />", connectez-vous tout d'abord à un réseau Wi-Fi</translation>
 <translation id="2004697686368036666">Les fonctionnalités de certains sites peuvent ne pas fonctionner</translation>
@@ -1334,6 +1335,7 @@
 <translation id="2241053333139545397">Accéder aux données de plusieurs sites et les modifier</translation>
 <translation id="2241634353105152135">Une seule fois</translation>
 <translation id="2242687258748107519">Informations sur le fichier</translation>
+<translation id="2245296100676446525">Activez la synchronisation pour récupérer vos favoris, vos mots de passe, votre historique et plus, sur cet appareil et partout où vous effectuez cette synchronisation.</translation>
 <translation id="2245603955208828424">Parcourez des éléments lettre après lettre avec les touches fléchées</translation>
 <translation id="2246129643805925002">Votre <ph name="DEVICE_TYPE" /> se met à jour automatiquement en arrière-plan pour vous permettre de bénéficier des dernières fonctionnalités et améliorations de sécurité. Vous pouvez consulter vos préférences de mise à jour dans les paramètres.</translation>
 <translation id="2246549592927364792">Obtenir des descriptions d'images de Google ?</translation>
@@ -1775,6 +1777,7 @@
 <translation id="2642111877055905627">Ballon de football</translation>
 <translation id="2643698698624765890">Pour gérer les extensions, cliquer sur "Extensions" dans le menu "Fenêtre"</translation>
 <translation id="2645047101481282803">Votre appareil est géré par <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 mot de passe importé sur cet appareil}one{{NUM_PASSWORDS} mot de passe importé sur cet appareil}other{{NUM_PASSWORDS} mots de passe importés sur cet appareil}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">Chaîne de certificats codés Base 64 ASCII</translation>
 <translation id="2652129567809778422">Sélectionner un mot de passe</translation>
@@ -2952,6 +2955,7 @@
 <translation id="3789841737615482174">Installer</translation>
 <translation id="3790417903123637354">Un problème est survenu. Réessayez plus tard</translation>
 <translation id="379082410132524484">Votre carte est arrivée à expiration</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> extensions</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome n'a détecté aucun logiciel malveillant sur votre ordinateur • Vérification effectuée il y a 1 jour}one{Chrome n'a détecté aucun logiciel malveillant sur votre ordinateur • Vérification effectuée il y a {NUM_DAYS} jour}other{Chrome n'a détecté aucun logiciel malveillant sur votre ordinateur • Vérification effectuée il y a {NUM_DAYS} jours}}</translation>
 <translation id="379500251094592809">Pour utiliser le Partage à proximité, assurez-vous que les deux appareils sont déverrouillés, qu'ils sont proches l'un de l'autre et que le Bluetooth est activé sur les deux. Si vous partagez des fichiers avec un Chromebook qui ne figure pas dans vos contacts, assurez-vous que Visibilité à proximité est activé sur celui-ci. Pour cela, ouvrez la zone d'état en sélectionnant l'heure, puis activez "Visibilité à proximité". <ph name="LINK_BEGIN" />En savoir plus<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Désactivé</translation>
@@ -4738,6 +4742,7 @@
 <translation id="5542750926112347543">Les cookies du domaine <ph name="DOMAIN" /> ont été bloqués</translation>
 <translation id="5542949973455282971">Connexion à <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Vérification de l'état en cours…</translation>
+<translation id="5544482392629385159">Appareil <ph name="DEVICE_INDEX" /> sur <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Moteur de rendu</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Ajouter l'onglet à un groupe}one{Ajouter l'onglet à un groupe}other{Ajouter les onglets à un groupe}}</translation>
 <translation id="5545693483061321551">Les sites ne peuvent pas utiliser vos cookies pour voir votre activité de navigation sur l'ensemble des différents sites (par exemple, pour personnaliser les annonces). Les fonctionnalités de certains sites peuvent ne pas fonctionner.</translation>
@@ -5540,6 +5545,7 @@
 <translation id="6333170995003625229">Impossible de valider votre adresse e-mail ou votre mot de passe. Essayez à nouveau de vous connecter.</translation>
 <translation id="6335920438823100346"><ph name="MANAGER" /> vous demande de sauvegarder vos données et de rétablir la configuration d'usine de ce Chromebook pour démarrer Linux.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> a désactivé le débogage ADB. Votre <ph name="DEVICE_TYPE" /> sera donc réinitialisé dans 24 heures. Sauvegardez les fichiers que vous souhaitez conserver.</translation>
+<translation id="6338402296920404442">Pensez à supprimer <ph name="FILENAME" /> afin que les autres utilisateurs de cet appareil ne puissent pas voir vos mots de passe.</translation>
 <translation id="6338981933082930623">Tous les sites peuvent afficher n'importe quelle annonce</translation>
 <translation id="6339668969738228384">Créer un profil pour <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Protocole d'impression Internet (IPPS)</translation>
@@ -6431,7 +6437,6 @@
 <translation id="7212097698621322584">Saisissez votre code actuel pour pouvoir le modifier. Si vous ne vous en souvenez plus, vous devez réinitialiser la clé de sécurité, puis créer un autre code.</translation>
 <translation id="7213903639823314449">Moteur de recherche utilisé dans la barre d'adresse</translation>
 <translation id="721490496276866468">Importer des mots de passe</translation>
-<translation id="7216595297012131718">Classer les langues selon vos préférences</translation>
 <translation id="7219473482981809164">Plusieurs profils sont disponibles. Sélectionnez ceux que vous voulez télécharger avant de continuer.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Aucun mot de passe peu sécurisé}=1{1 mot de passe peu sécurisé}one{{NUM_WEAK} mot de passe peu sécurisé}other{{NUM_WEAK} mots de passe peu sécurisés}}</translation>
 <translation id="7220019174139618249">Impossible d'exporter les mots de passe vers "<ph name="FOLDER" />"</translation>
@@ -7615,6 +7620,7 @@
 <translation id="8338952601723052325">Site Web du développeur</translation>
 <translation id="8339059274628563283">Données stockées en local pour <ph name="SITE" /></translation>
 <translation id="833986336429795709">Pour ouvrir ce lien, sélectionner une application</translation>
+<translation id="8340547030807793004">Plus d'actions pour <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Je n'ai pas essayé.</translation>
 <translation id="8342861492835240085">Sélectionner une collection</translation>
 <translation id="8345848587667658367">Vous pouvez désormais afficher les photos, notifications, applis et contenus multimédias récents de votre téléphone</translation>
diff --git a/chrome/app/resources/generated_resources_gl.xtb b/chrome/app/resources/generated_resources_gl.xtb
index 3e2512b..a3a7a8c 100644
--- a/chrome/app/resources/generated_resources_gl.xtb
+++ b/chrome/app/resources/generated_resources_gl.xtb
@@ -1068,6 +1068,7 @@
 <translation id="1997616988432401742">Os teus certificados</translation>
 <translation id="1999115740519098545">No inicio</translation>
 <translation id="2000419248597011803">Envía buscas e cookies da barra de enderezos e da caixa de busca ao motor de busca predeterminado</translation>
+<translation id="2001148512690747464">Non se gardaron dispositivos de Vinculación rápida en <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">Tempo real</translation>
 <translation id="2003130567827682533">Para activar <ph name="NAME" />, primeiro conéctate a unha rede wifi</translation>
 <translation id="2004697686368036666">As funcións dalgúns sitios poden deixar de funcionar</translation>
@@ -1332,6 +1333,7 @@
 <translation id="2241053333139545397">Ler e cambiar os teus datos en varios sitios web</translation>
 <translation id="2241634353105152135">Só unha vez</translation>
 <translation id="2242687258748107519">Información do ficheiro</translation>
+<translation id="2245296100676446525">Activa a sincronización para que se sincronicen os marcadores, os contrasinais, o historial e moito máis neste dispositivo ou en calquera outro no que a teñas activada.</translation>
 <translation id="2245603955208828424">Utiliza as teclas das frechas para desprazarte polos distintos elementos letra por letra</translation>
 <translation id="2246129643805925002">O teu dispositivo (<ph name="DEVICE_TYPE" />) actualízase automaticamente en segundo plano para ofrecerche as últimas funcións e melloras de seguranza. Podes revisar as túas preferencias de actualización en Configuración.</translation>
 <translation id="2246549592927364792">Queres obter descricións de Google para as imaxes?</translation>
@@ -1773,6 +1775,7 @@
 <translation id="2642111877055905627">Balón de fútbol</translation>
 <translation id="2643698698624765890">Fai clic en Extensións no menú Ventá para xestionar as túas extensións.</translation>
 <translation id="2645047101481282803">O teu dispositivo está xestionado por <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{Importouse 1 contrasinal neste dispositivo}other{Importáronse {NUM_PASSWORDS} contrasinais neste dispositivo}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">Cadea de certificado en ASCII con codificación Base64</translation>
 <translation id="2652129567809778422">Seleccionar un contrasinal</translation>
@@ -2950,6 +2953,7 @@
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="3790417903123637354">Produciuse un erro. Téntao de novo máis tarde</translation>
 <translation id="379082410132524484">A tarxeta caducou</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> extensións</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome non atopou software daniño no teu ordenador • Última comprobación: hai 1 día}other{Chrome non atopou software daniño no teu ordenador • Última comprobación: hai {NUM_DAYS} días}}</translation>
 <translation id="379500251094592809">Para utilizar Compartir por Nearby, asegúrate de que os dous dispositivos estean preto, desbloqueados e co Bluetooth activado. Se vas compartir contido cun Chromebook que non se atope entre os teus contactos, asegúrate de que teña activada a opción de visibilidade de Nearby (abre a área de estado seleccionando a hora e, a continuación, activa a opción de visibilidade de Nearby). <ph name="LINK_BEGIN" />Máis información<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Non</translation>
@@ -4736,6 +4740,7 @@
 <translation id="5542750926112347543">Bloqueáronse as cookies de <ph name="DOMAIN" /></translation>
 <translation id="5542949973455282971">Conectando con <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Comprobando estado...</translation>
+<translation id="5544482392629385159">Dispositivo <ph name="DEVICE_INDEX" /> de <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderizador</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Engadir pestana ao grupo}other{Engadir pestanas ao grupo}}</translation>
 <translation id="5545693483061321551">Os sitios web non poden utilizar cookies para ver a túa actividade de navegación en distintos sitios (por exemplo, para personalizar os anuncios). As funcións dalgúns sitios poden deixar de funcionar.</translation>
@@ -5534,6 +5539,7 @@
 <translation id="6333170995003625229">Non se puido verificar o enderezo de correo electrónico nin o contrasinal. Tenta iniciar sesión de novo.</translation>
 <translation id="6335920438823100346">Para iniciar Linux, <ph name="MANAGER" /> require que fagas unha copia de seguranza dos teus datos e que reinicies este Chromebook coa configuración de fábrica.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> desactivou a depuración de ADB. Esta acción restablecerá o dispositivo (<ph name="DEVICE_TYPE" />) en 24 horas. Crea copias de seguranza dos ficheiros que queiras conservar.</translation>
+<translation id="6338402296920404442">Considera a posibilidade de eliminar <ph name="FILENAME" />, de modo que outras persoas que usen este dispositivo non vexan os teus contrasinais.</translation>
 <translation id="6338981933082930623">Todos os sitios poden mostrarche calquera anuncio</translation>
 <translation id="6339668969738228384">Crea un novo perfil para <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Protocolo de impresión por Internet (IPPS)</translation>
@@ -6423,7 +6429,6 @@
 <translation id="7212097698621322584">Introduce o teu PIN actual para cambialo. Se non sabes cal é, deberás restablecer a chave de seguranza e, despois, crear un novo.</translation>
 <translation id="7213903639823314449">O motor de busca que se utiliza na barra de enderezos</translation>
 <translation id="721490496276866468">Importar contrasinais</translation>
-<translation id="7216595297012131718">Ordena os idiomas en función das túas preferencias</translation>
 <translation id="7219473482981809164">Atopamos varios perfís dispoñibles para a súa descarga. Para continuar, selecciona os que queres descargar.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Non hai contrasinais pouco seguros}=1{1 contrasinal pouco seguro}other{{NUM_WEAK} contrasinais pouco seguros}}</translation>
 <translation id="7220019174139618249">Non se puideron exportar os contrasinais en "<ph name="FOLDER" />"</translation>
@@ -7605,6 +7610,7 @@
 <translation id="8338952601723052325">Sitio web do programador</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> almacenou datos localmente</translation>
 <translation id="833986336429795709">Para abrir esta ligazón, escoller unha aplicación</translation>
+<translation id="8340547030807793004">Máis accións para <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Non se intentou</translation>
 <translation id="8342861492835240085">Seleccionar unha colección</translation>
 <translation id="8345848587667658367">Xa podes acceder ás aplicacións, ás notificacións, ao contido multimedia e ás fotos recentes do teu teléfono</translation>
diff --git a/chrome/app/resources/generated_resources_gu.xtb b/chrome/app/resources/generated_resources_gu.xtb
index cdd23a38..96a15b9 100644
--- a/chrome/app/resources/generated_resources_gu.xtb
+++ b/chrome/app/resources/generated_resources_gu.xtb
@@ -2191,6 +2191,7 @@
 <translation id="3021065318976393105">બૅટરી પર હોય, ત્યારે</translation>
 <translation id="3021066826692793094">પતંગિયું</translation>
 <translation id="3021678814754966447">ફ્રેમ સ્રોત &amp;જુઓ</translation>
+<translation id="3022361196600037287"><ph name="DEVICE" />ને આ Chromebookમાંથી કાઢી નાખવામાં આવશે અને તેને <ph name="PRIMARY_EMAIL" />માં સાચવવામાં આવશે નહીં.</translation>
 <translation id="3022978424994383087">તે મળ્યો નથી.</translation>
 <translation id="3023464535986383522">સાંભળવા માટે પસંદ કરો</translation>
 <translation id="3024374909719388945">24-કલાકની ઘડિયાળ વાપરો</translation>
@@ -3729,6 +3730,7 @@
 <translation id="4535127706710932914">ડિફૉલ્ટ પ્રોફાઇલ</translation>
 <translation id="4535767533210902251">ફિંગરપ્રિન્ટ સેન્સર એ તમારા કીબોર્ડ પર સૌથી ઉપર જમણી બાજુ સ્થિત કી છે. તેને કોઈપણ આંગળી વડે હળવેથી સ્પર્શ કરો.</translation>
 <translation id="4536140153723794651">હંમેશાં કુકીનો ઉપયોગ કરી શકતી સાઇટ</translation>
+<translation id="4536769240747010177">ઇન્ટરનેટ શેર કરવાની સુવિધાની ક્ષમતાઓ:</translation>
 <translation id="4538417792467843292">શબ્દ ડિલીટ કરો</translation>
 <translation id="4538792345715658285">એન્ટરપ્રાઇઝ પૉલિસી દ્વારા ઇન્સ્ટોલ થયેલું છે.</translation>
 <translation id="4541123282641193691">તમારું એકાઉન્ટ ચકાસી ન શકાયું. કૃપા કરીને ફરી પ્રયાસ કરો અથવા તમારી Chromebook ફરી શરૂ કરો.</translation>
@@ -3756,6 +3758,7 @@
 <translation id="4561893854334016293">હાલમાં કોઈ પરવાનગીમાં ફેરફાર થયો નથી</translation>
 <translation id="4562155214028662640">ફિંગરપ્રિન્ટ ઉમેરો</translation>
 <translation id="4563210852471260509">પ્રારંભિક ઇનપુટ ભાષા ચીની છે</translation>
+<translation id="4563382028841851106">એકાઉન્ટમાંથી કાઢી નાખો</translation>
 <translation id="4563880231729913339">આંગળી 3</translation>
 <translation id="4564245002465020751">તમારા ફોન પર સેટઅપની પ્રક્રિયા પૂર્ણ કરો</translation>
 <translation id="4565377596337484307">પાસવર્ડ છુપાવો</translation>
@@ -6177,6 +6180,10 @@
 <translation id="6943939122536910181"><ph name="DEVICE" />થી ડિસ્કનેક્ટ થયું છે</translation>
 <translation id="6945221475159498467">પસંદ કરો</translation>
 <translation id="694592694773692225">આ પેજ પર રીડાયરેક્ટ કરવાનું બ્લૉક કર્યું.</translation>
+<translation id="6947015141909171112">તમે રૅસિપિ માટેની તમારી તાજેતરની શોધ પ્રવૃત્તિ પર આધારિત રૅસિપિ જોઈ રહ્યાં છો.
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        તમે કાર્ડ મેનૂમાં જઈને સેટિંગ મેનેજ કરી શકો છો અથવા 'Chromeને કસ્ટમાઇઝ કરો'માં વધુ વિકલ્પો જોઈ શકો છો.</translation>
 <translation id="6949434160682548041">પાસવર્ડ (વૈકલ્પિક)</translation>
 <translation id="6950627417367801484">ઍપ પુનઃપ્રાપ્ત કરો</translation>
 <translation id="6952242901357037157">તમે અહીં તમારા <ph name="BEGIN_LINK" />Google એકાઉન્ટ<ph name="END_LINK" />માંથી પાસવર્ડ બતાવી શકો છો</translation>
@@ -6435,7 +6442,6 @@
 <translation id="7212097698621322584">પિન બદલવા માટે તમારો વર્તમાન પિન દાખલ કરો. જો તમને તમારો પિન યાદ ન હોય, તો તમારે સુરક્ષા કોડ રીસેટ કરવો પડશે, અને પછી નવો પિન બનાવવો પડશે.</translation>
 <translation id="7213903639823314449">ઍડ્રેસ બારમાં ઉપયોગમાં લેવાયેલું શોધ એન્જિન</translation>
 <translation id="721490496276866468">પાસવર્ડ આયાત કરો</translation>
-<translation id="7216595297012131718">તમારી પસંદગીના આધારે ભાષાઓને ક્રમમાં ગોઠવો</translation>
 <translation id="7219473482981809164">અમને ડાઉનલોડ કરવા માટે, એકથી વધુ ઉપલબ્ધ પ્રોફાઇલ મળી છે. આગળ વધતા પહેલાં, તમે જે ડાઉનલોડ કરવા ઇચ્છતા હો, તે પ્રોફાઇલ પસંદ કરો.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{એકેય નબળો પાસવર્ડ નથી}=1{1 નબળો પાસવર્ડ}one{{NUM_WEAK} નબળો પાસવર્ડ}other{{NUM_WEAK} નબળા પાસવર્ડ}}</translation>
 <translation id="7220019174139618249">પાસવર્ડને "<ph name="FOLDER" />"માં મોકલી શકાતો નથી</translation>
@@ -6971,6 +6977,7 @@
 <translation id="7737115349420013392">"<ph name="DEVICE_NAME" />"ની સાથે જોડી બનાવો…</translation>
 <translation id="7737846262459425222">તમે આને કોઈપણ સમયે સેટિંગ &gt; Google Assistant &gt; સ્ક્રીન સંદર્ભમાં જઈને બદલી શકો છો.</translation>
 <translation id="7737948071472253612">તમારા કૅમેરાનો ઉપયોગ કરવાની મંજૂરી નથી</translation>
+<translation id="77381465218432215">ઉચ્ચારણના ચિહ્નો અને વિશેષ વર્ણો બતાવો</translation>
 <translation id="7740996059027112821">માનક</translation>
 <translation id="7741307896921365578">તમારી વાંચન સૂચિ અને બુકમાર્ક સરળતાથી તેમજ ઉપયોગી અને સતત ઉપલબ્ધ રહી શકે એ માટે, બ્રાઉઝરમાં બાજુની પૅનલની સુવિધા ચાલુ કરે છે.</translation>
 <translation id="7742558784808143689"><ph name="SITE_NAME" />, તેની હેઠળ આવતી બધી સાઇટ અને ઇન્સ્ટૉલ કરેલી તમામ સાઇટ માટે સાઇટનો ડેટા તેમજ પરવાનગીઓ સાફ કરીએ?</translation>
@@ -7755,6 +7762,7 @@
 <translation id="8486666913807228950">કારણ: વિપરિત નિયમ <ph name="REVERT_RULE" /> "આમાં જ ફરજિયાત રીતે ખોલો" સૂચિમાં જોવા મળ્યો હતો.</translation>
 <translation id="848666842773560761">કોઈ ઍપ કૅમેરા ઍક્સેસ કરવાનો પ્રયાસ કરી રહી છે. ઍક્સેસની મંજૂરી આપવા માટે કૅમેરાની પ્રાઇવસી સ્વિચ બંધ કરો.</translation>
 <translation id="8487678622945914333">ઝૂમ વધારો</translation>
+<translation id="8487699605742506766">હૉટસ્પૉટ</translation>
 <translation id="8489156414266187072">માત્ર તમારા એકાઉન્ટ પર વ્યક્તિગત સૂચનો બતાવવામાં આવે છે</translation>
 <translation id="8490896350101740396">નીચેની કિઓસ્ક ઍપ્લિકેશનો "<ph name="UPDATED_APPS" />" અપડેટ કરવામાં આવી છે. અપડેટ પ્રક્રિયા પૂર્ણ કરવા માટે કૃપા કરીને ઉપકરણ રીબૂટ કરો.</translation>
 <translation id="8492685019009920170">તમારી આંગળી વડે ફિંગરપ્રિન્ટ સેન્સરને સ્પર્શ કરો. તમારો ડેટા સુરક્ષિત રીતે સ્ટોર કરવામાં આવે છે અને હંમેશાં તમારા <ph name="DEVICE_TYPE" />માં જ રહે છે.</translation>
@@ -8249,6 +8257,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{"<ph name="TAB_TITLE" />"}=1{"<ph name="TAB_TITLE" />" અને 1 અન્ય ટૅબ}one{"<ph name="TAB_TITLE" />" અને # અન્ય ટૅબ}other{"<ph name="TAB_TITLE" />" અને # અન્ય ટૅબ}}</translation>
 <translation id="8977811652087512276">ખોટો પાસવર્ડ અથવા દૂષિત ફાઇલ</translation>
 <translation id="8978154919215542464">ચાલુ - દરેક વસ્તુ સમન્વયિત કરો</translation>
+<translation id="8978670037548431647">ઇન્ટરનેટ શેર કરવાની સુવિધાની ક્ષમતાઓ રિફ્રેશ કરો</translation>
 <translation id="897939795688207351"><ph name="ORIGIN" /> પર</translation>
 <translation id="8980345560318123814">પ્રતિસાદ રિપોર્ટ</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ક્રેશ થયું</translation>
@@ -8513,6 +8522,7 @@
 <translation id="935854577147268200">Smart Lock ફોન બદલાયો. Smart Lock અપડેટ કરવા માટે તમારો પાસવર્ડ દાખલ કરો. આગલી વખતે, તમારો ફોન તમારા <ph name="DEVICE_TYPE" />ને અનલૉક કરશે. તમે સેટિંગમાં Smart Lock બંધ કરી શકો છો</translation>
 <translation id="936646668635477464">કૅમેરા અને માઇક્રોફોન</translation>
 <translation id="936801553271523408">સિસ્ટમ ડાયગ્નોસ્ટિક ડેટા</translation>
+<translation id="937053962468712792"><ph name="PRIMARY_EMAIL" />માંથી <ph name="DEVICE" /> કાઢી નાખીએ?</translation>
 <translation id="93766956588638423">એક્સ્ટેન્શન સુધારો</translation>
 <translation id="938568644810664664">“Ok Google, આ કયું ગીત છે?” અથવા “Ok Google, મારી સ્ક્રીન પર શું છે?” એવું પૂછી જુઓ</translation>
 <translation id="938623846785894166">અસામાન્ય ફાઇલ</translation>
diff --git a/chrome/app/resources/generated_resources_hi.xtb b/chrome/app/resources/generated_resources_hi.xtb
index 4138bcc..12f7ed3 100644
--- a/chrome/app/resources/generated_resources_hi.xtb
+++ b/chrome/app/resources/generated_resources_hi.xtb
@@ -6451,7 +6451,6 @@
 <translation id="7212097698621322584">अपना मौजूदा पिन डालकर उसे बदलें. अगर आप पिन नहीं जानते हैं, तो आपको सुरक्षा कुंजी रीसेट करनी होगी, फिर एक नया पिन बनाना होगा.</translation>
 <translation id="7213903639823314449">पता बार में इस्तेमाल किया गया सर्च इंजन</translation>
 <translation id="721490496276866468">पासवर्ड इंपोर्ट करें</translation>
-<translation id="7216595297012131718">अपनी प्राथमिकताओं के आधार पर भाषाएं क्रमित करें</translation>
 <translation id="7219473482981809164">हमें ऐसी कई प्रोफ़ाइलें मिली हैं जिन्हें डाउनलोड करना है. आगे बढ़ने से पहले, वह प्रोफ़ाइल चुनें जिसे आप डाउनलोड करना चाहते हैं.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{कोई कमज़ोर पासवर्ड नहीं मिला}=1{1 कमज़ोर पासवर्ड मिला}one{{NUM_WEAK} कमज़ोर पासवर्ड मिला}other{{NUM_WEAK} कमज़ोर पासवर्ड मिले}}</translation>
 <translation id="7220019174139618249">पासवर्ड "<ph name="FOLDER" />" में निर्यात नहीं किए जा सकते</translation>
diff --git a/chrome/app/resources/generated_resources_hr.xtb b/chrome/app/resources/generated_resources_hr.xtb
index a47ae53..a7c8dfa1 100644
--- a/chrome/app/resources/generated_resources_hr.xtb
+++ b/chrome/app/resources/generated_resources_hr.xtb
@@ -897,6 +897,7 @@
 <translation id="1829129547161959350">Pingvin</translation>
 <translation id="1829192082282182671">Zoom &amp;Out (Smanji)</translation>
 <translation id="1830550083491357902">Nije prijavljen</translation>
+<translation id="1831848493690504725">Ne možemo stupiti u kontakt s Googleom putem povezane mreže. Pokušajte odabrati drugu mrežu ili provjerite postavke mreže ili proxy postavke (ako koristite proxy).</translation>
 <translation id="1832459821645506983">U redu</translation>
 <translation id="1832511806131704864">Promjena telefona ažurirana je</translation>
 <translation id="1832848789136765277">Da biste uvijek mogli pristupati svojim podacima za sinkronizaciju, potvrdite da ste to vi</translation>
@@ -4738,6 +4739,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> traži</translation>
 <translation id="5534304873398226603">Odbaci fotografiju ili videozapis</translation>
 <translation id="5537725057119320332">Emitiraj</translation>
+<translation id="5539070192556911367">Google nije dostupan</translation>
 <translation id="5539221284352502426">Poslužitelj je odbio zaporku koju ste unijeli. Mogući su razlozi sljedeći: zaporka je prekratka. Zaporka mora sadržavati brojeve ili simbole. Zaporka mora biti različita od prethodnih zaporki.</translation>
 <translation id="5541694225089836610">Radnju je onemogućio administrator</translation>
 <translation id="5542132724887566711">Profil</translation>
@@ -4801,6 +4803,7 @@
 <translation id="5585912436068747822">Formatiranje nije uspjelo</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Učitavanje aplikacija...</translation>
+<translation id="5590418976913374224">Reprodukcija zvuka pri pokretanju uređaja</translation>
 <translation id="5592595402373377407">Još nije dostupno dovoljno podataka.</translation>
 <translation id="5595307023264033512">Ukupna pohrana koju upotrebljavaju web-lokacije: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Uređivanje adrese</translation>
@@ -6346,6 +6349,7 @@
 <translation id="7102687220333134671">Automatska su ažuriranja uključena</translation>
 <translation id="7102832101143475489">Zahtjev je istekao</translation>
 <translation id="710640343305609397">Otvorite postavke mreže</translation>
+<translation id="7107609441453408294">Reprodukcija istog zvuka na svim zvučnicima</translation>
 <translation id="7108338896283013870">Sakrij preglednik</translation>
 <translation id="7108668606237948702">enter</translation>
 <translation id="7108933416628942903">Zaključaj odmah</translation>
@@ -6437,7 +6441,6 @@
 <translation id="7212097698621322584">Unesite svoj trenutačni PIN da biste ga promijenili. Ako ne znate PIN, vratite sigurnosni ključ na zadano, a zatim izradite novi PIN.</translation>
 <translation id="7213903639823314449">Tražilica koja se upotrebljava u adresnoj traci</translation>
 <translation id="721490496276866468">Uvoz zaporki</translation>
-<translation id="7216595297012131718">Poredajte jezike prema svojim preferencijama</translation>
 <translation id="7219473482981809164">Pronašli smo više profila dostupnih za preuzimanje. Prije nego što nastavite, odaberite one koje želite preuzeti.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nema slabih zaporki}=1{Jedna slaba zaporka}one{{NUM_WEAK} slaba zaporka}few{{NUM_WEAK} slabe zaporke}other{{NUM_WEAK} slabih zaporki}}</translation>
 <translation id="7220019174139618249">Izvoz zaporki u mapu "<ph name="FOLDER" />" nije moguć</translation>
@@ -6577,6 +6580,7 @@
 <translation id="7364745943115323529">Emitiranje...</translation>
 <translation id="7364796246159120393">Odaberi datoteku</translation>
 <translation id="7365076891350562061">Veličina monitora</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> – prikvačeno</translation>
 <translation id="7366316827772164604">Traženje uređaja u blizini...</translation>
 <translation id="7366415735885268578">Dodavanje web-lokacije</translation>
 <translation id="7366909168761621528">Podaci o pregledavanju</translation>
diff --git a/chrome/app/resources/generated_resources_hu.xtb b/chrome/app/resources/generated_resources_hu.xtb
index 9d5438b..9d714df 100644
--- a/chrome/app/resources/generated_resources_hu.xtb
+++ b/chrome/app/resources/generated_resources_hu.xtb
@@ -1345,6 +1345,7 @@
 <translation id="2241053333139545397">Adatainak olvasása és módosítása bizonyos webhelyeken</translation>
 <translation id="2241634353105152135">Csak egyszer</translation>
 <translation id="2242687258748107519">Fájlinformáció</translation>
+<translation id="2245296100676446525">Ha bekapcsolja a szinkronizálást, hozzáférhet többek között könyvjelzőihez, jelszavaihoz és előzményeihez ezen az eszközön és bárhol máshol, ahol szinkronizál.</translation>
 <translation id="2245603955208828424">A nyílbillentyűk segítségével betűről betűre mozoghat az elemek között.</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> eszközét automatikusan frissíti a rendszer, hogy a legfrissebb funkciókat és biztonsági javításokat tudja biztosítani. A frissítési preferenciákat a Beállításokban tekintheti át.</translation>
 <translation id="2246549592927364792">Szeretne képleírásokat kapni a Google-tól?</translation>
@@ -6448,7 +6449,6 @@
 <translation id="7212097698621322584">A módosításhoz adja meg jelenlegi PIN-kódját. Ha nem tudja a PIN-kódot, vissza kell állítania a biztonsági hardverkulcsot, majd új PIN-kódot kell létrehoznia.</translation>
 <translation id="7213903639823314449">A címsávban használt keresőmotor</translation>
 <translation id="721490496276866468">Jelszavak importálása</translation>
-<translation id="7216595297012131718">A nyelveket tetszés szerint rendezheti</translation>
 <translation id="7219473482981809164">Több letölthető profilt is találtunk. A továbblépés előtt válassza ki, hogy melyeket szeretné letölteni.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nem található gyenge jelszó}=1{1 gyenge jelszó}other{{NUM_WEAK} gyenge jelszó}}</translation>
 <translation id="7220019174139618249">Nem sikerült a jelszavak exportálása a következő helyre: <ph name="FOLDER" /></translation>
diff --git a/chrome/app/resources/generated_resources_hy.xtb b/chrome/app/resources/generated_resources_hy.xtb
index 7139bec..9e7e149 100644
--- a/chrome/app/resources/generated_resources_hy.xtb
+++ b/chrome/app/resources/generated_resources_hy.xtb
@@ -1071,6 +1071,7 @@
 <translation id="1997616988432401742">Ձեր վկայագրերը</translation>
 <translation id="1999115740519098545">Մեկնարկի ժամանակ</translation>
 <translation id="2000419248597011803">Ձեր կանխադրված որոնիչին է ուղարկում հասցեագոտու և որոնման դաշտի հարցումները, ինչպես նաև որոշ քուքիներ</translation>
+<translation id="2001148512690747464">Այս հաշվում (<ph name="PRIMARY_EMAIL" />) Արագ զուգակցման պահված սարքեր չկան</translation>
 <translation id="2002109485265116295">Իրական ժամանակում</translation>
 <translation id="2003130567827682533">Միացեք Wi-Fi ցանցի՝ տվյալների փոխանցման «<ph name="NAME" />» ծառայությունն ակտիվացնելու համար</translation>
 <translation id="2004697686368036666">Որոշ կայքերում գործառույթները կարող են չաշխատել</translation>
@@ -1335,6 +1336,7 @@
 <translation id="2241053333139545397">Կարդալ և փոխել ձեր տվյալները մի շարք վեբկայքերում</translation>
 <translation id="2241634353105152135">Միայն այս անգամ</translation>
 <translation id="2242687258748107519">Ֆայլի տվյալներ</translation>
+<translation id="2245296100676446525">Միացրեք համաժամացումը, որպեսզի ձեր էջանիշները, գաղտնաբառերը, պատմությունը և մյուս կարգավորումները հասանելի լինեն ձեզ այս և ցանկացած այլ համաժամացվող սարքում։</translation>
 <translation id="2245603955208828424">Օգտագործեք սլաքների ստեղները՝ մեկ տարրից մյուսն անցնելու համար</translation>
 <translation id="2246129643805925002">Ձեր <ph name="DEVICE_TYPE" />-ն ավտոմատ կերպով թարմացվում է ֆոնային ռեժիմում, որպեսզի դուք կարողանաք օգտվել վերջին գործառույթներից և բարելավված անվտանգությունից։ Թարմացման պարամետրերը կարող եք դիտել կարգավորումներում։</translation>
 <translation id="2246549592927364792">Ստանա՞լ պատկերների նկարագրությունները Google-ից</translation>
@@ -1776,6 +1778,7 @@
 <translation id="2642111877055905627">Ֆուտբոլի գնդակ</translation>
 <translation id="2643698698624765890">Կառավարեք ընդլայնումները` Պատուհանի ցանկում սեղմելով Ընդլայնումներ:</translation>
 <translation id="2645047101481282803">Ձեր սարքը կառավարվում է <ph name="PROFILE_NAME" /> տիրույթի կողմից</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 գաղտնաբառ ներմուծվեց այս սարք}one{{NUM_PASSWORDS} գաղտնաբառ ներմուծվեց այս սարք}other{{NUM_PASSWORDS} գաղտնաբառ ներմուծվեց այս սարք}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-գաղտնագրված ASCII, վկայագրերի շղթա</translation>
 <translation id="2652129567809778422">Ընտրել գաղտնաբառ</translation>
@@ -2952,6 +2955,7 @@
 <translation id="3789841737615482174">Տեղադրել</translation>
 <translation id="3790417903123637354">Սխալ առաջացավ: Փորձեք ավելի ուշ։</translation>
 <translation id="379082410132524484">Քարտի գործողության ժամկետը սպառվել է</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> ընդլայնում</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome-ը ձեր համակարգչում վնասաբեր ծրագրեր չի հայտնաբերել • Ստուգվել է 1 օր առաջ}one{Chrome-ը ձեր համակարգչում վնասաբեր ծրագրեր չի հայտնաբերել • Ստուգվել է {NUM_DAYS} օր առաջ}other{Chrome-ը ձեր համակարգչում վնասաբեր ծրագրեր չի հայտնաբերել • Ստուգվել է {NUM_DAYS} օր առաջ}}</translation>
 <translation id="379500251094592809">Եթե ուզում եք օգտվել «Փոխանակում մոտակա սարքերի հետ» գործառույթից, համոզվեք, որ երկու սարքերն ապակողպված են, միմյանց մոտ են, և սարքերում միացված է Bluetooth-ը։ Եթե դուք կիսվում եք ֆայլերով Chromebook սարքի հետ, որը ձեր կոնտակտներում ներառված չէ, համոզվեք, որ այնտեղ միացված է «Մոտակա սարքերի հասանելիություն» գործառույթը (բացեք վիճակի տարածքը՝ սեղմելով ժամացույցի վրա, ապա միացրեք «Մոտակա սարքերի հասանելիություն» գործառույթը)։ <ph name="LINK_BEGIN" />Իմանալ ավելին<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Անջատված է</translation>
@@ -4740,6 +4744,7 @@
 <translation id="5542750926112347543"><ph name="DOMAIN" /> կայքի քուքիներն արգելափակվել են</translation>
 <translation id="5542949973455282971">Միանում է <ph name="CARRIER_NAME" /> ցանցին</translation>
 <translation id="5543983818738093899">Կարգավիճակի ստուգում...</translation>
+<translation id="5544482392629385159">Սարք <ph name="DEVICE_INDEX" />՝ <ph name="DEVICE_COUNT" />-ից, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Արտապատկերում</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Ավելացնել ներդիր խմբում}one{Ավելացնել ներդիրներ խմբում}other{Ավելացնել ներդիրներ խմբում}}</translation>
 <translation id="5545693483061321551">Կայքերը չեն կարող օգտագործել քուքիներ՝ դիտարկիչում ձեր գործողությունները տեսնելու համար, օրինակ, գովազդի անհատականացման նպատակով։ Որոշ կայքերում գործառույթները կարող են չաշխատել։</translation>
@@ -5538,6 +5543,7 @@
 <translation id="6333170995003625229">Չհաջողվեց հաստատել ձեր էլ․ հասցեն կամ գաղտնաբառը։ Նորից մտեք հաշիվ։</translation>
 <translation id="6335920438823100346">Լինուքսը գործարկելու համար (կանոնի աղբյուրը՝ <ph name="MANAGER" />) անհրաժեշտ է, որ պահուստավորեք ձեր տվյալներն ու վերակայեք այս Chromebook-ի գործարանային կարգավորումները։</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> կայքն անջատել է ADB վրիպազերծումը։ 24 ժամ հետո ձեր <ph name="DEVICE_TYPE" /> սարքը կվերակայվի։ Պահուստավորեք ֆայլերը, որոնք ուզում եք պահել։</translation>
+<translation id="6338402296920404442">Խորհուրդ ենք տալիս ջնջել <ph name="FILENAME" /> ֆայլը, որպեսզի այս սարքի մյուս օգտատերերը չկարողանան տեսնել ձեր գաղտնաբառերը։</translation>
 <translation id="6338981933082930623">Բոլոր կայքերը կարող են գովազդ ցուցադրել</translation>
 <translation id="6339668969738228384">Ստեղծել նոր պրոֆիլ <ph name="USER_EMAIL_ADDRESS" />-ի համար</translation>
 <translation id="6340071272923955280">Ինտերնետի միջոցով տպման հաղորդակարգ (IPPS)</translation>
@@ -6429,7 +6435,6 @@
 <translation id="7212097698621322584">Մուտքագրեք ձեր ընթացիկ PIN կոդը՝ այն փոխելու համար: Եթե չգիտեք ձեր PIN կոդը, զրոյացրեք անվտանգության բանալու կարգավորումները և նշեք նոր PIN կոդ։</translation>
 <translation id="7213903639823314449">Հասցեագոտում օգտագործվող որոնողական համակարգը</translation>
 <translation id="721490496276866468">Ներմուծել գաղտնաբառերը</translation>
-<translation id="7216595297012131718">Դասավորեք լեզուներն ըստ ձեր նախընտրության</translation>
 <translation id="7219473482981809164">Մենք գտել ենք մի քանի պրոֆիլ, որոնք հասանելի են ներբեռնման համար։ Շարունակելուց առաջ ընտրեք պրոֆիլները, որոնք ուզում եք ներբեռնել։</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Թույլ գաղտնաբառեր չկան}=1{1 թույլ գաղտնաբառ}one{{NUM_WEAK} թույլ գաղտնաբառ}other{{NUM_WEAK} թույլ գաղտնաբառ}}</translation>
 <translation id="7220019174139618249">Չհաջողվեց գատնաբառերն արտահանել «<ph name="FOLDER" />» պանակ</translation>
@@ -7610,6 +7615,7 @@
 <translation id="8338952601723052325">Մշակողի վեբկայքը</translation>
 <translation id="8339059274628563283"><ph name="SITE" />-ի՝ սարքում պահված տվյալները</translation>
 <translation id="833986336429795709">Հղումը բացելու համար ընտրեք հավելված</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" /> սարքի հետ կապված այլ գործողություններ</translation>
 <translation id="8342221978608739536">Չեմ փորձել</translation>
 <translation id="8342861492835240085">Ընտրել հավաքածու</translation>
 <translation id="8345848587667658367">Այժմ դուք կարող եք դիտել ձեր հեռախոսի վերջին լուսանկարները, մեդիաֆայլերը, ծանուցումներն ու հավելվածները</translation>
diff --git a/chrome/app/resources/generated_resources_id.xtb b/chrome/app/resources/generated_resources_id.xtb
index 8174bfac..937a13dd 100644
--- a/chrome/app/resources/generated_resources_id.xtb
+++ b/chrome/app/resources/generated_resources_id.xtb
@@ -1346,6 +1346,7 @@
 <translation id="2241053333139545397">Membaca dan mengubah data Anda di sejumlah situs web</translation>
 <translation id="2241634353105152135">Sekali ini saja</translation>
 <translation id="2242687258748107519">Info File</translation>
+<translation id="2245296100676446525">Aktifkan sinkronisasi untuk mendapatkan bookmark, sandi, histori, dan lainnya di perangkat ini dan di tempat lain yang Anda sinkronkan.</translation>
 <translation id="2245603955208828424">Gunakan tombol panah untuk berpindah-pindah item huruf demi huruf</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> Anda akan otomatis diupdate di latar belakang untuk memberi Anda fitur dan peningkatan keamanan terbaru. Anda dapat meninjau preferensi update di Setelan.</translation>
 <translation id="2246549592927364792">Dapatkan deskripsi gambar dari Google?</translation>
@@ -6448,7 +6449,6 @@
 <translation id="7212097698621322584">Masukkan PIN saat ini untuk mengubahnya. Jika tidak mengetahui PIN Anda, reset kunci keamanan, lalu buat PIN baru.</translation>
 <translation id="7213903639823314449">Mesin telusur yang digunakan di kolom URL</translation>
 <translation id="721490496276866468">Impor sandi</translation>
-<translation id="7216595297012131718">Urutkan bahasa berdasarkan preferensi Anda</translation>
 <translation id="7219473482981809164">Kami menemukan beberapa profil yang tersedia untuk didownload. Pilih salah satu yang ingin Anda download sebelum melanjutkan.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Tidak ada sandi lemah}=1{1 sandi lemah}other{{NUM_WEAK} sandi lemah}}</translation>
 <translation id="7220019174139618249">Tidak dapat mengekspor sandi ke "<ph name="FOLDER" />"</translation>
diff --git a/chrome/app/resources/generated_resources_is.xtb b/chrome/app/resources/generated_resources_is.xtb
index d476210..d7a0eef 100644
--- a/chrome/app/resources/generated_resources_is.xtb
+++ b/chrome/app/resources/generated_resources_is.xtb
@@ -1082,6 +1082,7 @@
 <translation id="1997616988432401742">Vottorðin þín</translation>
 <translation id="1999115740519098545">Við ræsingu</translation>
 <translation id="2000419248597011803">Sendir sum fótspor og sumar leitir úr veffangastikunni og leitarreitnum í sjálfgefnu leitarvélina þína</translation>
+<translation id="2001148512690747464">Engin hraðpörunartæki vistuð á <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">Rauntími</translation>
 <translation id="2003130567827682533">Þú þarft að byrja á því að tengjast Wi-Fi neti til að virkja gögn <ph name="NAME" /></translation>
 <translation id="2004697686368036666">Óvíst er að eiginleikar á sumum vefsvæðum virki</translation>
@@ -1346,6 +1347,7 @@
 <translation id="2241053333139545397">Lesa og breyta gögnunum þínum á mörgum vefsvæðum</translation>
 <translation id="2241634353105152135">Bara einu sinni</translation>
 <translation id="2242687258748107519">Skráarupplýsingar</translation>
+<translation id="2245296100676446525">Kveiktu á samstillingu til að geta notað bókamerkin þín, aðgangsorðin, ferilinn og annað í þessu tæki og alls staðar þar sem þú samstillir.</translation>
 <translation id="2245603955208828424">Notaðu örvalyklana til að fletta í gegnum atriðin, einn staf í senn</translation>
 <translation id="2246129643805925002">Uppfærslur á <ph name="DEVICE_TYPE" /> verða gerðar sjálfkrafa í bakgrunni svo þú sért alltaf með nýjustu eiginleikana og öryggisúrbæturnar. Þú getur yfirfarið uppfærslustillingar í stillingunum.</translation>
 <translation id="2246549592927364792">Fá lýsingar á myndum frá Google?</translation>
@@ -1790,6 +1792,7 @@
 <translation id="2642111877055905627">Fótbolti</translation>
 <translation id="2643698698624765890">Stjórnaðu viðbótunum þínum með því að smella á Viðbætur í gluggavalmyndinni.</translation>
 <translation id="2645047101481282803"><ph name="PROFILE_NAME" /> hefur umsjón með tækinu þínu</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{Eitt aðgangsorð flutt inn í þetta tæki}one{{NUM_PASSWORDS} aðgangsorð flutt inn í þetta tæki}other{{NUM_PASSWORDS} aðgangsorð flutt inn í þetta tæki}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-kóðað ASCII, vottorðakeðja</translation>
 <translation id="2652129567809778422">Velja aðgangsorð</translation>
@@ -2967,6 +2970,7 @@
 <translation id="3789841737615482174">Setja upp</translation>
 <translation id="3790417903123637354">Eitthvað fór úrskeiðis. Reyndu aftur síðar</translation>
 <translation id="379082410132524484">Kortið þitt er útrunnið</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> viðbætur</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome fann engan skaðlegan hugbúnað í tölvunni þinni • Athugað fyrir 1 degi}one{Chrome fann engan skaðlegan hugbúnað í tölvunni þinni • Athugað fyrir {NUM_DAYS} degi}other{Chrome fann engan skaðlegan hugbúnað í tölvunni þinni • Athugað fyrir {NUM_DAYS} dögum}}</translation>
 <translation id="379500251094592809">Til að hægt sé að nota nærdeilingu þurfa bæði tækin að vera ólæst, nálægt hvort öðru og með kveikt á Bluetooth. Ef þú deilir með Chromebook sem er ekki í tengiliðunum þínum skaltu tryggja að kveikt sé á „Nærsýnileiki“ í henni (opnaðu stöðusvæðið með því að velja tíma og kveiktu síðan á „Nærsýnileiki“) <ph name="LINK_BEGIN" />Frekari upplýsingar<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Slökkt</translation>
@@ -4754,6 +4758,7 @@
 <translation id="5542750926112347543">Fótspor frá <ph name="DOMAIN" /> útilokuð</translation>
 <translation id="5542949973455282971">Tengist við <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Kannar stöðu...</translation>
+<translation id="5544482392629385159">Tæki <ph name="DEVICE_INDEX" /> af <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Myndþýðandi</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Bæta flipa við hóp}one{Bæta flipum við hóp}other{Bæta flipum við hóp}}</translation>
 <translation id="5545693483061321551">Vefsvæði geta ekki notað fótsporin þín til að sjá vafranotkun þína á vefsvæðum, til dæmis til að sérsníða auglýsingar. Óvíst er að eiginleikar á sumum vefsvæðum virki.</translation>
@@ -5555,6 +5560,7 @@
 <translation id="6333170995003625229">Ekki tókst að staðfesta netfangið þitt eða aðgangsorðið. Reyndu að skrá þig inn aftur.</translation>
 <translation id="6335920438823100346">Til að ræsa Linux krefst <ph name="MANAGER" /> þess að þú takir öryggisafrit af gögnunum þínum og núllstillir þessa Chromebook.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> slökkti á ADB-villuleit. Þetta endurstillir <ph name="DEVICE_TYPE" /> eftir 24 klukkustundir. Afritaðu skrár sem þú vilt geyma.</translation>
+<translation id="6338402296920404442">Íhugaðu að eyða <ph name="FILENAME" /> til að aðrir notendur tækisins geti ekki skoðað aðgangsorðin þín.</translation>
 <translation id="6338981933082930623">Öll vefsvæði geta birt þér hvaða auglýsingu sem er</translation>
 <translation id="6339668969738228384">Stofna nýjan prófíl fyrir <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6446,7 +6452,6 @@
 <translation id="7212097698621322584">Sláðu inn núverandi PIN-númer til að breyta því. Ef þú veist ekki PIN-númerið þitt þarftu að endurstilla öryggislykilinn og búa svo til nýtt PIN-númer.</translation>
 <translation id="7213903639823314449">Leitarvél notuð í veffangastikunni</translation>
 <translation id="721490496276866468">Flytja inn aðgangsorð</translation>
-<translation id="7216595297012131718">Raðaðu tungumálunum eins og þú vilt</translation>
 <translation id="7219473482981809164">Við fundum marga prófíla sem hægt er að sækja. Veldu hverja þeirra þú vilt sækja áður en þú heldur áfram.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Engin léleg aðgangsorð}=1{1 lélegt aðgangsorð}one{{NUM_WEAK} lélegt aðgangsorð}other{{NUM_WEAK} léleg aðgangsorð}}</translation>
 <translation id="7220019174139618249">Ekki er hægt að flytja lykilorð út í „<ph name="FOLDER" />“</translation>
@@ -7629,6 +7634,7 @@
 <translation id="8338952601723052325">Vefsvæði þróunaraðila</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> gögn vistuð staðbundið</translation>
 <translation id="833986336429795709">Veldu forrit til að opna þennan tengil</translation>
+<translation id="8340547030807793004">Fleiri aðgerðir fyrir <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Prófaði ekki</translation>
 <translation id="8342861492835240085">Velja safn</translation>
 <translation id="8345848587667658367">Nú geturðu séð nýlegar myndir, margmiðlunarefni, tilkynningar og forrit símans</translation>
diff --git a/chrome/app/resources/generated_resources_it.xtb b/chrome/app/resources/generated_resources_it.xtb
index 763e05cc..3e40b79 100644
--- a/chrome/app/resources/generated_resources_it.xtb
+++ b/chrome/app/resources/generated_resources_it.xtb
@@ -6430,7 +6430,6 @@
 <translation id="7212097698621322584">Inserisci il PIN attuale per modificarlo. Se non conosci il PIN, devi reimpostare il token di sicurezza, quindi creare un nuovo PIN.</translation>
 <translation id="7213903639823314449">Motore di ricerca utilizzato nella barra degli indirizzi</translation>
 <translation id="721490496276866468">Importa password</translation>
-<translation id="7216595297012131718">Ordina le lingue in base alle tue preferenze</translation>
 <translation id="7219473482981809164">Sono stati trovati più profili disponibili per il download. Seleziona quelli che vuoi scaricare prima di continuare.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nessuna password inefficace}=1{1 password inefficace}other{{NUM_WEAK} password inefficaci}}</translation>
 <translation id="7220019174139618249">Impossibile esportare le password in "<ph name="FOLDER" />"</translation>
diff --git a/chrome/app/resources/generated_resources_iw.xtb b/chrome/app/resources/generated_resources_iw.xtb
index 7226b38..09ae74f 100644
--- a/chrome/app/resources/generated_resources_iw.xtb
+++ b/chrome/app/resources/generated_resources_iw.xtb
@@ -1080,6 +1080,7 @@
 <translation id="1997616988432401742">האישורים שלך</translation>
 <translation id="1999115740519098545">כשפותחים את הדפדפן</translation>
 <translation id="2000419248597011803">‏שליחה של חלק מקובצי ה-Cookie והחיפושים משורת כתובת האתר ומתיבת החיפוש אל מנוע החיפוש שהוגדר כברירת מחדל</translation>
+<translation id="2001148512690747464">לא נשמרו מכשירים להתאמה מהירה בחשבון <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">זמן אמת</translation>
 <translation id="2003130567827682533">‏כדי להפעיל נתונים של '<ph name="NAME" />', יש להתחבר תחילה לרשת Wi-Fi</translation>
 <translation id="2004697686368036666">ייתכן שתכונות באתרים מסוימים לא יפעלו</translation>
@@ -1344,6 +1345,7 @@
 <translation id="2241053333139545397">לקרוא ולשנות את הנתונים שלך במספר אתרים</translation>
 <translation id="2241634353105152135">פעם אחת בלבד</translation>
 <translation id="2242687258748107519">פרטי קובץ</translation>
+<translation id="2245296100676446525">יש להפעיל את הסנכרון כדי שהסימניות, הסיסמאות, ההיסטוריה ונתונים נוספים יופיעו במכשיר הזה ובכל מקום אחר שבו הגדרת סנכרון.</translation>
 <translation id="2245603955208828424">שימוש במקשי החיצים כדי לעבור על פריטים, אות אחרי אות</translation>
 <translation id="2246129643805925002">העדכונים של <ph name="DEVICE_TYPE" /> יתבצעו באופן אוטומטי ברקע, כדי שניתן יהיה ליהנות מהתכונות ומשיפורי האבטחה האחרונים. אפשר לנהל את ההעדפות לגבי עדכונים בהגדרות.</translation>
 <translation id="2246549592927364792">‏רוצה לקבל תיאורי תמונות מ-Google?</translation>
@@ -1788,6 +1790,7 @@
 <translation id="2642111877055905627">כדורגל</translation>
 <translation id="2643698698624765890">אפשר לנהל את התוספים שלך באמצעות לחיצה על 'תוספים' בתפריט 'חלון'.</translation>
 <translation id="2645047101481282803">המכשיר שלך מנוהל על ידי <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{יובאה סיסמה אחת למכשיר הזה}two{יובאו {NUM_PASSWORDS} סיסמאות למכשיר הזה}many{יובאו {NUM_PASSWORDS} סיסמאות למכשיר הזה}other{יובאו {NUM_PASSWORDS} סיסמאות למכשיר הזה}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">‏ASCII בקידוד Base64, שרשרת אישורים</translation>
 <translation id="2652129567809778422">בחירת סיסמה</translation>
@@ -2966,6 +2969,7 @@
 <translation id="3789841737615482174">התקנה</translation>
 <translation id="3790417903123637354">משהו השתבש. יש לנסות שוב בהמשך</translation>
 <translation id="379082410132524484">תוקף הכרטיס שלך פג</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> תוספים</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{‏Chrome לא מצא תוכנות מזיקות במחשב שלך • הבדיקה בוצעה לפני יום אחד}two{‏Chrome לא מצא תוכנות מזיקות במחשב שלך • הבדיקה בוצעה לפני יומיים ({NUM_DAYS})}many{‏Chrome לא מצא תוכנות מזיקות במחשב שלך • הבדיקה בוצעה לפני {NUM_DAYS} ימים}other{‏Chrome לא מצא תוכנות מזיקות במחשב שלך • הבדיקה בוצעה לפני {NUM_DAYS} ימים}}</translation>
 <translation id="379500251094592809">‏כדי להשתמש ב'שיתוף בקרבת מקום', יש לוודא ששני המכשירים אינם נעולים, שהם קרובים זה לזה ושבשניהם מופעל Bluetooth. אם השיתוף נעשה עם Chromebook שאינו רשום באנשי הקשר שלך, יש לוודא שהופעלו הרשאות הגישה בקרבת מקום (יש לפתוח את אזור הסטטוס באמצעות בחירה בשעה ואז להפעיל את הרשאות הגישה בקרבת מקום). <ph name="LINK_BEGIN" />מידע נוסף<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">כבוי</translation>
@@ -4753,6 +4757,7 @@
 <translation id="5542750926112347543">‏קובצי Cookie מ-<ph name="DOMAIN" /> חסומים</translation>
 <translation id="5542949973455282971">מתבצע חיבור אל <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">הסטטוס בבדיקה...</translation>
+<translation id="5544482392629385159">מכשיר <ph name="DEVICE_INDEX" /> מתוך <ph name="DEVICE_COUNT" />, ‏<ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">תהליך עיבוד</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{הוספת כרטיסייה לקבוצה}two{הוספת כרטיסיות לקבוצה}many{הוספת כרטיסיות לקבוצה}other{הוספת כרטיסיות לקבוצה}}</translation>
 <translation id="5545693483061321551">‏אתרים לא יכולים להשתמש בקובצי cookie כדי לקבל מידע על פעילות הגלישה שלך. המידע הזה דרוש להם לצרכים שונים, כמו למשל הצגה של מודעות בהתאמה אישית. ייתכן שתכונות באתרים מסוימים לא יפעלו.</translation>
@@ -5043,6 +5048,7 @@
 <translation id="5835486486592033703"><ph name="WINDOW_TITLE" /> - הקלטה במצלמה או במיקרופון</translation>
 <translation id="583673505367439042">אתרים יכולים לבקש הרשאה לערוך קבצים ותיקיות במכשיר שלך</translation>
 <translation id="583756221537636748">כיסוי</translation>
+<translation id="5840658767386246331">‏חיפוש באמצעות Google</translation>
 <translation id="5840680448799937675">קבצים ישותפו תמיד במצב אופליין</translation>
 <translation id="5841270259333717135">‏הגדרת Ethernet</translation>
 <translation id="5842497610951477805">‏הפעלה של Bluetooth</translation>
@@ -5553,6 +5559,7 @@
 <translation id="6333170995003625229">לא ניתן לאמת את כתובת האימייל או את הסיסמה שלך. יש לנסות להיכנס שוב.</translation>
 <translation id="6335920438823100346">‏כדי להפעיל את Linux, עליך לגבות את הנתונים ולאפס את ה-Chromebook הזה להגדרות המקוריות על פי דרישה של <ph name="MANAGER" />.</translation>
 <translation id="6336038146639916978">‏ניפוי באגים באמצעות ADB הושבת על-ידי <ph name="MANAGER" />. פעולה זו תאפס את <ph name="DEVICE_TYPE" /> בתוך 24 שעות. כדאי לגבות קבצים שברצונך לשמור.</translation>
+<translation id="6338402296920404442">כדאי למחוק את <ph name="FILENAME" /> כדי שאנשים אחרים שמשתמשים במכשיר לא יוכלו לראות את הסיסמאות שלך.</translation>
 <translation id="6338981933082930623">כל אתר יכול להציג לך כל מודעה</translation>
 <translation id="6339668969738228384">יצירת פרופיל חדש בשביל <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">‏פרוטוקול הדפסה באינטרנט (IPPS)</translation>
@@ -6446,7 +6453,6 @@
 <translation id="7212097698621322584">צריך להזין את קוד האימות הנוכחי כדי לשנות אותו. אם קוד האימות לא ידוע לך, צריך לאפס את מפתח האבטחה ולאחר מכן ליצור קוד אימות חדש.</translation>
 <translation id="7213903639823314449">מנוע החיפוש שנמצא בשימוש בסרגל הכתובות</translation>
 <translation id="721490496276866468">ייבוא סיסמאות</translation>
-<translation id="7216595297012131718">סידור השפות לפי ההעדפות שלך</translation>
 <translation id="7219473482981809164">מצאנו מספר פרופילים שזמינים להורדה. עליך לבחור את הפרופילים שברצונך להוריד כדי להמשיך.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{אין סיסמאות חלשות}=1{סיסמה חלשה אחת}two{{NUM_WEAK} סיסמאות חלשות}many{{NUM_WEAK} סיסמאות חלשות}other{{NUM_WEAK} סיסמאות חלשות}}</translation>
 <translation id="7220019174139618249">אי אפשר לייצא סיסמאות אל "<ph name="FOLDER" />"</translation>
@@ -6537,6 +6543,7 @@
 <translation id="7307129035224081534">מושהה</translation>
 <translation id="7308643132139167865">שפות לאתרים</translation>
 <translation id="7310598146671372464">‏ההתחברות נכשלה. השרת לא תומך בסוגי הצפנת Kerberos שצוינו. צריך לפנות אל מנהל המערכת.</translation>
+<translation id="7311089766378749632">התקבלה בקשה מהתוסף לקרוא ולשנות את <ph name="SITE_NAME" /></translation>
 <translation id="7312210124139670355">‏ה-eSIM הזה עובר איפוס בהוראת האדמין שלך. הפעולה עשויה להימשך מספר דקות.</translation>
 <translation id="7320213904474460808">הגדרת הרשת כברירת המחדל</translation>
 <translation id="7321545336522791733">השרת אינו נגיש</translation>
@@ -7127,6 +7134,7 @@
 <translation id="7869655448736341731">הכול</translation>
 <translation id="7870730066603611552">בדיקת אפשרויות הסינכרון אחרי ההגדרה</translation>
 <translation id="7870790288828963061">לא נמצאו אפליקציות קיוסק בגרסה חדשה יותר. אין צורך בעדכון. אפשר להוציא את הדיסק און קי.</translation>
+<translation id="7871049986386271121">תמיד באתר הזה</translation>
 <translation id="7871109039747854576">מעבר בין העמודים של רשימת התווים האפשריים באמצעות המקש <ph name="COMMA" /> והמקש <ph name="PERIOD" /></translation>
 <translation id="787268756490971083">כבוי</translation>
 <translation id="7872758299142009420">יותר מדי קבוצות מקוננות: <ph name="ERROR_LINE" /></translation>
@@ -7629,6 +7637,7 @@
 <translation id="8338952601723052325">אתר האינטרנט של המפתח</translation>
 <translation id="8339059274628563283">נתונים המאוחסנים באופן מקומי עבור <ph name="SITE" /></translation>
 <translation id="833986336429795709">צריך לבחור אפליקציה כדי לפתוח את הקישור הזה</translation>
+<translation id="8340547030807793004">עוד פעולות ב-<ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">לא ניסיתי</translation>
 <translation id="8342861492835240085">בחירת אוסף</translation>
 <translation id="8345848587667658367">עכשיו יש לך אפשרות לראות את התמונות, המדיה, ההתראות והאפליקציות האחרונות שבטלפון</translation>
diff --git a/chrome/app/resources/generated_resources_ja.xtb b/chrome/app/resources/generated_resources_ja.xtb
index a30ba88..f42e6f1 100644
--- a/chrome/app/resources/generated_resources_ja.xtb
+++ b/chrome/app/resources/generated_resources_ja.xtb
@@ -1066,6 +1066,7 @@
 <translation id="1997616988432401742">ユーザーの証明書</translation>
 <translation id="1999115740519098545">起動時</translation>
 <translation id="2000419248597011803">Cookie と、アドレスバーや検索ボックスに入力した検索語句を既定の検索エンジンに送信します</translation>
+<translation id="2001148512690747464"><ph name="PRIMARY_EMAIL" /> に保存されたファスト ペアリング デバイスはありません</translation>
 <translation id="2002109485265116295">リアルタイム</translation>
 <translation id="2003130567827682533">「<ph name="NAME" />」データサービスを有効にするには、まず Wi-Fi ネットワークに接続してください</translation>
 <translation id="2004697686368036666">一部のサイトで機能を使用できなくなる可能性があります</translation>
@@ -1769,6 +1770,7 @@
 <translation id="2642111877055905627">サッカーボール</translation>
 <translation id="2643698698624765890">[ウィンドウ] メニューの [拡張機能] をクリックして拡張機能を管理できます。</translation>
 <translation id="2645047101481282803">このデバイスは <ph name="PROFILE_NAME" /> によって管理されています。</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 件のパスワードをこのデバイスにインポートしました}other{{NUM_PASSWORDS} 件のパスワードをこのデバイスにインポートしました}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">Base64 エンコード ASCII 形式の証明書チェーン</translation>
 <translation id="2652129567809778422">パスワードの選択</translation>
@@ -2945,6 +2947,7 @@
 <translation id="3789841737615482174">インストール</translation>
 <translation id="3790417903123637354">エラーが発生しました。しばらくしてからもう一度お試しください</translation>
 <translation id="379082410132524484">カードの有効期限が切れています</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> 件の拡張機能</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{お使いのパソコンに有害なソフトウェアは見つかりませんでした • 前回の確認: 1 日前}other{お使いのパソコンに有害なソフトウェアは見つかりませんでした • 前回の確認: {NUM_DAYS} 日前}}</translation>
 <translation id="379500251094592809">ニアバイシェアを使用するには、両方のデバイスでロックが解除されていること、お互いが近くにあること、Bluetooth が有効になっていることを確認してください。連絡先に登録されていない Chromebook とファイルを共有する場合は、その Chromebook で周辺ユーザーによる検出がオンになっていることも確認してください(時刻を選択してステータス領域を開き、周辺ユーザーによる検出をオンにします)。<ph name="LINK_BEGIN" />詳細<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">オフ</translation>
@@ -4724,6 +4727,7 @@
 <translation id="5542750926112347543"><ph name="DOMAIN" /> からの Cookie がブロックされました</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" /> に接続しています</translation>
 <translation id="5543983818738093899">ステータスを確認しています...</translation>
+<translation id="5544482392629385159">デバイス <ph name="DEVICE_INDEX" />/<ph name="DEVICE_COUNT" />、<ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">レンダラ</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{タブをグループに追加}other{タブをグループに追加}}</translation>
 <translation id="5545693483061321551">サイトは、Cookie を使用して別のサイトでのあなたの閲覧アクティビティを確認できず、広告のカスタマイズなどが行えなくなります。一部のサイトで機能を使用できなくなる可能性があります。</translation>
@@ -5522,6 +5526,7 @@
 <translation id="6333170995003625229">メールアドレスまたはパスワードを確認できませんでした。もう一度ログインしてみてください。</translation>
 <translation id="6335920438823100346">Linux を起動するため、<ph name="MANAGER" /> がデータをバックアップし、この Chromebook を初期状態にリセットするよう求めています。</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> により ADB デバッグが無効になりました。<ph name="DEVICE_TYPE" /> は 24 時間以内にリセットされます。必要なファイルがあればバックアップしてください。</translation>
+<translation id="6338402296920404442"><ph name="FILENAME" /> を削除して、このデバイスを使用する他のユーザーがパスワードを確認できないようにすることを検討してください。</translation>
 <translation id="6338981933082930623">すべてのサイトであらゆる広告を表示できるようにする</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" /> の新しいプロフィールを作成します</translation>
 <translation id="6340071272923955280">インターネット印刷プロトコル(IPPS)</translation>
@@ -6409,7 +6414,6 @@
 <translation id="7212097698621322584">PIN を変更するには、現在の PIN を入力してください。PIN がわからない場合は、セキュリティ キーをリセットしたうえで新しい PIN を作成する必要があります。</translation>
 <translation id="7213903639823314449">アドレスバーで使用する検索エンジン</translation>
 <translation id="721490496276866468">パスワードをインポート</translation>
-<translation id="7216595297012131718">言語を希望の順序に並べ替えます</translation>
 <translation id="7219473482981809164">ダウンロード可能なプロファイルが複数見つかりました。続行する前に、ダウンロードするプロファイルを選択してください。</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{脆弱なパスワードはありません}=1{脆弱なパスワード: 1 件}other{脆弱なパスワード: {NUM_WEAK} 件}}</translation>
 <translation id="7220019174139618249">パスワードを「<ph name="FOLDER" />」にエクスポートできません</translation>
@@ -7590,6 +7594,7 @@
 <translation id="8338952601723052325">デベロッパーのウェブサイト</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> によりデータがローカルに保存されました</translation>
 <translation id="833986336429795709">このリンクを開くにはアプリを選択します</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" /> に対するその他の操作</translation>
 <translation id="8342221978608739536">試していない</translation>
 <translation id="8342861492835240085">コレクションを選択</translation>
 <translation id="8345848587667658367">スマートフォンの最近の写真、メディア、通知、アプリを表示できるようになりました</translation>
diff --git a/chrome/app/resources/generated_resources_ka.xtb b/chrome/app/resources/generated_resources_ka.xtb
index 5343e27..3ee7f0c 100644
--- a/chrome/app/resources/generated_resources_ka.xtb
+++ b/chrome/app/resources/generated_resources_ka.xtb
@@ -895,6 +895,7 @@
 <translation id="1829129547161959350">პინგვინი</translation>
 <translation id="1829192082282182671">მასშტაბის დაპატ&amp;არავება</translation>
 <translation id="1830550083491357902">არ არის შესული</translation>
+<translation id="1831848493690504725">დაკავშირებული ქსელის მეშვეობით Google-თან კავშირის დამყარება ვერ მოხერხდა. აირჩიეთ განსხვავებული ქსელი, ან შეამოწმეთ თქვენი ქსელისა თუ პროქსი-სერვერის პარამეტრები (თუ პროქსი-სერვერს იყენებთ).</translation>
 <translation id="1832459821645506983">დიახ, თანახმა ვარ</translation>
 <translation id="1832511806131704864">ტელეფონის ცვლილება განახლდა</translation>
 <translation id="1832848789136765277">იმაში დასარწმუნებლად, რომ ყოველთვის შეძლებთ თქვენს სინქრონიზებულ მონაცემებზე წვდომას, დაადასტურეთ, რომ ეს თქვენ ხართ</translation>
@@ -1069,6 +1070,7 @@
 <translation id="1997616988432401742">თქვენი სერტიფიკატები</translation>
 <translation id="1999115740519098545">ჩატვირთვისას</translation>
 <translation id="2000419248597011803">თქვენს ნაგულისხმევ საძიებო სისტემას უგზავნის ზოგიერთ ქუქი-ჩანაწერს და საძიებო მოთხოვნებს მისამართთა ზოლიდან ან საძიებო ველიდან</translation>
+<translation id="2001148512690747464">სწრაფი დაწყვილებისთვის მოწყობილობები <ph name="PRIMARY_EMAIL" />-ში შენახული არ არის</translation>
 <translation id="2002109485265116295">რეალური დროის</translation>
 <translation id="2003130567827682533">„<ph name="NAME" />“-ის მონაცემთა გადაცემის გასააქტიურებლად, პირველ რიგში, დაუკავშირდით Wi-Fi ქსელს</translation>
 <translation id="2004697686368036666">ფუნქციებმა, შესაძლოა, არ იმუშაოს ზოგიერთ საიტზე</translation>
@@ -1333,6 +1335,7 @@
 <translation id="2241053333139545397">წაიკითხეთ და შეცვალეთ თქცენი მონაცემები ვებგვერდის ნომერზე</translation>
 <translation id="2241634353105152135">მხოლოდ ერთხელ</translation>
 <translation id="2242687258748107519">ფაილის ინფორმაცია</translation>
+<translation id="2245296100676446525">ჩართეთ სინქრონიზაცია, რომ თქვენი სანიშნეებით, პაროლებით, ისტორიითა და სხვა კონტენტით ისარგებლოთ როგორც ამ მოწყობილობაზე, ისე სხვაგან, სადაც გააქტიურებული გაქვთ სინქრონიზაცია.</translation>
 <translation id="2245603955208828424">გამოიყენეთ ისრებიანი კლავიშები, ერთეულებს შორის ასო-ასო რომ გადაადგილდეთ</translation>
 <translation id="2246129643805925002">თქვენი <ph name="DEVICE_TYPE" /> ავტომატურად ახლდება ფონურ რეჟიმში, რომ უახლესი ფუნქციებითა და უსაფრთხოების გაუმჯობესებებით ისარგებლოთ. განახლებასთან დაკავშირებული არჩევანის გადახედვა შეგიძლიათ პარამეტრებიდან.</translation>
 <translation id="2246549592927364792">გსურთ სურათების აღწერილობების მიღება Google-ისგან?</translation>
@@ -1774,6 +1777,7 @@
 <translation id="2642111877055905627">ფეხბურთის ბურთი</translation>
 <translation id="2643698698624765890">მართეთ თქვენი გაფართოებები, ფანჯრის მენიუში „გაფართოებებზე“ დაწკაპუნებით.</translation>
 <translation id="2645047101481282803">თქვენს მოწყობილობას მართავს <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{ამ მოწყობილობაში იმპორტირებულია 1 პაროლი}other{ამ მოწყობილობაში იმპორტირებულია {NUM_PASSWORDS} პაროლი}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-დაშიფრული ASCII, სერტიფიკატების ჯაჭვი</translation>
 <translation id="2652129567809778422">აირჩიეთ პაროლი</translation>
@@ -2863,7 +2867,7 @@
 <translation id="370649949373421643">ჩართეთ Wi-Fi</translation>
 <translation id="370665806235115550">იტვირთება…</translation>
 <translation id="3707163604290651814">ამჟამად სისტემაში შესული ხართ, როგორც <ph name="NAME" /></translation>
-<translation id="3708295717182051206">დახურული სუბტიტრები</translation>
+<translation id="3708295717182051206">სუბტიტრები</translation>
 <translation id="3708684582558000260">დახურული საიტებისთვის მონაცემთა გაგზავნისა თუ მიღების დასრულების აკრძალვა</translation>
 <translation id="3709244229496787112">ბრაუზერი გაითიშა ჩამოტვირთვის დასრულებამდე.</translation>
 <translation id="371174301504454251">თქვენი კონფიდენციალურობის დაცვის მიზნით, ჩვენ ავტომატურად ვშლით სიიდან საიტებს, რომლებიც 4 კვირაზე ძველია. საიტი, რომელსაც ხელახლა მოინახულებთ, შესაძლოა, კვლავ გამოჩნდეს სიაში. სურვილისამებრ, შეგიძლიათ ამოშალოთ საიტი, თუ არ გსურთ, მან ოდესმე განსაზღვროს თქვენი ინტერესები.</translation>
@@ -2951,6 +2955,7 @@
 <translation id="3789841737615482174">ინსტალაცია</translation>
 <translation id="3790417903123637354">წარმოიქმნა შეფერხება. ცადეთ მოგვიანებით</translation>
 <translation id="379082410132524484">თქვენი ბარათი ვადაგასულია</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> გაფართოება</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome-მა თქვენს კომპიუტერში საზიანო პროგრამული უზრუნველყოფა ვერ აღმოაჩინა • შემოწმდა 1 დღის წინ}other{Chrome-მა თქვენს კომპიუტერში საზიანო პროგრამული უზრუნველყოფა ვერ აღმოაჩინა • შემოწმდა {NUM_DAYS} დღის წინ}}</translation>
 <translation id="379500251094592809">მახლობლად გაზიარების გამოსაყენებლად დარწმუნდით, რომ ორივე მოწყობილობა განბლოკილია, ახლოსაა ერთმანეთთან და მათზე ჩართულია Bluetooth. თუ უზიარებთ Chromebook-ს, რომელიც თქვენს კონტაქტებში არ არის, დარწმუნდით, რომ მასზე ჩართულია ახლომახლო ხილვადობა (გახსენით სტატუსის არე დროის არჩევის მეშვეობით, შემდეგ კი ჩართეთ ახლომახლო ხილვადობა). <ph name="LINK_BEGIN" />შეიტყვეთ მეტი<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">გამორთული</translation>
@@ -4731,12 +4736,14 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" />-ს სურს:</translation>
 <translation id="5534304873398226603">ფოტოს ან ვიდეოს გაუქმება</translation>
 <translation id="5537725057119320332">მაუწყებლობა</translation>
+<translation id="5539070192556911367">Google-თან დაკავშირება ვერ ხერხდება</translation>
 <translation id="5539221284352502426">თქვენ მიერ შეყვანილი პაროლი უარყოფილია სერვერის მიერ. შესაძლო მიზეზებია: პაროლი მეტისმეტად მოკლეა. პაროლი უნდა შეიცავდეს ციფრებს ან სიმბოლოებს. პაროლი უნდა განსხვავდებოდეს წინა პაროლებისგან.</translation>
 <translation id="5541694225089836610">ქმედება გათიშულია თქვენი ადმინისტრატორის მიერ</translation>
 <translation id="5542132724887566711">პროფილი</translation>
 <translation id="5542750926112347543">ქუქი-ჩანაწერები <ph name="DOMAIN" />-დან დაბლოკილია</translation>
 <translation id="5542949973455282971">მიმდინარეობს <ph name="CARRIER_NAME" />-თან დაკავშირება</translation>
 <translation id="5543983818738093899">სტატუსის შემოწმება...</translation>
+<translation id="5544482392629385159">მოწყობილობა <ph name="DEVICE_INDEX" /> / <ph name="DEVICE_COUNT" />-დან, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">რენდერერი</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{ჩანართის დამატება ჯგუფში}other{ჩანართების დამატება ჯგუფში}}</translation>
 <translation id="5545693483061321551">საიტები ვერ გამოიყენებს ქუქი-ჩანაწერებს სხვადასხვა საიტის თქვენ მიერ დათვალიერების აქტივობის სანახავად, მაგალითად, რეკლამის პერსონალიზების მიზნით. ფუნქციებმა, შესაძლოა, არ იმუშაოს ზოგიერთ საიტზე.</translation>
@@ -4793,6 +4800,7 @@
 <translation id="5585912436068747822">ფორმატირება ვერ მოხერხდა</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">აპები იტვირთება…</translation>
+<translation id="5590418976913374224">ხმის დაკვრა მოწყობილობის გაშვებისას</translation>
 <translation id="5592595402373377407">ჯერჯერობით არ არის საკმარისი მონაცემები.</translation>
 <translation id="5595307023264033512">საიტების მიერ გამოყენებული მეხსიერების საერთო მოცულობა: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">მისამართის რედაქტირება</translation>
@@ -5538,6 +5546,7 @@
 <translation id="6333170995003625229">თქვენი ელფოსტის მისამართის ან პაროლის დადასტურება ვერ მოხერხდა. ცადეთ სისტემაში ხელახლა შესვლა.</translation>
 <translation id="6335920438823100346">Linux-ის გასაშვებად <ph name="MANAGER" /> საჭიროებს თქვენი მონაცემების სარეზერვო ასლის შექმნასა და ამ Chromebook-ის ქარხნულ პარამეტრებზე დაბრუნებას.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" />-მა გაითიშა ADB გამართვა. ამის გამო თქვენი <ph name="DEVICE_TYPE" /> გადაიტვირთება 24 საათში. შექმენით იმ ფაილების სარეზერვო ასლები, რომელთა შენარჩუნებაც გსურთ.</translation>
+<translation id="6338402296920404442">გირჩევთ, წაშალოთ <ph name="FILENAME" />, რათა ამ მოწყობილობის სხვა მომხმარებლებმა თქვენი პაროლები ვერ ნახონ.</translation>
 <translation id="6338981933082930623">ყველა საიტს შეუძლია ნებისმიერი ტიპის რეკლამის ჩვენება</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" />-სთვის ახალი პროფილის შექმნა</translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6336,6 +6345,7 @@
 <translation id="7102687220333134671">ავტომატური განახლებები ჩართულია</translation>
 <translation id="7102832101143475489">მოთხოვნის დრო ამოიწურა</translation>
 <translation id="710640343305609397">ქსელის პარამეტრების გახსნა</translation>
+<translation id="7107609441453408294">ყველა დინამიკში ერთი და იგივე აუდიოს დაკვრა</translation>
 <translation id="7108338896283013870">დამალვა</translation>
 <translation id="7108668606237948702">შეყვანა</translation>
 <translation id="7108933416628942903">ახლავე ჩაკეტვა</translation>
@@ -6427,7 +6437,6 @@
 <translation id="7212097698621322584">შესაცვლელად შეიყვანეთ თქვენი ამჟამინდელი PIN-კოდი. თუ PIN-კოდი არ იცით, საჭირო იქნება უსაფრთხოების გასაღების გადაყენება და ახალი PIN-კოდის შექმნა.</translation>
 <translation id="7213903639823314449">მისამართთა ზოლში გამოყენებული საძიებო სისტემა</translation>
 <translation id="721490496276866468">პაროლების იმპორტირება</translation>
-<translation id="7216595297012131718">დაალაგეთ ენები თქვენი სურვილისამებრ</translation>
 <translation id="7219473482981809164">ჩამოსატვირთად მოიძებნა რამდენიმე პროფილი. გაგრძელებამდე აირჩიეთ, რომელთა ჩამოტვირთვა გსურთ.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{სუსტი პაროლები არ არის}=1{1 სუსტი პაროლი}other{{NUM_WEAK} სუსტი პაროლი}}</translation>
 <translation id="7220019174139618249">„<ph name="FOLDER" />“-ში პაროლების ექსპორტირება ვერ მოხერხდა</translation>
@@ -6567,6 +6576,7 @@
 <translation id="7364745943115323529">ტრანსლირება…</translation>
 <translation id="7364796246159120393">აირჩიეთ ფაილი</translation>
 <translation id="7365076891350562061">მონიტორის ზომა</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> — ჩამაგრებული</translation>
 <translation id="7366316827772164604">სკანირდება ახლომდებარე მოწყობილობები...</translation>
 <translation id="7366415735885268578">საიტის დამატება</translation>
 <translation id="7366909168761621528">დათვალიერების მონაცემები</translation>
@@ -7609,6 +7619,7 @@
 <translation id="8338952601723052325">შემმუშავებლის ვებსაიტი</translation>
 <translation id="8339059274628563283"><ph name="SITE" />-ის ადგილობრივად შენახული მონაცემები</translation>
 <translation id="833986336429795709">აირჩიეთ აპი ამ ბმულის გასახსნელად</translation>
+<translation id="8340547030807793004">სხვა ქმედებები „<ph name="DEVICE" />“-სთვის</translation>
 <translation id="8342221978608739536">არ მიცდია</translation>
 <translation id="8342861492835240085">აირჩიეთ კოლექცია</translation>
 <translation id="8345848587667658367">ამიერიდან შეგიძლიათ ნახოთ თქვენი ტელეფონის ბოლოდროინდელი ფოტოები, მედიაფაილები, შეტყობინებები და აპები</translation>
diff --git a/chrome/app/resources/generated_resources_kk.xtb b/chrome/app/resources/generated_resources_kk.xtb
index 0be9004..83e81f5 100644
--- a/chrome/app/resources/generated_resources_kk.xtb
+++ b/chrome/app/resources/generated_resources_kk.xtb
@@ -6427,7 +6427,6 @@
 <translation id="7212097698621322584">Қолданыстағы PIN кодын өзгерту үшін оны енгізіңіз. PIN кодыңызды білмесеңіз, оны бастапқы күйге қайтарып, жаңа PIN кодын жасаңыз.</translation>
 <translation id="7213903639823314449">Мекенжай жолағында пайдаланылатын іздеу жүйесі</translation>
 <translation id="721490496276866468">Құпия сөздерді импорттау</translation>
-<translation id="7216595297012131718">Тілдерге қалауыңызға сай тапсырыс беріңіз</translation>
 <translation id="7219473482981809164">Жүктеп алуға болатын бірнеше профиль таптық. Жалғастырмас бұрын, жүктеп алғыңыз келетіндерін таңдаңыз.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Оңай құпия сөздер жоқ.}=1{1 оңай құпия сөз бар.}other{{NUM_WEAK} оңай құпия сөз бар.}}</translation>
 <translation id="7220019174139618249">Құпия сөздер "<ph name="FOLDER" />" қалтасына экспортталмады</translation>
diff --git a/chrome/app/resources/generated_resources_km.xtb b/chrome/app/resources/generated_resources_km.xtb
index a4e1c9b5ea..db87435 100644
--- a/chrome/app/resources/generated_resources_km.xtb
+++ b/chrome/app/resources/generated_resources_km.xtb
@@ -1081,6 +1081,7 @@
 <translation id="1997616988432401742">វិញ្ញាបនបត្ររបស់អ្នក</translation>
 <translation id="1999115740519098545">នៅពេលចាប់ផ្តើមដំណើរការ</translation>
 <translation id="2000419248597011803">បញ្ជូនការស្វែងរក និងខូគី​មួយចំនួនពី​របារអាសយដ្ឋាន និង​ប្រអប់​ស្វែងរកទៅ​ម៉ាស៊ីន​ស្វែងរក​លំនាំដើម​របស់​អ្នក</translation>
+<translation id="2001148512690747464">មិន​មាន​ឧបករណ៍​ផ្គូផ្គង​រហ័ស​ដែលបានរក្សាទុកទៅ <ph name="PRIMARY_EMAIL" /> ទេ</translation>
 <translation id="2002109485265116295">ក្នុងពេលជាក់​ស្ដែង</translation>
 <translation id="2003130567827682533">ដើម្បីបើក​ដំណើរការ​ទិន្នន័យ '<ph name="NAME" />' សូមភ្ជាប់បណ្ដាញ​ Wi-Fi ជាមុនសិន</translation>
 <translation id="2004697686368036666">មុខងារ​នៅលើ​គេហទំព័រ​មួយចំនួន​អាចនឹងមិនដំណើរការទេ</translation>
@@ -1790,6 +1791,7 @@
 <translation id="2642111877055905627">បាល់ទាត់</translation>
 <translation id="2643698698624765890">គ្រប់គ្រងកម្មវិធីបន្ថែមរបស់អ្នកដោយការចុចកម្មវិធីបន្ថែមនៅក្នុងម៉ឺនុយវ៉ិនដូ។</translation>
 <translation id="2645047101481282803">ឧបករណ៍​របស់អ្នកស្ថិតក្រោមការគ្រប់គ្រង​របស់ <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{បាន​នាំចូល​ពាក្យសម្ងាត់ 1 ទៅ​ឧបករណ៍នេះ}other{បាននាំចូល​ពាក្យសម្ងាត់ {NUM_PASSWORDS} ទៅ​ឧបករណ៍​នេះ}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-encoded ASCII, ខ្សែវិញ្ញាបនប័ត្រ</translation>
 <translation id="2652129567809778422">ជ្រើសរើស​ពាក្យសម្ងាត់</translation>
@@ -2967,6 +2969,7 @@
 <translation id="3789841737615482174">តំឡើង</translation>
 <translation id="3790417903123637354">មានអ្វីមួយខុសប្រក្រតី។ ព្យាយាមម្តង​ទៀតនៅពេល​ក្រោយ</translation>
 <translation id="379082410132524484">បណ្ណ​របស់អ្នក​ផុតកំណត់​ហើយ</translation>
+<translation id="3792973596468118484">កម្មវិធីបន្ថែម <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome រកមិនឃើញ​កម្មវិធី​បង្កគ្រោះថ្នាក់​នៅលើ​កុំព្យូទ័រ​របស់អ្នក​ទេ • បានពិនិត្យមើល 1 ថ្ងៃមុន}other{Chrome រកមិនឃើញ​កម្មវិធី​បង្កគ្រោះថ្នាក់​នៅលើ​កុំព្យូទ័រ​របស់អ្នក​ទេ • បានពិនិត្យមើល {NUM_DAYS} ថ្ងៃមុន}}</translation>
 <translation id="379500251094592809">ដើម្បីប្រើ​ការចែករំលែកនៅជិត សូមប្រាកដថា ឧបករណ៍​ទាំងពីរ​មិនជាប់សោ នៅជិតគ្នា និងបានបើក​ប៊្លូធូស។ ប្រសិនបើអ្នក​កំពុងចែករំលែក​ជាមួយ Chromebook ដែលមិនមាននៅក្នុងទំនាក់​ទំនង​របស់អ្នកទេ សូមប្រាកដថា វាបានបើក​លទ្ធភាពមើលឃើញ​នៅជិត (បើកតំបន់ស្ថានភាពដោយជ្រើសរើសពេលវេលា រួចជ្រើសរើស​លទ្ធភាពមើលឃើញ​នៅជិត) សូម<ph name="LINK_BEGIN" />ស្វែងយល់បន្ថែម<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">បិទ</translation>
@@ -4754,6 +4757,7 @@
 <translation id="5542750926112347543">បាន​ទប់ស្កាត់​ខូគី​ពី <ph name="DOMAIN" /></translation>
 <translation id="5542949973455282971">កំពុងភ្ជាប់ <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">កំពុងស្វែងរកស្ថានភាព...</translation>
+<translation id="5544482392629385159">ឧបករណ៍​ទី <ph name="DEVICE_INDEX" /> នៃ <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">កម្មវិធី​បំប្លែង</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{បញ្ចូល​ផ្ទាំង​ទៅក្រុម}other{បញ្ចូល​ផ្ទាំង​ទៅក្រុម}}</translation>
 <translation id="5545693483061321551">គេហទំព័រមិន​អាចប្រើ​ខូគីរបស់អ្នក ដើម្បីមើលសកម្មភាព​រុករក​តាមអ៊ីនធឺណិត​របស់អ្នក​នៅលើ​គេហទំព័រ​ផ្សេងៗ ឧទាហរណ៍ ដើម្បីកំណត់​ការផ្សាយ​ពាណិជ្ជកម្ម​ឱ្យ​ស្របនឹងអ្នកបានទេ។ មុខងារ​នៅលើ​គេហទំព័រ​មួយចំនួន​អាចនឹងមិនដំណើរការទេ។</translation>
@@ -5556,6 +5560,7 @@
 <translation id="6333170995003625229">មិនអាចផ្ទៀងផ្ទាត់អាសយដ្ឋានអ៊ីមែល ឬពាក្យសម្ងាត់របស់អ្នកបានទេ។ សូម​សាកល្បង​ចូលម្តងទៀត។</translation>
 <translation id="6335920438823100346">ដើម្បីចាប់ផ្ដើម Linux, <ph name="MANAGER" /> តម្រូវឱ្យអ្នកបម្រុងទុក​ទិន្នន័យរបស់អ្នក និងកំណត់​ Chromebook នេះទៅការកំណត់​​ដូច​ចេញ​ពី​រោងចក្រឡើងវិញ។</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> បានបិទការជួសជុល ADB។ សកម្មភាពនេះនឹងកំណត់ <ph name="DEVICE_TYPE" /> របស់អ្នកឡើងវិញក្នុងរយៈពេល 24 ម៉ោងទៀត។ សូមបម្រុង​ទុកឯកសារទាំងឡាយ ដែលអ្នកចង់រក្សាទុក។</translation>
+<translation id="6338402296920404442">ពិចារណា​លុប <ph name="FILENAME" /> ដើម្បីកុំឱ្យ​អ្នក​ផ្សេងទៀត​ដែល​ប្រើប្រាស់​ឧបករណ៍នេះ​មើលឃើញ​ពាក្យសម្ងាត់​របស់អ្នក។</translation>
 <translation id="6338981933082930623">គេហទំព័រទាំងអស់អាចបង្ហាញការផ្សាយពាណិជ្ជកម្មដល់អ្នក</translation>
 <translation id="6339668969738228384">បង្កើត​កម្រង​ព័ត៌មាន​ថ្មី​សម្រាប់ <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">ប្រូតូកូលបោះពុម្ពលើអ៊ីនធឺណិត (IPPS)</translation>
@@ -6445,7 +6450,6 @@
 <translation id="7212097698621322584">បញ្ចូលកូដ PIN បច្ចុប្បន្ន​របស់អ្នក ដើម្បីផ្លាស់ប្ដូរវា។ ប្រសិនបើអ្នក​មិនស្គាល់កូដ PIN របស់អ្នក អ្នកត្រូវ​កំណត់សោសុវត្ថិភាព​ឡើងវិញ រួចបង្កើតកូដ PIN ថ្មី។</translation>
 <translation id="7213903639823314449">ម៉ាស៊ីនស្វែងរក​ដែលប្រើ​នៅក្នុងរបារអាសយដ្ឋាន</translation>
 <translation id="721490496276866468">នាំចូល​ពាក្យសម្ងាត់</translation>
-<translation id="7216595297012131718">បញ្ជាទិញ​ភាសា​ដោយ​ផ្អែក​លើ​ចំណូលចិត្ត​របស់​អ្នក</translation>
 <translation id="7219473482981809164">យើងបានរកឃើញ​កម្រងព័ត៌មាន​ជាច្រើនដែលអាច​ទាញយកបាន។ សូមជ្រើសរើស​កម្រងព័ត៌មាន​ដែលអ្នកចង់ទាញយក មុននឹងបន្ត។</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{គ្មាន​ពាក្យសម្ងាត់ខ្សោយ​ទេ}=1{ពាក្យសម្ងាត់ខ្សោយ 1}other{ពាក្យសម្ងាត់ខ្សោយ {NUM_WEAK}}}</translation>
 <translation id="7220019174139618249">មិនអាច​នាំ​ពាក្យ​សម្ងាត់​ចេញទៅ "<ph name="FOLDER" />" បានទេ</translation>
@@ -7628,6 +7632,7 @@
 <translation id="8338952601723052325">គេហទំព័រអ្នកអភិវឌ្ឍន៍</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> បានផ្ទុកទិន្នន័យជាមូលដ្ឋាន</translation>
 <translation id="833986336429795709">ដើម្បីបើក​តំណនេះ សូម​ជ្រើសរើស​កម្មវិធីមួយ</translation>
+<translation id="8340547030807793004">សកម្មភាព​ច្រើន​ទៀត​សម្រាប់ <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">មិនបានព្យាយាមទេ</translation>
 <translation id="8342861492835240085">ជ្រើសរើស​​​បណ្ដុំ</translation>
 <translation id="8345848587667658367">ឥឡូវនេះ អ្នក​អាច​មើល​រូបថត មេឌៀ ការជូនដំណឹង និង​កម្មវិធី​ថ្មីៗ​លើ​ទូរសព្ទ​របស់​អ្នក​បាន​ហើយ</translation>
diff --git a/chrome/app/resources/generated_resources_kn.xtb b/chrome/app/resources/generated_resources_kn.xtb
index aa9a10e..96c23e97 100644
--- a/chrome/app/resources/generated_resources_kn.xtb
+++ b/chrome/app/resources/generated_resources_kn.xtb
@@ -6447,7 +6447,6 @@
 <translation id="7212097698621322584">ಪಿನ್ ಬದಲಾಯಿಸಲು, ನಿಮ್ಮ ಪ್ರಸ್ತುತ ಪಿನ್ ಅನ್ನು ನಮೂದಿಸಿ. ನಿಮ್ಮ ಪಿನ್ ನಿಮಗೆ ಗೊತ್ತಿಲ್ಲದಿದ್ದರೆ, ನೀವು ಭದ್ರತೆ ಕೀ ಅನ್ನು ಮರುಹೊಂದಿಸಿ, ಆಮೇಲೆ ಹೊಸ ಪಿನ್ ಅನ್ನು ರಚಿಸಬೇಕಾಗುತ್ತದೆ.</translation>
 <translation id="7213903639823314449">ವಿಳಾಸ ಪಟ್ಟಿಯಲ್ಲಿ ಬಳಸಲಾದ ಹುಡುಕಾಟ ಇಂಜಿನ್</translation>
 <translation id="721490496276866468">ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ಆಮದು ಮಾಡಿ</translation>
-<translation id="7216595297012131718">ನಿಮ್ಮ ಆದ್ಯತೆಯನ್ನು ಆಧರಿಸಿ ಭಾಷೆಗಳನ್ನು ಕ್ರಮಗೊಳಿಸಿ</translation>
 <translation id="7219473482981809164">ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಹಲವು ಪ್ರೊಫೈಲ್‌ಗಳು ಕಂಡುಬಂದಿವೆ. ಮುಂದುವರಿಯುವ ಮೊದಲು, ನೀವು ಯಾವುದನ್ನೆಲ್ಲಾ ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಬಯಸುತ್ತೀರಿ ಎಂಬುದನ್ನು ಆಯ್ಕೆ ಮಾಡಿ.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{ಯಾವುದೇ ದುರ್ಬಲ ಪಾಸ್‌ವರ್ಡ್‌ಗಳಿಲ್ಲ}=1{1 ದುರ್ಬಲ ಪಾಸ್‌ವರ್ಡ್}one{{NUM_WEAK} ದುರ್ಬಲ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು}other{{NUM_WEAK} ದುರ್ಬಲ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" ಗೆ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ರಫ್ತು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
diff --git a/chrome/app/resources/generated_resources_ko.xtb b/chrome/app/resources/generated_resources_ko.xtb
index 4f9c3c4..0647eec 100644
--- a/chrome/app/resources/generated_resources_ko.xtb
+++ b/chrome/app/resources/generated_resources_ko.xtb
@@ -1081,6 +1081,7 @@
 <translation id="1997616988432401742">내 인증서</translation>
 <translation id="1999115740519098545">시작 그룹</translation>
 <translation id="2000419248597011803">검색주소창 및 검색창의 검색어 및 일부 쿠키를 기본 검색엔진에 전송</translation>
+<translation id="2001148512690747464"><ph name="PRIMARY_EMAIL" />에 저장된 빠른 페어링 기기가 없습니다.</translation>
 <translation id="2002109485265116295">실시간</translation>
 <translation id="2003130567827682533">'<ph name="NAME" />' 데이터를 활성화하려면 먼저 Wi-Fi 네트워크에 연결하세요.</translation>
 <translation id="2004697686368036666">일부 사이트에서 기능이 작동하지 않을 수 있음</translation>
@@ -1345,6 +1346,7 @@
 <translation id="2241053333139545397">여러 웹사이트의 데이터를 읽고 변경</translation>
 <translation id="2241634353105152135">한 번만</translation>
 <translation id="2242687258748107519">파일 정보</translation>
+<translation id="2245296100676446525">동기화를 사용 설정하여 이 기기 및 동기화 중인 모든 곳에서 북마크, 비밀번호, 방문 기록 등을 사용하세요.</translation>
 <translation id="2245603955208828424">화살표 키를 사용하여 글자 단위로 항목을 이동하세요</translation>
 <translation id="2246129643805925002">최신 기능과 보안 개선사항을 제공하기 위해 <ph name="DEVICE_TYPE" /> 업데이트는 백그라운드에서 자동으로 실행됩니다. 설정에서 업데이트 환경설정을 확인할 수 있습니다.</translation>
 <translation id="2246549592927364792">Google에서 이미지 설명을 가져올까요?</translation>
@@ -1790,6 +1792,7 @@
 <translation id="2642111877055905627">축구공</translation>
 <translation id="2643698698624765890">창 메뉴에서 확장 프로그램을 클릭하여 확장 프로그램을 관리할 수 있습니다.</translation>
 <translation id="2645047101481282803"><ph name="PROFILE_NAME" />님이 관리하는 기기입니다</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{비밀번호 1개를 이 기기로 가져왔습니다.}other{비밀번호 {NUM_PASSWORDS}개를 이 기기로 가져왔습니다.}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-인코딩 ASCII, 인증서 체인</translation>
 <translation id="2652129567809778422">비밀번호 선택</translation>
@@ -2967,6 +2970,7 @@
 <translation id="3789841737615482174">설치</translation>
 <translation id="3790417903123637354">문제가 발생했습니다. 나중에 다시 시도해 보세요.</translation>
 <translation id="379082410132524484">카드가 만료됨</translation>
+<translation id="3792973596468118484">확장 프로그램 <ph name="NUM_EXTENSIONS" />개</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome이 컴퓨터에서 유해 소프트웨어를 발견하지 못함 • 1일 전 확인}other{Chrome이 컴퓨터에서 유해 소프트웨어를 발견하지 못함 • {NUM_DAYS}일 전 확인}}</translation>
 <translation id="379500251094592809">Nearby Share를 사용하려면 두 기기가 모두 잠금 해제되어 있고 서로 가까이에 있으며 블루투스가 켜져 있어야 합니다. 연락처에 없는 Chromebook과 공유하려면 Nearby 전체 공개가 사용 설정되어 있는지 확인하세요. 시간을 선택하여 상태 영역을 열고 Nearby 전체 공개를 사용 설정하면 됩니다. <ph name="LINK_BEGIN" />자세히 알아보기<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">사용 안함</translation>
@@ -4752,6 +4756,7 @@
 <translation id="5542750926112347543"><ph name="DOMAIN" />의 쿠키를 차단함</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" />에 연결 중</translation>
 <translation id="5543983818738093899">상태 확인 중...</translation>
+<translation id="5544482392629385159">기기 <ph name="DEVICE_INDEX" />/<ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">렌더러</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{그룹에 탭 추가}other{그룹에 탭 추가}}</translation>
 <translation id="5545693483061321551">사이트에서 사용자의 다양한 사이트 탐색 활동 정보를 이용해 광고 맞춤설정 등의 작업을 하는 데 쿠키를 사용할 수 없습니다. 일부 사이트에서는 기능이 작동하지 않을 수 있습니다.</translation>
@@ -5553,6 +5558,7 @@
 <translation id="6333170995003625229">이메일 또는 비밀번호를 확인할 수 없습니다. 다시 로그인해 주세요.</translation>
 <translation id="6335920438823100346">Linux를 시작하려면 <ph name="MANAGER" />의 요건에 따라 데이터를 백업하고 이 Chromebook을 초기화해야 합니다.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" />(으)로 인해 ADB 디버깅이 사용 중지되었습니다. 24시간 후 <ph name="DEVICE_TYPE" /> 기기가 초기화됩니다. 유지하고 싶은 파일이 있으면 백업해 주세요.</translation>
+<translation id="6338402296920404442">이 기기를 사용하는 다른 사용자가 내 비밀번호를 볼 수 없도록 <ph name="FILENAME" /> 기기를 삭제해 보세요.</translation>
 <translation id="6338981933082930623">모든 사이트에서 광고를 표시할 수 있음</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" />의 새 프로필을 만드세요.</translation>
 <translation id="6340071272923955280">인터넷 인쇄 프로토콜(IPPS)</translation>
@@ -6442,7 +6448,6 @@
 <translation id="7212097698621322584">PIN을 변경하려면 현재 PIN을 입력하세요. PIN을 모르는 경우 보안 키를 재설정한 다음 새 PIN을 만들어야 합니다.</translation>
 <translation id="7213903639823314449">주소 표시줄에서 사용되는 검색엔진</translation>
 <translation id="721490496276866468">비밀번호 가져오기</translation>
-<translation id="7216595297012131718">원하는 대로 언어를 정렬하세요.</translation>
 <translation id="7219473482981809164">다운로드할 수 있는 프로필이 여러 개 확인되었습니다. 계속하기 전에 다운로드할 프로필을 선택하세요.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{취약한 비밀번호 없음}=1{취약한 비밀번호 1개}other{취약한 비밀번호 {NUM_WEAK}개}}</translation>
 <translation id="7220019174139618249">'<ph name="FOLDER" />'(으)로 비밀번호를 내보낼 수 없음</translation>
@@ -7627,6 +7632,7 @@
 <translation id="8338952601723052325">개발자 웹사이트</translation>
 <translation id="8339059274628563283"><ph name="SITE" />에 로컬 저장된 데이터</translation>
 <translation id="833986336429795709">이 링크를 열려면 앱을 선택하세요.</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" />의 작업 메뉴 더보기</translation>
 <translation id="8342221978608739536">사용해 보지 않음</translation>
 <translation id="8342861492835240085">컬렉션 선택</translation>
 <translation id="8345848587667658367">이제 휴대전화의 최근 사진, 미디어, 알림, 앱을 확인할 수 있습니다.</translation>
diff --git a/chrome/app/resources/generated_resources_ky.xtb b/chrome/app/resources/generated_resources_ky.xtb
index d77b6e5..c515ae6 100644
--- a/chrome/app/resources/generated_resources_ky.xtb
+++ b/chrome/app/resources/generated_resources_ky.xtb
@@ -1081,6 +1081,7 @@
 <translation id="1997616988432401742">Тастыктамаларыңыз</translation>
 <translation id="1999115740519098545">Ишти баштаганда</translation>
 <translation id="2000419248597011803">Дарек тилкесиндеги жана издөө кутучасындагы издөөлөрдү жана айрым cookie файлдарын демейки издөө тутумуна жөнөтөт</translation>
+<translation id="2001148512690747464"><ph name="PRIMARY_EMAIL" /> аккаунтуна Ыкчам туташуу түзмөктөрү сакталган жок</translation>
 <translation id="2002109485265116295">Анык убакыт</translation>
 <translation id="2003130567827682533">"<ph name="NAME" />" маалыматтарды өткөрүү кызматын жандыруу үчүн, адегенде Wi-Fi тармагына туташыңыз</translation>
 <translation id="2004697686368036666">Функциялар айрым сайттарда иштебеши мүмкүн</translation>
@@ -1790,6 +1791,7 @@
 <translation id="2642111877055905627">Футбол тобу</translation>
 <translation id="2643698698624765890">Кеңейтүүлөрдү башкаруу үчүн, терезе менюсунан Кеңейтүүлөрдү чыкылдатыңыз.</translation>
 <translation id="2645047101481282803">Түзмөгүңүз <ph name="PROFILE_NAME" /> тарабынан башкарылууда</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 сырсөз ушул түзмөккө импорттолду}other{{NUM_PASSWORDS} сырсөз ушул түзмөккө импорттолду}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64 менен коддолгон ASCII, тастыктама чынжыры</translation>
 <translation id="2652129567809778422">Сырсөздү тандоо</translation>
@@ -2967,6 +2969,7 @@
 <translation id="3789841737615482174">Орнотуу</translation>
 <translation id="3790417903123637354">Бир жерден ката кетти. Бир аздан кийин кайталап көрүңүз</translation>
 <translation id="379082410132524484">Карточкаңыздын мөөнөтү бүткөн</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> кеңейтүү</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome компьютериңизден зыяндуу программа тапкан жок • 1 күн мурун текшерилди}other{Chrome компьютериңизден зыяндуу программа тапкан жок • {NUM_DAYS} күн мурун текшерилди}}</translation>
 <translation id="379500251094592809">Nearby Share функциясын кколдонуу үчүн эки түзмөктүн тең кулпусу ачылып, бири-бирине жакын жайгашып, Bluetooth күйүп турушу керек. Байланыштарыңызда болбогон Chromebook менен бөлүшүп жатсаңыз, андагы Nearby күйүк экенин текшериңиз (убакытты тандоо менен статус аймагын ачып, Nearby функциясын күйгүзүңүз) <ph name="LINK_BEGIN" />Кеңири маалымат<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Өчүк</translation>
@@ -4754,6 +4757,7 @@
 <translation id="5542750926112347543"><ph name="DOMAIN" /> доменинин кукилери бөгөттөлдү</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" /> менен туташууда</translation>
 <translation id="5543983818738093899">Статус текшерилүүдө…</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_COUNT" /> ичинен <ph name="DEVICE_INDEX" />-түзмөк, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Жүргүзгүч</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Өтмөктү топто кошуу}other{Өтмөктөрдү топто кошуу}}</translation>
 <translation id="5545693483061321551">Сайттар cookie файлдарыңыз аркылуу сиз көргөн вебсайттарды көрө албайт (мисалы, жарнамаларды жекелештирүү үчүн). Функциялар айрым сайттарда иштебеши мүмкүн.</translation>
@@ -5555,6 +5559,7 @@
 <translation id="6333170995003625229">Электрондук почта дарегиңиз же сырсөзүңүз ырасталган жок. Кайра кирип көрүңүз.</translation>
 <translation id="6335920438823100346">Linux'ту иштетүү үчүн <ph name="MANAGER" /> дайын-даректериңиздин камдык көчүрмөсүн сактап, Chromebook'ту демейки жөндөөлөргө кайтарууну талап кылууда.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> ADB аркылуу мүчүлүштүктөрдү оңдоону өчүрдү. Ушуну менен <ph name="DEVICE_TYPE" /> түзмөгүңүз 24 сааттын ичинде баштапкы абалга келтирилет. Колдонгуңуз келген файлдардын камдык көчүрмөсүн сактаңыз.</translation>
+<translation id="6338402296920404442">Бул түзмөктү колдонгон башка колдонуучулар сырсөздөрүңүздү көрүп албашы үчүн <ph name="FILENAME" /> файлын өчүрүү сунушталат.</translation>
 <translation id="6338981933082930623">Бардык сайттар ар кандай жарнамаларды көрсөтө алат</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" /> үчүн жаңы профиль түзүү</translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6444,7 +6449,6 @@
 <translation id="7212097698621322584">Аны өзгөртүү үчүн учурдагы PIN кодуңузду киргизиңиз. Эгер PIN кодду билбесеңиз, коопсуздук ачкычын баштапкы абалга келтирип, анан жаңы PIN код түзүшүңүз керек.</translation>
 <translation id="7213903639823314449">Дарек тилкесинде колдонулган издөө каражаты</translation>
 <translation id="721490496276866468">Сырсөздөрдү өткөрүп алуу</translation>
-<translation id="7216595297012131718">Тилдерди өзүңүз каалагандай иреттештириңиз</translation>
 <translation id="7219473482981809164">Жүктөлүп алына турган бир нече профиль табылды. Улантуудан мурун, жүктөп алгыңыз келгендерин тандаңыз.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Начар сырсөздөр жок}=1{1 начар сырсөз бар}other{{NUM_WEAK} начар сырсөз бар}}</translation>
 <translation id="7220019174139618249">Сырсөздөр "<ph name="FOLDER" />" папкасына экспорттолбой жатат</translation>
@@ -7627,6 +7631,7 @@
 <translation id="8338952601723052325">Иштеп чыгуучунун вебсайты</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> жергиликтүү сакталган дайындар</translation>
 <translation id="833986336429795709">Бул шилтемени ачуудан мурда колдонмону тандаңыз</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" /> боюнча башка аракеттер</translation>
 <translation id="8342221978608739536">Колдонуп көргөн жокмун</translation>
 <translation id="8342861492835240085">Жыйнакты тандаңыз</translation>
 <translation id="8345848587667658367">Телефонуңуздагы акыркы сүрөттөрдү, медиа файлдарды, билдирмелерди жана колдонмолорду көрө аласыз</translation>
diff --git a/chrome/app/resources/generated_resources_lo.xtb b/chrome/app/resources/generated_resources_lo.xtb
index 00c5c6d..657ed2e 100644
--- a/chrome/app/resources/generated_resources_lo.xtb
+++ b/chrome/app/resources/generated_resources_lo.xtb
@@ -1078,6 +1078,7 @@
 <translation id="1997616988432401742">ໃບ​ຢັ້ງ​ຢືນ​ຂອງ​ທ່ານ</translation>
 <translation id="1999115740519098545">ຢູ່ໃນຕອນເລີ່ມຕົ້ນ</translation>
 <translation id="2000419248597011803">ສົ່ງບາງຄຸກກີ້ ແລະ ການຊອກຫາຈາກແຖບທີ່ຢູ່ ແລະ ກ່ອງຊອກຫາໄປໃຫ້ໂປຣແກຣມຊອກຫາເລີ່ມຕົ້ນຂອງທ່ານ</translation>
+<translation id="2001148512690747464">ບໍ່ມີອຸປະກອນຈັບຄູ່ດ່ວນທີ່ບັນທຶກໄວ້ໃນ <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">ເວລາຈິງ</translation>
 <translation id="2003130567827682533">ເພື່ອເປີດນຳໃຊ້ອິນເຕີເນັດ '<ph name="NAME" />', ກ່ອນອື່ນໃຫ້ເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍ Wi-Fi</translation>
 <translation id="2004697686368036666">ຄຸນສົມບັດຢູ່ບາງເວັບໄຊອາດບໍ່ເຮັດວຽກ</translation>
@@ -1343,6 +1344,7 @@
 <translation id="2241053333139545397">ອ່ານ​ ແລະ​ປ່ຽນແປງ​ຂໍ້​ມູນ​ຂອງ​ທ່ານຢູ່ເທິງເວັບໄຊທ໌ຈຳ​ນວນ​ໜຶ່ງ</translation>
 <translation id="2241634353105152135">ຄັ້ງ​ດຽວ​ເທົ່າ​ນັ້ນ</translation>
 <translation id="2242687258748107519">ຂໍ້​ມູນໄຟລ໌</translation>
+<translation id="2245296100676446525">ເປີດການຊິ້ງຂໍ້ມູນເພື່ອໂຫຼດບຸກມາກ, ລະຫັດຜ່ານ, ປະຫວັດ ແລະ ອື່ນໆຂອງທ່ານໃນອຸປະກອນນີ້ ແລະ ບ່ອນໃດກໍໄດ້ທີ່ທ່ານຈະຊິ້ງຂໍ້ມູນ.</translation>
 <translation id="2245603955208828424">ໃຊ້ປຸ່ມລູກສອນເພື່ອເລື່ອນເບິ່ງລາຍການຕ່າງໆເທື່ອລະຕົວອັກສອນ</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> ຂອງທ່ານຈະອັບເດດໃນພື້ນຫຼັງໂດຍອັດຕະໂນມັດເພື່ອມອບຄຸນສົມບັດຫຼ້າສຸດ ແລະ ການປັບປຸງຄວາມປອດໄພໃຫ້ທ່ານ. ທ່ານສາມາດກວດສອບການຕັ້ງຄ່າອັບເດດໄດ້ໃນການຕັ້ງຄ່າ.</translation>
 <translation id="2246549592927364792">ຮັບລາຍລະອຽດຮູບພາບຈາກ Google ບໍ?</translation>
@@ -1788,6 +1790,7 @@
 <translation id="2642111877055905627">ໝາກບານເຕະ</translation>
 <translation id="2643698698624765890">ຈັດການສ່ວນຂະຫຍາຍຂອງທ່ານໂດຍການຄລິກສ່ວນຂະຫຍາຍຢູ່ໃນເມນູໜ້າຕ່າງ.</translation>
 <translation id="2645047101481282803">ອຸປະກອນຂອງທ່ານຖືກຈັດການໂດຍ <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{ລະຫັດຜ່ານ 1 ລາຍການໄດ້ຖືກນໍາເຂົ້າໃນອຸປະກອນນີ້}other{ລະຫັດຜ່ານ {NUM_PASSWORDS} ໄດ້ຖືກນໍາເຂົ້າໃນອຸປະກອນນີ້}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-encoded ASCII, ຕ່ອງໂສ້ໃບຢັ້ງຢືນ</translation>
 <translation id="2652129567809778422">ເລືອກລະຫັດຜ່ານ</translation>
@@ -2965,6 +2968,7 @@
 <translation id="3789841737615482174">​ຕິດ​ຕັ້ງ</translation>
 <translation id="3790417903123637354">ມີບາງຢ່າງຜິດພາດ. ລອງໃໝ່ໃນພາຍຫລັງ</translation>
 <translation id="379082410132524484">ບັດຂອງທ່ານໝົດອາຍຸແລ້ວ</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> ສ່ວນຂະຫຍາຍ</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome ບໍ່ພົບຊອບແວອັນຕະລາຍໃນຄອມພິວເຕີຂອງທ່ານ • ກວດເມື່ອ 1 ມື້ກ່ອນ}other{Chrome ບໍ່ພົບຊອບແວອັນຕະລາຍໃນຄອມພິວເຕີຂອງທ່ານ • ກວດເມື່ອ {NUM_DAYS} ມື້ກ່ອນ}}</translation>
 <translation id="379500251094592809">ເພື່ອໃຊ້ການແບ່ງປັນໃກ້ຄຽງ, ກະລຸນາກວດສອບວ່າອຸປະກອນທັງສອງປົດລັອກແລ້ວ, ຢູ່ໃກ້ກັນ ແລະ ເປີດ Bluetooth. ຖ້າທ່ານກຳລັງແບ່ງປັນກັບ Chromebook ທີ່ບໍ່ໄດ້ຢູ່ໃນລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານ, ກະລຸນາກວດໃຫ້ແນ່ໃຈວ່າມັນໄດ້ເປີດການແບ່ງປັນໃກ້ຄຽງ (ເປີດພື້ນທີ່ສະຖານະໂດຍການເລືອກເວລາ, ຈາກນັ້ນເປີດການແບ່ງປັນໃກ້ຄຽງ) <ph name="LINK_BEGIN" />ສຶກສາເພີ່ມເຕີມ<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">ປິດ</translation>
@@ -4751,6 +4755,7 @@
 <translation id="5542750926112347543">ບລັອກຄຸກກີ້ຈາກ <ph name="DOMAIN" /> ແລ້ວ</translation>
 <translation id="5542949973455282971">ກຳລັງເຊື່ອມຕໍ່ກັບ <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">ກໍາລັງກວດ​ຫາ​ສະ​ຖາ​ນະ​...</translation>
+<translation id="5544482392629385159">ອຸປະກອນ <ph name="DEVICE_INDEX" /> ໃນ <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">ຕົວສະແດງພາບ</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{ເພີ່ມແຖບໃສ່ກຸ່ມ}other{ເພີ່ມແຖບໃສ່ກຸ່ມ}}</translation>
 <translation id="5545693483061321551">ເວັບໄຊບໍ່ສາມາດໃຊ້ຄຸກກີ້ຂອງທ່ານເພື່ອເບິ່ງການເຄື່ອນໄຫວການທ່ອງເວັບຂອງທ່ານໃນເວັບໄຊຕ່າງໆໄດ້, ຕົວຢ່າງ: ເພື່ອປັບແຕ່ງໂຄສະນາໃຫ້ເປັນແບບສ່ວນຕົວ. ຄຸນສົມບັດຢູ່ບາງເວັບໄຊອາດບໍ່ເຮັດວຽກ.</translation>
@@ -5552,6 +5557,7 @@
 <translation id="6333170995003625229">ບໍ່ສາມາດຢັ້ງຢືນທີ່ຢູ່ອີເມວ ຫຼື ລະຫັດຜ່ານຂອງທ່ານໄດ້. ກະລຸນາລອງເຂົ້າສູ່ລະບົບອີກເທື່ອໜຶ່ງ.</translation>
 <translation id="6335920438823100346">ເພື່ອເລີ່ມ Linux, <ph name="MANAGER" /> ກຳນົດໃຫ້ທ່ານສຳຮອງຂໍ້ມູນຂອງທ່ານໄວ້ ແລະ ຣີເຊັດ Chromebook ນີ້ເປັນການຕັ້ງຄ່າຈາກໂຮງງານ.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> ໄດ້ປິດການນຳໃຊ້ການດີບັກ ADB ແລ້ວ. ນີ້ຈະຣີເຊັດ <ph name="DEVICE_TYPE" /> ໃນ 24 ຊົ່ວໂມງ. ສຳຮອງຂໍ້ມູນໄຟລ໌ຕ່າງໆທີ່ທ່ານຕ້ອງຮັກສາໄວ້</translation>
+<translation id="6338402296920404442">ພິຈາລະນາລຶບ <ph name="FILENAME" />, ເພື່ອບໍ່ໃຫ້ຜູ້ອື່ນທີ່ໃຊ້ອຸປະກອນນີ້ເຫັນລະຫັດຜ່ານຂອງທ່ານ.</translation>
 <translation id="6338981933082930623">ເວັບໄຊທັງໝົດສາມາດສະແດງໂຄສະນາຕ່າງໆໃຫ້ທ່ານເຫັນໄດ້</translation>
 <translation id="6339668969738228384">ສ້າງໂປຣໄຟລ໌ໃໝ່ສຳລັບ <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">ໂປຣໂຕຄໍການພິມຜ່ານອິນເຕີເນັດ (IPPS)</translation>
@@ -6441,7 +6447,6 @@
 <translation id="7212097698621322584">ປ້ອນ PIN ປັດຈຸບັນຂອງທ່ານເພື່ອປ່ຽນມັນ. ຖ້າທ່ານບໍ່ຮູ້ຈັກ PIN ຂອງທ່ານ, ທ່ານຈະຈໍາເປັນຕ້ອງຣີເຊັດກະແຈຄວາມປອດໄພ, ແລ້ວສ້າງ PIN ໃໝ່.</translation>
 <translation id="7213903639823314449">ໂປຣແກຣມຊອກຫາທີ່ໃຊ້ໃນແຖບທີ່ຢູ່</translation>
 <translation id="721490496276866468">ນຳເຂົ້າລະຫັດຜ່ານ</translation>
-<translation id="7216595297012131718">ຈັດລຳດັບພາສາອີງຕາມການຕັ້ງຄ່າຂອງທ່ານ</translation>
 <translation id="7219473482981809164">ພວກເຮົາພົບເຫັນຫຼາຍໂປຣໄຟລ໌ທີ່ພ້ອມໃຫ້ດາວໂຫຼດ. ເລືອກໂປຣໄຟລ໌ທີ່ທ່ານຕ້ອງການດາວໂຫຼດກ່ອນທີ່ຈະດຳເນີນຕໍ່.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{ບໍ່ມີລະຫັດຜ່ານງ່າຍ}=1{ລະຫັດຜ່ານງ່າຍ 1 ລາຍການ}other{ລະຫັດຜ່ານງ່າຍ {NUM_WEAK} ລາຍການ}}</translation>
 <translation id="7220019174139618249">ບໍ່ສາມາດສົ່ງລະຫັດຜ່ານອອກໄປຫາ "<ph name="FOLDER" />" ໄດ້</translation>
@@ -7623,6 +7628,7 @@
 <translation id="8338952601723052325">ເວັບ​ໄຊ​ທ​໌ຜູ້ພັດ​ທະ​ນາ​</translation>
 <translation id="8339059274628563283">ຂໍ້ມູນທີ່ເກັບໄວ້ສະເພາະບ່ອນໃນ <ph name="SITE" /></translation>
 <translation id="833986336429795709">ເພື່ອເປີດລິ້ງນີ້, ກະລຸນາເລືອກແອັບໃດໜຶ່ງ</translation>
+<translation id="8340547030807793004">ຄຳສັ່ງເພີ່ມເຕີມສຳລັບ <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">ບໍ່ໄດ້ລອງ</translation>
 <translation id="8342861492835240085">ເລືອກຄໍເລັກຊັນ</translation>
 <translation id="8345848587667658367">ຕອນນີ້ທ່ານສາມາດເບິ່ງຮູບພາບ, ມີເດຍ, ການແຈ້ງເຕືອນ ແລະ ແອັບຫຼ້າສຸດຂອງໂທລະສັບທ່ານໄດ້ແລ້ວ</translation>
diff --git a/chrome/app/resources/generated_resources_lt.xtb b/chrome/app/resources/generated_resources_lt.xtb
index 84a25d9..bd0ddfc 100644
--- a/chrome/app/resources/generated_resources_lt.xtb
+++ b/chrome/app/resources/generated_resources_lt.xtb
@@ -6459,7 +6459,6 @@
 <translation id="7212097698621322584">Įveskite dabartinį PIN kodą, jei norite jį pakeisti. Jei dabartinio PIN kodo nežinote, turėsite nustatyti saugos raktą iš naujo ir sukurti naują PIN kodą.</translation>
 <translation id="7213903639823314449">Adreso juostoje naudojamas paieškos variklis</translation>
 <translation id="721490496276866468">Slaptažodžių importavimas</translation>
-<translation id="7216595297012131718">Surikiuokite kalbas, kaip pageidaujate</translation>
 <translation id="7219473482981809164">Radome kelis profilius, kuriuos galima atsisiųsti. Prieš tęsdami pasirinkite tuos, kuriuos norite atsisiųsti.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nėra nesudėtingų slaptažodžių}=1{1 nesudėtingas slaptažodis}one{{NUM_WEAK} nesudėtingas slaptažodis}few{{NUM_WEAK} nesudėtingi slaptažodžiai}many{{NUM_WEAK} nesudėtingo slaptažodžio}other{{NUM_WEAK} nesudėtingų slaptažodžių}}</translation>
 <translation id="7220019174139618249">Nepavyksta eksportuoti slaptažodžių į aplanką „<ph name="FOLDER" />“</translation>
diff --git a/chrome/app/resources/generated_resources_lv.xtb b/chrome/app/resources/generated_resources_lv.xtb
index 7b3f777..df4a6ef 100644
--- a/chrome/app/resources/generated_resources_lv.xtb
+++ b/chrome/app/resources/generated_resources_lv.xtb
@@ -1071,6 +1071,7 @@
 <translation id="1997616988432401742">Jūsu sertifikāti</translation>
 <translation id="1999115740519098545">Sākumlapā</translation>
 <translation id="2000419248597011803">Nosūta dažus sīkfailus un meklēšanas vaicājumus no adreses joslas un meklēšanas lodziņa uz jūsu noklusējuma meklētājprogrammu.</translation>
+<translation id="2001148512690747464">Kontā <ph name="PRIMARY_EMAIL" /> nav saglabāta neviena ātrās savienošanas pārī ierīce</translation>
 <translation id="2002109485265116295">Reāllaiks</translation>
 <translation id="2003130567827682533">Lai aktivizētu <ph name="NAME" /> datus, vispirms izveidojiet savienojumu ar Wi-Fi tīklu.</translation>
 <translation id="2004697686368036666">Noteiktās vietnēs funkcijas var nedarboties.</translation>
@@ -1335,6 +1336,7 @@
 <translation id="2241053333139545397">Lasīt un mainīt jūsu datus vairākās vietnēs</translation>
 <translation id="2241634353105152135">Tikai vienreiz</translation>
 <translation id="2242687258748107519">Faila informācija</translation>
+<translation id="2245296100676446525">Ieslēdziet sinhronizāciju, lai iegūtu savas grāmatzīmes, paroles, vēsturi un citu saturu šajā ierīcē un jebkurā citā ierīcē, kurā veicat sinhronizāciju.</translation>
 <translation id="2245603955208828424">Izmantojiet bulttaustiņus, lai pārvietotos pa vienumiem burtu pa burtam.</translation>
 <translation id="2246129643805925002">Jūsu ierīce (<ph name="DEVICE_TYPE" />) tiek automātiski atjaunināta fonā, lai nodrošinātu jums jaunākās funkcijas un drošības uzlabojumus. Iestatījumos varat pārskatīt atjaunināšanas preferences.</translation>
 <translation id="2246549592927364792">Vai vēlaties iegūt attēlu aprakstus no Google?</translation>
@@ -1776,6 +1778,7 @@
 <translation id="2642111877055905627">Futbolbumba</translation>
 <translation id="2643698698624765890">Pārvaldiet savus paplašinājumus, izvēlnē Logs noklikšķinot uz Paplašinājumi.</translation>
 <translation id="2645047101481282803">Jūsu ierīci pārvalda <ph name="PROFILE_NAME" />.</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{Viena parole importēta uz šo ierīci}zero{{NUM_PASSWORDS} paroles importētas uz šo ierīci}one{{NUM_PASSWORDS} parole importēta uz šo ierīci}other{{NUM_PASSWORDS} paroles importētas uz šo ierīci}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">Base64 kodēts ASCII, sertifikātu virkne</translation>
 <translation id="2652129567809778422">Paroles atlase</translation>
@@ -2953,6 +2956,7 @@
 <translation id="3789841737615482174">Instalēt</translation>
 <translation id="3790417903123637354">Radās kļūda. Vēlāk mēģiniet vēlreiz.</translation>
 <translation id="379082410132524484">Kartes derīguma termiņš ir beidzies</translation>
+<translation id="3792973596468118484">Paplašinājumu skaits: <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome neatrada kaitīgu programmatūru jūsu datorā. • Pārbaudīts: pirms 1 dienas.}zero{Chrome neatrada kaitīgu programmatūru jūsu datorā. • Pārbaudīts: pirms {NUM_DAYS} dienām.}one{Chrome neatrada kaitīgu programmatūru jūsu datorā. • Pārbaudīts: pirms {NUM_DAYS} dienas.}other{Chrome neatrada kaitīgu programmatūru jūsu datorā. • Pārbaudīts: pirms {NUM_DAYS} dienām.}}</translation>
 <translation id="379500251094592809">Lai izmantotu funkciju Kopīgošana tuvumā, abām ierīcēm ir jābūt atbloķētām, jāatrodas blakus un tajās jābūt ieslēgtam Bluetooth savienojumam. Ja veicat kopīgošanu ar Chromebook datoru, kas nav iekļauts jūsu kontaktpersonu sarakstā, datorā ir jāieslēdz funkcijas “Tuvumā” redzamība (atveriet statusa apgabalu, atlasot laiku, un pēc tam ieslēdziet opciju “Tuvumā: redzamība”). <ph name="LINK_BEGIN" />Uzzināt vairāk<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Izslēgts</translation>
@@ -4739,6 +4743,7 @@
 <translation id="5542750926112347543">Domēna <ph name="DOMAIN" /> sīkfaili ir bloķēti.</translation>
 <translation id="5542949973455282971">Notiek savienojuma izveide ar tīklu <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Notiek statusa pārbaudīšana...</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_NAME" />: <ph name="DEVICE_INDEX" />. ierīce no <ph name="DEVICE_COUNT" /></translation>
 <translation id="554517701842997186">Renderētājs</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Pievienot cilni grupai}zero{Pievienot cilnes grupai}one{Pievienot cilnes grupai}other{Pievienot cilnes grupai}}</translation>
 <translation id="5545693483061321551">Vietnes nedrīkst izmantot sīkfailus, lai skatītu jūsu pārlūkošanas darbības dažādās vietnēs, piemēram, lai personalizētu reklāmas. Noteiktās vietnēs funkcijas var nedarboties.</translation>
@@ -5537,6 +5542,7 @@
 <translation id="6333170995003625229">Nevarēja verificēt jūsu e-pasta adresi vai paroli. Mēģiniet pierakstīties vēlreiz.</translation>
 <translation id="6335920438823100346"><ph name="MANAGER" /> pieprasa, lai pirms Linux palaišanas jūs dublētu savus datus un atiestatītu šo Chromebook datoru uz rūpnīcas iestatījumiem.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> atspējoja ADB atkļūdošanu. Tādēļ 24 stundu laikā tiks atiestatīta jūsu <ph name="DEVICE_TYPE" /> ierīce. Dublējiet visus failus, ko vēlaties paturēt.</translation>
+<translation id="6338402296920404442">Lai citi lietotāji, kuri izmanto šo ierīci, nevarētu skatīt jūsu paroles, ieteicams dzēst failu <ph name="FILENAME" />.</translation>
 <translation id="6338981933082930623">Atļaut visām vietnēm rādīt jebkādas reklāmas</translation>
 <translation id="6339668969738228384">Izveidot profilu kontam <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6430,7 +6436,6 @@
 <translation id="7212097698621322584">Ievadiet pašreizējo PIN, lai to mainītu. Ja nezināt savu PIN, būs jāatiestata drošības atslēga un pēc tam jāizveido jauns PIN.</translation>
 <translation id="7213903639823314449">Adreses joslā izmantotā meklētājprogramma.</translation>
 <translation id="721490496276866468">Importēt paroles</translation>
-<translation id="7216595297012131718">Kārtojiet valodas atbilstoši preferencei.</translation>
 <translation id="7219473482981809164">Atradām vairākus profilus, ko varat lejupielādēt. Pirms turpināt, atlasiet tos profilus, ko vēlaties lejupielādēt.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nav nedrošu paroļu}=1{1 nedroša parole}zero{{NUM_WEAK} nedrošu paroļu}one{{NUM_WEAK} nedroša parole}other{{NUM_WEAK} nedrošas paroles}}</translation>
 <translation id="7220019174139618249">Nevar eksportēt paroles uz mapi “<ph name="FOLDER" />”.</translation>
@@ -7613,6 +7618,7 @@
 <translation id="8338952601723052325">Izstrādātāja vietne</translation>
 <translation id="8339059274628563283">Vietnes <ph name="SITE" /> lokāli glabātie dati</translation>
 <translation id="833986336429795709">Lai atvērtu šo saiti, izvēlieties lietotni.</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" />: citas darbības</translation>
 <translation id="8342221978608739536">Nemēģināju skatīt</translation>
 <translation id="8342861492835240085">Kolekcijas atlase</translation>
 <translation id="8345848587667658367">Tagad varat skatīt tālruņa jaunākos fotoattēlus, multivides saturu, paziņojumus un lietotnes.</translation>
diff --git a/chrome/app/resources/generated_resources_mk.xtb b/chrome/app/resources/generated_resources_mk.xtb
index ce9e8d7..89eacf6a 100644
--- a/chrome/app/resources/generated_resources_mk.xtb
+++ b/chrome/app/resources/generated_resources_mk.xtb
@@ -2209,6 +2209,7 @@
 <translation id="3021065318976393105">Додека се користи батерија</translation>
 <translation id="3021066826692793094">Пеперутка</translation>
 <translation id="3021678814754966447">&amp;Прикажи извор на рамка</translation>
+<translation id="3022361196600037287"><ph name="DEVICE" /> ќе се отстрани од овој Chromebook и нема да се зачува на <ph name="PRIMARY_EMAIL" />.</translation>
 <translation id="3022978424994383087">Не го разбрав тоа.</translation>
 <translation id="3023464535986383522">Изберете за говор</translation>
 <translation id="3024374909719388945">Користи 24-часовен часовник</translation>
@@ -3748,6 +3749,7 @@
 <translation id="4535127706710932914">Стандарден профил</translation>
 <translation id="4535767533210902251">Сензорот за отпечатоци е копчето десно на врвот од вашата тастатура. Допрете го лесно со кој било прст.</translation>
 <translation id="4536140153723794651">Сајтови што секогаш можат да користат колачиња</translation>
+<translation id="4536769240747010177">Можности за интернет преку мобилен:</translation>
 <translation id="4538417792467843292">Избриши збор</translation>
 <translation id="4538792345715658285">Инсталирано од компаниската политика.</translation>
 <translation id="4541123282641193691">Вашата сметка не може да се потврди. Обидете се повторно или рестартирајте го вашиот Chromebook.</translation>
@@ -3775,6 +3777,7 @@
 <translation id="4561893854334016293">Нема неодамна променети дозволи</translation>
 <translation id="4562155214028662640">Додај отпечаток</translation>
 <translation id="4563210852471260509">Првичниот јазик на внесување е кинески</translation>
+<translation id="4563382028841851106">Отстрани од сметката</translation>
 <translation id="4563880231729913339">Прст 3</translation>
 <translation id="4564245002465020751">Завршете го поставувањето на вашиот телефон</translation>
 <translation id="4565377596337484307">Сокриј ја лозинката</translation>
@@ -6194,6 +6197,10 @@
 <translation id="6943939122536910181">Не е поврзан со <ph name="DEVICE" /></translation>
 <translation id="6945221475159498467">Избери</translation>
 <translation id="694592694773692225">Пренасочувањето е блокирано на оваа страница.</translation>
+<translation id="6947015141909171112">Прикажани се рецепти според вашата неодамнешна активност на пребарување рецепти.
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        Може да управувате со поставките од менито со картички или да видите повеќе опции во „Приспособете го Chrome“.</translation>
 <translation id="6949434160682548041">Лозинка (изборно)</translation>
 <translation id="6950627417367801484">Врати ги апликациите</translation>
 <translation id="6952242901357037157">Тука може да се прикажуваат и лозинките од <ph name="BEGIN_LINK" />сметката на Google<ph name="END_LINK" /></translation>
@@ -6452,7 +6459,6 @@
 <translation id="7212097698621322584">Внесете го тековниот PIN за да го промените. Ако не го знаете PIN-кодот, ќе треба да го ресетирате безбедносниот клуч, а потоа да создадете нов PIN.</translation>
 <translation id="7213903639823314449">Пребарувач што се користи во лентата за адреси</translation>
 <translation id="721490496276866468">Увезете ги лозинките</translation>
-<translation id="7216595297012131718">Нарачајте јазици според вашите желби</translation>
 <translation id="7219473482981809164">Најдовме повеќе профили достапни за преземање. Изберете ги оние што сакате да ги преземете пред да продолжите.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Нема слаби лозинки}=1{1 слаба лозинка}one{{NUM_WEAK} слаба лозинка}other{{NUM_WEAK} слаби лозинки}}</translation>
 <translation id="7220019174139618249">Лозинките не може да се извезат во „<ph name="FOLDER" />“</translation>
@@ -6988,6 +6994,7 @@
 <translation id="7737115349420013392">Се спарува со „<ph name="DEVICE_NAME" />“…</translation>
 <translation id="7737846262459425222">Ова може да го промените во секое време во „Поставки &gt; Помошник на Google &gt; Контекст на екранот“.</translation>
 <translation id="7737948071472253612">Не им е дозволено да ја користат камерата</translation>
+<translation id="77381465218432215">Прикажувај ги знаците за акцентирање и специјалните знаци</translation>
 <translation id="7740996059027112821">Стандарден</translation>
 <translation id="7741307896921365578">Овозможува странична табла на ниво на прелистувачот за корисен и доследен начин на пристапување до „Списокот за читање“ и „Обележувачите“.</translation>
 <translation id="7742558784808143689">Да се избришат податоците и дозволите од сајтот за <ph name="SITE_NAME" />, сите сајтови под него и инсталираните апликации?</translation>
@@ -7780,6 +7787,7 @@
 <translation id="8486666913807228950">Причина: обратното правило <ph name="REVERT_RULE" /> беше најдено во списокот „Отвори присилно во“.</translation>
 <translation id="848666842773560761">Апликација се обидува да пристапи до камерата. Исклучете го копчето за приватност на камерата за да дозволите пристап.</translation>
 <translation id="8487678622945914333">Зумирај</translation>
+<translation id="8487699605742506766">Точка на пристап</translation>
 <translation id="8489156414266187072">Личните предлози се прикажуваат само на вашата сметка</translation>
 <translation id="8490896350101740396">Следниве апликации на Киоск „<ph name="UPDATED_APPS" />“ се ажурирани. Рестартирајте го уредот за да го завршите процесот на ажурирање.</translation>
 <translation id="8492685019009920170">Допрете го сензорот за отпечатоци со прстот. Податоците се складираат безбедно и никогаш не го напуштаат вашиот <ph name="DEVICE_TYPE" />.</translation>
@@ -8274,6 +8282,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{„<ph name="TAB_TITLE" />“}=1{„<ph name="TAB_TITLE" />“ и уште 1 картичка}one{„<ph name="TAB_TITLE" />“ и уште # картичка}other{„<ph name="TAB_TITLE" />“ и уште # картички}}</translation>
 <translation id="8977811652087512276">Неточна лозинка или оштетена датотека</translation>
 <translation id="8978154919215542464">Вклучено - синхронизирај сѐ</translation>
+<translation id="8978670037548431647">Освежи ги можностите за интернет преку мобилен</translation>
 <translation id="897939795688207351">На <ph name="ORIGIN" /></translation>
 <translation id="8980345560318123814">Извештаи со повратни информации</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - падна</translation>
@@ -8538,6 +8547,7 @@
 <translation id="935854577147268200">Телефонот за Smart Lock е сменет. Внесете ја вашата лозинка за да се ажурира Smart Lock. Следниот пат, телефонот ќе го отклучи вашиот <ph name="DEVICE_TYPE" />. Smart Lock може да се исклучи во „Поставки“.</translation>
 <translation id="936646668635477464">Камера и микрофон</translation>
 <translation id="936801553271523408">Дијагностички податоци на системот</translation>
+<translation id="937053962468712792">Да се отстрани <ph name="DEVICE" /> од <ph name="PRIMARY_EMAIL" />?</translation>
 <translation id="93766956588638423">Поправи ја екстензијата</translation>
 <translation id="938568644810664664">Пробајте со „Ok Google, what song is this?“ (Океј Гугл, која песна е ова?) или „Ok Google, what's on my screen?“ (Океј Гугл, што имам на екранот?)</translation>
 <translation id="938623846785894166">Невообичаена датотека</translation>
diff --git a/chrome/app/resources/generated_resources_ml.xtb b/chrome/app/resources/generated_resources_ml.xtb
index 4a50b2e..979924a 100644
--- a/chrome/app/resources/generated_resources_ml.xtb
+++ b/chrome/app/resources/generated_resources_ml.xtb
@@ -6433,7 +6433,6 @@
 <translation id="7212097698621322584">പിൻ മാറ്റാൻ നിലവിലെ പിൻ നൽകുക. നിങ്ങളുടെ പിൻ അറിയില്ലെങ്കിൽ, സുരക്ഷാ കീ പുനഃസജ്ജീകരിച്ച് പുതിയ പിൻ സൃഷ്‌ടിക്കേണ്ടി വരും.</translation>
 <translation id="7213903639823314449">വിലാസ ബാറിൽ ഉപയോഗിക്കുന്ന തിരയൽ യന്ത്രം</translation>
 <translation id="721490496276866468">പാസ്‌വേഡുകൾ ഇമ്പോർട്ട് ചെയ്യുക</translation>
-<translation id="7216595297012131718">നിങ്ങളുടെ മുൻഗണന അനുസരിച്ച് ഭാഷകൾ ക്രമപ്പെടുത്തുക</translation>
 <translation id="7219473482981809164">ഡൗൺലോഡ് ചെയ്യാൻ ഒന്നിലധികം പ്രൊഫൈലുകൾ‌ ഞങ്ങൾ‌ കണ്ടെത്തി. തുടരുന്നതിന് മുമ്പ് നിങ്ങൾ ഡൗൺലോഡ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നവ തിരഞ്ഞെടുക്കുക.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{ദുർബലമായ പാസ്‌വേഡുകളൊന്നുമില്ല}=1{ഒരു ദുർബലമായ പാസ്‌വേഡ്}other{{NUM_WEAK} ദുർബലമായ പാസ്‌വേഡുകൾ}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" ഫോൾഡറിലേക്ക് പാസ്‍വേഡുകൾ എക്‌സ്‌പോർട്ട് ചെയ്യാനാകില്ല</translation>
diff --git a/chrome/app/resources/generated_resources_mn.xtb b/chrome/app/resources/generated_resources_mn.xtb
index 67f154a..95f4c19 100644
--- a/chrome/app/resources/generated_resources_mn.xtb
+++ b/chrome/app/resources/generated_resources_mn.xtb
@@ -902,6 +902,7 @@
 <translation id="1829129547161959350">Пенгвин</translation>
 <translation id="1829192082282182671">Жижигрүүлж харах&amp;</translation>
 <translation id="1830550083491357902">-д нэвтрээгүй</translation>
+<translation id="1831848493690504725">Бид холбогдсон сүлжээгээр дамжуулан Google-д холбогдох боломжгүй. Өөр сүлжээ сонгох эсвэл сүлжээний тохиргоо, прокси тохиргоогоо (хэрэв та прокси ашиглаж байгаа бол) шалгаж үзнэ үү.</translation>
 <translation id="1832459821645506983">Тийм, би зөвшөөрч байна</translation>
 <translation id="1832511806131704864">Гар утасны өөрчлөлт шинэчлэгдсэн</translation>
 <translation id="1832848789136765277">Та синк хийсэн өгөгдөлдөө үргэлж хандах боломжтой эсэхээ баталгаажуулахын тулд өөрийгөө мөн болохыг баталгаажуулна уу</translation>
@@ -4746,6 +4747,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" />-нь дараах хүсэлтэй байна</translation>
 <translation id="5534304873398226603">Зураг эсвэл видеог устгах</translation>
 <translation id="5537725057119320332">Cast</translation>
+<translation id="5539070192556911367">Google-д холбогдох боломжгүй байна</translation>
 <translation id="5539221284352502426">Таны оруулсан нууц үгийг серверээс зөвшөөрөөгүй байна. Үүнд дараах шалтгаан байж болно: Нууц үг хэт богино. Нууц үг тоо эсвэл тэмдэгт агуулах ёстой. Нууц үг нь өмнөх нууц үгээс өөр байх шаардлагатай.</translation>
 <translation id="5541694225089836610">Таны админ үйлдлийг идэвхгүй болгосон байна</translation>
 <translation id="5542132724887566711">Танилцуулга</translation>
@@ -4809,6 +4811,7 @@
 <translation id="5585912436068747822">Форматлах явц амжилтгүй боллоо</translation>
 <translation id="5588033542900357244">( <ph name="RATING_COUNT" /> )</translation>
 <translation id="558918721941304263">Аппыг ачаалж байна...</translation>
+<translation id="5590418976913374224">Төхөөрөмжийн эхлэлд дуу тоглуулах</translation>
 <translation id="5592595402373377407">Хангалттай дата байхгүй байна.</translation>
 <translation id="5595307023264033512">Сайтуудын хадгалах сангийн ашиглалтын нийт хэмжээ: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Хаягийг засах</translation>
@@ -6353,6 +6356,7 @@
 <translation id="7102687220333134671">Автомат шинэчлэлтийг асаасан</translation>
 <translation id="7102832101143475489">Хүсэлтийн хугацаа хэтэрлээ</translation>
 <translation id="710640343305609397">Сүлжээний тохиргоог нээх</translation>
+<translation id="7107609441453408294">Бүх чанга яригчаар ижил аудио тоглуулах</translation>
 <translation id="7108338896283013870">Нуух</translation>
 <translation id="7108668606237948702">оруулах</translation>
 <translation id="7108933416628942903">Одоо түгжих</translation>
@@ -6444,7 +6448,6 @@
 <translation id="7212097698621322584">ПИН-г өөрчлөхийн тулд одоогийн ПИН-ээ оруулна уу. Хэрэв та ПИН-ээ мэдэхгүй бол аюулгүй байдлын түлхүүрээ шинэчлээд дараа нь шинэ ПИН үүсгэх шаардлагатай.</translation>
 <translation id="7213903639823314449">Хаяг оруулах хэсэгт ашигласан хайлтын систем</translation>
 <translation id="721490496276866468">Нууц үгнүүдийг импорт хийх</translation>
-<translation id="7216595297012131718">Хэлийг өөрийн хэрэглээнд тулгуурлан эрэмбэлнэ үү</translation>
 <translation id="7219473482981809164">Бид татах боломжтой олон профайл оллоо. Үргэлжлүүлэхийн өмнө татахыг хүссэн профайлаа сонгоно уу.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Сул нууц үг байхгүй}=1{1 сул нууц үг}other{{NUM_WEAK} сул нууц үг}}</translation>
 <translation id="7220019174139618249">Нууц үгийг "<ph name="FOLDER" />"-д экспорт хийх боломжгүй</translation>
@@ -6584,6 +6587,7 @@
 <translation id="7364745943115323529">Дамжуулах...</translation>
 <translation id="7364796246159120393">Файлаа сонгоно уу</translation>
 <translation id="7365076891350562061">Мониторын хэмжээ</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - Бэхэлсэн</translation>
 <translation id="7366316827772164604">Ойролцоох төхөөрөмжүүдийг скан хийж байна...</translation>
 <translation id="7366415735885268578">Сайт нэмэх</translation>
 <translation id="7366909168761621528">Хайх өгөгдөл</translation>
diff --git a/chrome/app/resources/generated_resources_mr.xtb b/chrome/app/resources/generated_resources_mr.xtb
index a78eee8b..3fe1cf8e 100644
--- a/chrome/app/resources/generated_resources_mr.xtb
+++ b/chrome/app/resources/generated_resources_mr.xtb
@@ -905,6 +905,7 @@
 <translation id="1829129547161959350">पेंग्विन</translation>
 <translation id="1829192082282182671">झूम &amp;कमी करा</translation>
 <translation id="1830550083491357902">साइन इन केलेले नाही</translation>
+<translation id="1831848493690504725">आम्ही कनेक्ट केलेल्या नेटवर्कद्वारे Google शी कनेक्ट करू शकत नाही. दुसरे नेटवर्क निवडण्याचा प्रयत्न करा किंवा तुमची नेटवर्क सेटिंग्ज अथवा प्रॉक्सी सेटिंग्ज तपासा (तुम्ही प्रॉक्सी वापरत असल्यास).</translation>
 <translation id="1832459821645506983">होय, मी तयार आहे</translation>
 <translation id="1832511806131704864">फोन बदल अपडेट झाला</translation>
 <translation id="1832848789136765277">तुम्ही तुमचा सिंक डेटा कधीही ॲक्सेस करू शकता याची खात्री करण्यासाठी, हे तुम्हीच आहात याची पडताळणी करा</translation>
@@ -2207,6 +2208,7 @@
 <translation id="3021065318976393105">बॅटरीवर असताना</translation>
 <translation id="3021066826692793094">फुलपाखरू</translation>
 <translation id="3021678814754966447">फ्रेम स्रोत &amp;पहा</translation>
+<translation id="3022361196600037287"><ph name="DEVICE" /> हे या Chromebook वरून काढून टाकले जाईल आणि <ph name="PRIMARY_EMAIL" /> मध्ये सेव्ह केले जाणार नाही.</translation>
 <translation id="3022978424994383087">ते समजू शकले नाही.</translation>
 <translation id="3023464535986383522">बोलण्यासाठी निवडा</translation>
 <translation id="3024374909719388945">24-तासांचे घड्याळ वापरा</translation>
@@ -3744,6 +3746,7 @@
 <translation id="4535127706710932914">डीफॉल्ट प्रोफाइल</translation>
 <translation id="4535767533210902251">तुमच्या कीबोर्डवर सर्वात वर उजवीकडे फिंगरप्रिंट सेन्सर आहे. कोणत्याही बोटाने त्याला हळुवार स्पर्श करा.</translation>
 <translation id="4536140153723794651">नेहमी कुकी वापरू शकणार्‍या साइट</translation>
+<translation id="4536769240747010177">टेदरिंग क्षमता:</translation>
 <translation id="4538417792467843292">शब्द हटवा </translation>
 <translation id="4538792345715658285">एंटरप्राइज धोरणाद्वारे इंस्टॉल केले.</translation>
 <translation id="4541123282641193691">तुमच्या खात्याची पडताळणी करता आली नाही. कृपया पुन्हा प्रयत्न करा किंवा तुमचे Chromebook रीस्टार्ट करा.</translation>
@@ -3771,6 +3774,7 @@
 <translation id="4561893854334016293">नुकत्याच बदललेल्या परवानग्या नाहीत</translation>
 <translation id="4562155214028662640">फिंगरप्रिंट जोडा</translation>
 <translation id="4563210852471260509">चीनी आरंभिक इनपुट भाषा आहे</translation>
+<translation id="4563382028841851106">खात्यामधून काढून टाका</translation>
 <translation id="4563880231729913339">तिसरे बोट</translation>
 <translation id="4564245002465020751">तुमच्या फोनवर सेट करणे पूर्ण करा</translation>
 <translation id="4565377596337484307">पासवर्ड लपवा</translation>
@@ -4748,6 +4752,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> ला हे करायचे आहे</translation>
 <translation id="5534304873398226603">फोटो किंवा व्हिडिओ टाकून द्या</translation>
 <translation id="5537725057119320332">कास्ट करा</translation>
+<translation id="5539070192556911367">Google शी कनेक्ट करू शकत नाही</translation>
 <translation id="5539221284352502426">तुम्ही टाकलेला पासवर्ड सर्व्हरने नाकारला होता. संभाव्य कारणांमध्ये याचा समावेश आहे: पासवर्ड खूप लहान आहे. पासवर्डमध्ये संख्या किंवा आयकन असणे आवश्यक आहे. पासवर्ड आधीच्या पासवर्डपेक्षा वेगळा असणे आवश्यक आहे.</translation>
 <translation id="5541694225089836610">तुमच्या ॲडमिनिस्ट्रेटरने क्रिया बंद केली आहे</translation>
 <translation id="5542132724887566711">प्रोफाइल</translation>
@@ -4811,6 +4816,7 @@
 <translation id="5585912436068747822">स्वरुपन अयशस्वी</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">ॲप्स लोड करीत आहे...</translation>
+<translation id="5590418976913374224">डिव्हाइस स्टार्टअप झाल्यावर आवाज प्ले करा</translation>
 <translation id="5592595402373377407">अद्याप पुरेसा डेटा उपलब्ध नाही.</translation>
 <translation id="5595307023264033512">साइटनी वापरलेले एकूण स्टोरेज: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">पत्ता संपादित करा</translation>
@@ -6189,6 +6195,10 @@
 <translation id="6943939122536910181"><ph name="DEVICE" /> वरून डिस्कनेक्ट केले आहे</translation>
 <translation id="6945221475159498467">निवडा</translation>
 <translation id="694592694773692225">या पेजवर रीडिरेक्‍ट ब्लॉक केले.</translation>
+<translation id="6947015141909171112">तुम्हाला तुमच्या अलीकडील पाककृतींच्या शोध अ‍ॅक्टिव्हिटीच्या आधारावर पाककृती दिसत आहेत.
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        तुम्ही कार्ड मेनूमधून सेटिंग्ज व्यवस्थापित करू शकता किंवा Chrome कस्टमाइझ करा यामध्ये आणखी पर्याय पाहू शकता.</translation>
 <translation id="6949434160682548041">पासवर्ड (पर्यायी)</translation>
 <translation id="6950627417367801484">ॲप्स रिस्टोअर करा</translation>
 <translation id="6952242901357037157">तुम्ही येथे तुमच्या <ph name="BEGIN_LINK" />Google खाते<ph name="END_LINK" /> मधील पासवर्डदेखील दाखवू शकता</translation>
@@ -6356,6 +6366,7 @@
 <translation id="7102687220333134671">स्वयंचलित अपडेट सुरू केली आहेत</translation>
 <translation id="7102832101143475489">विनंतीची वेळ संपली</translation>
 <translation id="710640343305609397">नेटवर्क सेटिंग्ज उघडा</translation>
+<translation id="7107609441453408294">सर्व स्पीकरमधून समान ऑडिओ प्ले करा</translation>
 <translation id="7108338896283013870">लपवा</translation>
 <translation id="7108668606237948702">प्रविष्‍ट करा</translation>
 <translation id="7108933416628942903">आता लॉक करा</translation>
@@ -6447,7 +6458,6 @@
 <translation id="7212097698621322584">बदलण्यासाठी तुमचा सध्याचा पिन एंटर करा. तुम्हाला तुमचा पिन माहित नसल्यास, तुम्हाला तुमची सिक्युरिटी की रीसेट करणे आवश्यक असेल, त्यानंतर तुम्ही नविन पिन तयार करू शकता.</translation>
 <translation id="7213903639823314449">अ‍ॅड्रेस बारमध्ये शोध इंजीन वापरले आहे</translation>
 <translation id="721490496276866468">पासवर्ड इंपोर्ट करा</translation>
-<translation id="7216595297012131718">आपल्या प्राधान्याच्या आधारावर भाषांची क्रमवारी लावा</translation>
 <translation id="7219473482981809164">आम्हाला डाउनलोड करण्यासाठी एकाहून अधिक प्रोफाइल आढळल्या. पुढे जाण्यापूर्वी तुम्हाला डाउनलोड करायच्या असलेल्या प्रोफाइल निवडा.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{एकही कमकुवत पासवर्ड नाही}=1{एक कमकुवत पासवर्ड}other{{NUM_WEAK} कमकुवत पासवर्ड}}</translation>
 <translation id="7220019174139618249">पासवर्ड "<ph name="FOLDER" />" वर एक्सपोर्ट करू शकत नाही</translation>
@@ -6587,6 +6597,7 @@
 <translation id="7364745943115323529">कास्ट करा...</translation>
 <translation id="7364796246159120393">फाइल निवडा</translation>
 <translation id="7365076891350562061">मॉनिटरचा आकार</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - पिन केले</translation>
 <translation id="7366316827772164604">जवळपासची डिव्हाइस स्कॅन करत आहे...</translation>
 <translation id="7366415735885268578">एक साइट जोडा</translation>
 <translation id="7366909168761621528">ब्राउझिंग डेटा</translation>
@@ -6983,6 +6994,7 @@
 <translation id="7737115349420013392">"<ph name="DEVICE_NAME" />" सोबत पेअर करत आहे...</translation>
 <translation id="7737846262459425222">तुम्ही हे सेटिंग्ज &gt; Google Assistant &gt;स्क्रीन संदर्भ येथे कधीही बदलू शकता.</translation>
 <translation id="7737948071472253612">तुमचा कॅमेरा वापरण्याची अनुमती नाही</translation>
+<translation id="77381465218432215">आघातचिन्ह आणि विशेष वर्ण दाखवा</translation>
 <translation id="7740996059027112821">साधारण</translation>
 <translation id="7741307896921365578">तुमची वाचन सूची आणि बुकमार्क ॲक्सेस करण्यासाठी, उपयुक्त आणि कायमचा मार्ग मिळवण्यासाठी, ब्राउझर पातळीवर साइड पॅनल सुरू करते.</translation>
 <translation id="7742558784808143689"><ph name="SITE_NAME" /> साठी आणि त्याच्या अंतर्गत सर्व साइटसाठी साइट डेटा व परवानग्या साफ करायच्या का?</translation>
@@ -7771,6 +7783,7 @@
 <translation id="8486666913807228950">कारण: "फोर्स ओपन इन" सूचीमध्ये इन्व्हर्टेड रुल<ph name="REVERT_RULE" /> आढळला होता.</translation>
 <translation id="848666842773560761">एखादे अ‍ॅप कॅमेरा अ‍ॅक्सेस करण्याचा प्रयत्न करत आहे. अ‍ॅक्सेस करण्याची अनुमती देण्यासाठी कॅमेरा प्रायव्हसी स्विच बंद करा.</translation>
 <translation id="8487678622945914333">झूम इन करा</translation>
+<translation id="8487699605742506766">हॉटस्पॉट</translation>
 <translation id="8489156414266187072">वैयक्तिक सूचना फक्त तुमच्या खात्यावर दाखवल्या जातात</translation>
 <translation id="8490896350101740396">खालील कियोस्क अ‍ॅप्स "<ph name="UPDATED_APPS" />" अपडेट करण्यात आले आहेत. कृपया अपडेट प्रक्रिया पूर्ण करण्यासाठी डिव्हाइस रीबूट करा.</translation>
 <translation id="8492685019009920170">तुमच्या बोटाने फिंगरप्रिंट सेन्सरला स्पर्श करा. तुमचा डेटा सुरक्षितपणे स्टोअर केला आहे आणि तुमच्या <ph name="DEVICE_TYPE" /> मध्येच राहील.</translation>
@@ -8265,6 +8278,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{"<ph name="TAB_TITLE" />"}=1{"<ph name="TAB_TITLE" />" आणि इतर एक टॅब}other{"<ph name="TAB_TITLE" />" आणि इतर # टॅब}}</translation>
 <translation id="8977811652087512276">चुकीचा पासवर्ड किंवा करप्ट फाइल</translation>
 <translation id="8978154919215542464">ऑन - सर्वकाही सिंक करत आहे</translation>
+<translation id="8978670037548431647">टेदरिंग क्षमता रिफ्रेश करा</translation>
 <translation id="897939795688207351"><ph name="ORIGIN" /> वर</translation>
 <translation id="8980345560318123814">फीडबॅक अहवाल</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - क्रॅश झाले</translation>
@@ -8529,6 +8543,7 @@
 <translation id="935854577147268200">Smart Lock फोन बदलला आहे. Smart Lock अपडेट करण्यासाठी तुमचा पासवर्ड एंटर करा. पुढील वेळेस तुमचा फोन तुमचे <ph name="DEVICE_TYPE" /> अनलॉक करेल. तुम्ही सेटिंग्जमधून Smart Lock बंद करू शकता</translation>
 <translation id="936646668635477464">कॅमेरा आणि मायक्रोफोन</translation>
 <translation id="936801553271523408">सिस्टम निदान डेटा</translation>
+<translation id="937053962468712792"><ph name="PRIMARY_EMAIL" /> मधून <ph name="DEVICE" /> काढून टाकायचे आहे का?</translation>
 <translation id="93766956588638423">एक्स्टेंशन दुरुस्त करा</translation>
 <translation id="938568644810664664">“Ok Google, हे कोणते गाणे आहे?” किंवा “Ok Google, माझ्या स्क्रीनवर काय आहे?” असे म्हणून पहा</translation>
 <translation id="938623846785894166">असामान्य फाइल</translation>
diff --git a/chrome/app/resources/generated_resources_ms.xtb b/chrome/app/resources/generated_resources_ms.xtb
index 0eddf90..09fb3d41 100644
--- a/chrome/app/resources/generated_resources_ms.xtb
+++ b/chrome/app/resources/generated_resources_ms.xtb
@@ -6449,7 +6449,6 @@
 <translation id="7212097698621322584">Masukkan PIN semasa anda untuk menukar PIN. Jika anda tidak tahu PIN anda, anda perlu menetapkan semula kunci keselamatan, kemudian buat PIN baharu.</translation>
 <translation id="7213903639823314449">Enjin carian yang digunakan dalam bar alamat</translation>
 <translation id="721490496276866468">Import kata laluan</translation>
-<translation id="7216595297012131718">Susun bahasa berdasarkan pilihan anda</translation>
 <translation id="7219473482981809164">Kami telah menemukan beberapa profil yang tersedia untuk dimuat turun. Pilih profil yang ingin anda muat turun sebelum meneruskan.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Tiada kata laluan lemah}=1{1 kata laluan lemah}other{{NUM_WEAK} kata laluan lemah}}</translation>
 <translation id="7220019174139618249">Tidak dapat mengeksport kata laluan ke "<ph name="FOLDER" />"</translation>
diff --git a/chrome/app/resources/generated_resources_my.xtb b/chrome/app/resources/generated_resources_my.xtb
index 511848a5..60b4089 100644
--- a/chrome/app/resources/generated_resources_my.xtb
+++ b/chrome/app/resources/generated_resources_my.xtb
@@ -905,6 +905,7 @@
 <translation id="1829129547161959350">ပင်ဂွင်</translation>
 <translation id="1829192082282182671">ဇူးမ်ဖြုတ်ရန်</translation>
 <translation id="1830550083491357902">မဝင်ရောက်ရသေးပါ</translation>
+<translation id="1831848493690504725">ချိတ်ထားသည့်ကွန်ရက်မှတစ်ဆင့် Google သို့ မရောက်နိုင်ပါ။ အခြားကွန်ရက်တစ်ခုဖြင့် စမ်းကြည့်ပါ သို့မဟုတ် ကွန်ရက်ဆက်တင် (သို့) ပရောက်စီ ဆက်တင်များကို စစ်ကြည့်ပါ (ပရောက်စီ သုံးပါက)။</translation>
 <translation id="1832459821645506983">သဘောတူပါသည်</translation>
 <translation id="1832511806131704864">ဖုန်း ပြောင်းလဲမှုကို မွမ်းမံလိုက်ပြီ</translation>
 <translation id="1832848789136765277">စင့်ခ်လုပ်သောဒေတာကို အမြဲသုံးခွင့်ရကြောင်း သေချာစေရန် သင်ဖြစ်ကြောင်းအတည်ပြုပါ</translation>
@@ -1079,6 +1080,7 @@
 <translation id="1997616988432401742">သင်ရဲ့ လက်မှတ်များ</translation>
 <translation id="1999115740519098545">အစပြုချိန်တွင်</translation>
 <translation id="2000419248597011803">လိပ်စာဘားနှင့် ရှာဖွေမှုအကွက်ထဲရှိ အချို့သော ကွတ်ကီးများနှင့် ရှာဖွေမှုများကို သင်၏မူရင်းရှာဖွေမှုအင်ဂျင်သို့ ပို့သည်</translation>
+<translation id="2001148512690747464"><ph name="PRIMARY_EMAIL" /> သို့ ‘အမြန်တွဲချိတ်သည့်’ စက်များ သိမ်းမထားပါ</translation>
 <translation id="2002109485265116295">အချိန်နှင့် တစ်ပြေးညီ</translation>
 <translation id="2003130567827682533">'<ph name="NAME" />' ဒေတာကို ဖွင့်ရန်၊ Wi-Fi ကွန်ရက်နှင့် အရင်ဆုံး ချိတ်ဆက်ပါ</translation>
 <translation id="2004697686368036666">ဝဘ်ဆိုက်အချို့ရှိ ဝန်ဆောင်မှုများ အလုပ်မလုပ်နိုင်လောက်ပါ</translation>
@@ -1788,6 +1790,7 @@
 <translation id="2642111877055905627">ဘောလုံး</translation>
 <translation id="2643698698624765890">Window မီနူးထဲမှာ တိုးချဲ့မှုများကို ကလစ်ခြင်းဖြင့် သင်၏ တိုးချဲ့မှုများကို စီမံကွပ်ကဲပါ။</translation>
 <translation id="2645047101481282803">သင့်စက်ပစ္စည်းကို <ph name="PROFILE_NAME" /> က စီမံခန့်ခွဲသည်</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{ဤစက်သို့ စကားဝှက် ၁ ခု ထည့်သွင်းလိုက်သည်}other{ဤစက်သို့ စကားဝှက် {NUM_PASSWORDS} ခု ထည့်သွင်းလိုက်သည်}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-ကုဒ်သွင်းထား ASCII၊ လက်မှတ် ကွင်းဆက်</translation>
 <translation id="2652129567809778422">စကားဝှက်ရွေးခြင်း</translation>
@@ -2965,6 +2968,7 @@
 <translation id="3789841737615482174">တပ်ဆင်ရန်</translation>
 <translation id="3790417903123637354">တစ်ခုခု မှားသွားသည်။ နောက်မှ ထပ်စမ်းကြည့်ပါ</translation>
 <translation id="379082410132524484">သင်၏ကတ်သည် သက်တမ်းကုန်ဆုံးသွားပါပြီ</translation>
+<translation id="3792973596468118484">နောက်ဆက်တွဲ <ph name="NUM_EXTENSIONS" /> ခု</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome သည် သင့်ကွန်ပျူတာတွင် အန္တရာယ်ဆော့ဖ်ဝဲကို ရှာမတွေ့ပါ • ပြီးခဲ့သော 1 ရက်က စစ်ထားသည်}other{Chrome သည် သင့်ကွန်ပျူတာတွင် အန္တရာယ်ဆော့ဖ်ဝဲကို ရှာမတွေ့ပါ • ပြီးခဲ့သော {NUM_DAYS} ရက်က စစ်ထားသည်}}</translation>
 <translation id="379500251094592809">'အနီးတစ်ဝိုက် မျှဝေခြင်း' အသုံးပြုရန် စက်နှစ်ခုလုံးပွင့်နေပြီး အတူကပ်ထားကာ ဘလူးတုသ်ဖွင့်ထားကြောင်း သေချာပါစေ။ သင်၏အဆက်အသွယ်များတွင် မပါဝင်သော Chromebook အား မျှဝေနေပါက ၎င်းတွင် 'အနီးတစ်ဝိုက် မြင်နိုင်မှု' ဖွင့်ထားကြောင်း သေချာပါစေ (အချိန်ရွေးချယ်ပြီး အခြေအနေပြနေရာကို ဖွင့်ပါ၊ ထို့နောက် 'အနီးတစ်ဝိုက် မြင်နိုင်မှု' ကိုဖွင့်ပါ) <ph name="LINK_BEGIN" />ပိုမိုလေ့လာရန်<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">ပိတ်ထားသည်</translation>
@@ -4745,12 +4749,14 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> က ပြုလုပ်လိုသည်မှာ</translation>
 <translation id="5534304873398226603">ဓာတ်ပုံ သို့မဟုတ် ဗီဒီယိုကို ဖယ်ပစ်ရန်</translation>
 <translation id="5537725057119320332">သရုပ်ဆောင်​များ</translation>
+<translation id="5539070192556911367">Google သို့ ချိတ်ဆက်၍မရပါ</translation>
 <translation id="5539221284352502426">သင်ထည့်ထားသော စကားဝှက်ကို ဆာဗာမှ ငြင်းဆိုလိုက်သည်။ ဖြစ်နိုင်သည့် အကြောင်းရင်းများတွင် − စကားဝှက်တိုလွန်းခြင်းတို့ ပါဝင်သည်။ စကားဝှက်တွင် နံပါတ် သို့မဟုတ် သင်္ကေတများ ပါရမည်။ စကားဝှက်သည် ယခင်စကားဝှက်များနှင့် ကွဲပြားရမည်။</translation>
 <translation id="5541694225089836610">လုပ်ဆောင်ချက်ကို သင့်စီမံခန့်ခွဲသူက ပိတ်ထားပါသည်</translation>
 <translation id="5542132724887566711">ပရိုဖိုင်</translation>
 <translation id="5542750926112347543"><ph name="DOMAIN" /> ထံမှ ကွတ်ကီးများကို ပိတ်ထားသည်</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" /> သို့ ချိတ်ဆက်နေသည်</translation>
 <translation id="5543983818738093899">အခြေအနေကို စစ်ကြည့်နေ...</translation>
+<translation id="5544482392629385159">စက် <ph name="DEVICE_COUNT" /> အနက် <ph name="DEVICE_INDEX" /> ခု၊ <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">ပုံဖော်စနစ်</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{အုပ်စုသို့ တဘ်ထည့်ရန်}other{အုပ်စုသို့ တဘ်များထည့်ရန်}}</translation>
 <translation id="5545693483061321551">ဝဘ်ဆိုက်များသည် ကြော်ငြာများကို ပုဂ္ဂိုလ်ရေးသီးသန့်ပြုလုပ်ရန်ကဲ့သို့ မတူညီသည့် ဝဘ်ဆိုက်များတစ်လျှောက်တွင် ကွတ်ကီးများသုံးပြီး သင့်ကြည့်ရှုခြင်းများကို ကြည့်နိုင်မည်မဟုတ်ပါ။ ဝဘ်ဆိုက်အချို့ရှိ ဝန်ဆောင်မှုများ အလုပ်မလုပ်နိုင်လောက်ပါ။</translation>
@@ -4807,6 +4813,7 @@
 <translation id="5585912436068747822">ပုံစံချမှု မအောင်မြင်ခဲ့ပါ</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">အက်ပ်များကို တင်နေသည်...</translation>
+<translation id="5590418976913374224">စက်စတင်ချိန်တွင် အသံဖွင့်ရန်</translation>
 <translation id="5592595402373377407">လုံလောက်သည့် ဒေတာမရနိုင်သေးပါ။</translation>
 <translation id="5595307023264033512">ဝဘ်ဆိုက်များက အသုံးပြုထားသည့် စုစုပေါင်းသိုလှောင်ခန်း- <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">လိပ်စာ တည်းဖြတ်ရန်</translation>
@@ -5552,6 +5559,7 @@
 <translation id="6333170995003625229">သင့်အီးမေးလ်လိပ်စာ (သို့) စကားဝှက်ကို အတည်ပြု၍ မရပါ။ ထပ်မံ၍ လက်မှတ်ထိုးဝင်ကြည့်ပါ။</translation>
 <translation id="6335920438823100346">Linux စတင်ရန်အတွက် သင့်ဒေတာများကို အရန်သိမ်းပြီး ဤ Chromebook ကို စက်ရုံထုတ်ဆက်တင်များအတိုင်း ပြင်ဆင်သတ်မှတ်ရန် <ph name="MANAGER" /> က သတ်မှတ်ထားသည်။</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> သည် ADB အမှားရှာပြင်ခြင်းကို ပိတ်ထားသည်။ ၎င်းက သင်၏ <ph name="DEVICE_TYPE" /> ကို ၂၄ နာရီအတွင်း ပြင်ဆင်သတ်မှတ်ပါမည်။ သိမ်းလိုသော ဖိုင်မှန်သမျှကို အရန်သိမ်းပါ။</translation>
+<translation id="6338402296920404442">ဤစက်သုံးသော အခြားသူများက သင့်စကားဝှက်ကို မမြင်စေရန်အတွက် <ph name="FILENAME" /> ကို ဖျက်ရန် သတိပြုပါ။</translation>
 <translation id="6338981933082930623">ဝဘ်ဆိုက်အားလုံးက ကြော်ငြာမှန်သမျှကို သင့်အား ပြနိုင်သည်</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" /> အတွက် ပရိုဖိုင်အသစ် ပြုလုပ်ရန်</translation>
 <translation id="6340071272923955280">အင်တာနက်ပုံနှိပ်ထုတ်ယူမှုဆိုင်ရာ ပရိုတိုကော (IPPS)</translation>
@@ -6348,6 +6356,7 @@
 <translation id="7102687220333134671">အလိုအလျောက် အပ်ဒိတ်လုပ်ခြင်းများကို ဖွင့်ထားသည်</translation>
 <translation id="7102832101143475489">တောင်းဆိုချက် အချိန်ကုန်သွားသည်</translation>
 <translation id="710640343305609397">ကွန်ရက်ဆက်တင်များကို ဖွင့်ရန်</translation>
+<translation id="7107609441453408294">စပီကာအားလုံးမှ တူညီသည့် အသံကိုဖွင့်ပါ</translation>
 <translation id="7108338896283013870">ဝှက်ထားရန်</translation>
 <translation id="7108668606237948702">ရိုက်ထည့်</translation>
 <translation id="7108933416628942903">ယခု လော့ခ်ချရန်</translation>
@@ -6439,7 +6448,6 @@
 <translation id="7212097698621322584">သင်၏ လက်ရှိပင်နံပါတ် ပြောင်းရန် ၎င်းကိုထည့်ပါ။ သင်၏ ပင်နံပါတ်ကို မသိလျှင် သင့်လုံခြုံရေးကီးကို ပြင်ဆင်သတ်မှတ်ပြီး ပင်နံပါတ်အသစ် ပြုလုပ်ပါ။</translation>
 <translation id="7213903639823314449">လိပ်စာဘားတွင် အသုံးပြုသည့် ရှာဖွေရေးအင်ဂျင်</translation>
 <translation id="721490496276866468">စကားဝှက်များ ထည့်သွင်းပါ</translation>
-<translation id="7216595297012131718">ဘာသာစကားများကို သင့်စိတ်ကြိုက် စီပါ</translation>
 <translation id="7219473482981809164">ဒေါင်းလုဒ်လုပ်နိုင်သော ပရိုဖိုင်အများအပြားကို တွေ့သည်။ ရှေ့မဆက်မီ သင်ဒေါင်းလုဒ်လုပ်လိုသည်များကို ရွေးပါ။</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{လုံခြုံမှုလျော့နည်းသည့် စကားဝှက် မရှိပါ}=1{လုံခြုံမှုလျော့နည်းသည့် စကားဝှက် 1 ခု}other{လုံခြုံမှုလျော့နည်းသည့် စကားဝှက် {NUM_WEAK} ခု}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" သို့ စကားဝှက်ကို မတင်ပို့နိုင်ပါ</translation>
@@ -6579,6 +6587,7 @@
 <translation id="7364745943115323529">ကာစ် လုပ်ရန်...</translation>
 <translation id="7364796246159120393">ဖိုင် ရွေးရန်</translation>
 <translation id="7365076891350562061">မော်နီတာ အရွယ်အစား</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - ပင်ထိုးထားသည်</translation>
 <translation id="7366316827772164604">အနီးရှိ စက်ပစ္စည်းများကို ရှာနေသည်…</translation>
 <translation id="7366415735885268578">ဝဘ်ဆိုက်တစ်ခု ထည့်ရန်</translation>
 <translation id="7366909168761621528">အင်တာနက်အသုံးပြုမှုဒေတာ</translation>
@@ -7622,6 +7631,7 @@
 <translation id="8338952601723052325">ရေးသားသူ ဝက်ဆိုက်</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> အတွင်း သိမ်းဆည်းထားသည့် ဒေတာများ</translation>
 <translation id="833986336429795709">ဤလင့်ခ်ကို ဖွင့်ရန် အက်ပ်တစ်ခုကို ရွေးပါ</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" /> အတွက် နောက်ထပ်လုပ်ဆောင်ချက်များ</translation>
 <translation id="8342221978608739536">စမ်းမထားပါ</translation>
 <translation id="8342861492835240085">သိမ်းဆည်းထားသည်များကို ရွေးရန်</translation>
 <translation id="8345848587667658367">သင့်ဖုန်း၏ လတ်တလော ဓာတ်ပုံ၊ မီဒီယာ၊ အကြောင်းကြားချက်နှင့် အက်ပ်များကို ယခု ကြည့်နိုင်ပြီ</translation>
diff --git a/chrome/app/resources/generated_resources_ne.xtb b/chrome/app/resources/generated_resources_ne.xtb
index c23b323c..62993cd5 100644
--- a/chrome/app/resources/generated_resources_ne.xtb
+++ b/chrome/app/resources/generated_resources_ne.xtb
@@ -2747,7 +2747,7 @@
 <translation id="3599221874935822507">उठेको</translation>
 <translation id="3600051066689725006">वेबको अनुरोधसम्बन्धी जानकारी</translation>
 <translation id="360180734785106144">नयाँ सुविधाहरू उपलब्ध भएपछि प्रस्ताव गर्नुहोस्</translation>
-<translation id="3602290021589620013">पूर्वावलोकन</translation>
+<translation id="3602290021589620013">प्रिभ्यु गर्नुहोस्</translation>
 <translation id="3602870520245633055">प्रिन्ट गर्नुहोस् र स्क्यान गर्नुहोस्</translation>
 <translation id="3603622770190368340">नेटवर्क प्रमाणपत्र हासिल गर्नुहोस्</translation>
 <translation id="3604713164406837697">वालपेपर परिवर्तन गर्नुहोस्</translation>
@@ -6429,7 +6429,6 @@
 <translation id="7212097698621322584">यसलाई बदल्न आफ्नो हालको PIN प्रविष्टि गर्नुहोस्। तपाईंलाई आफ्नो PIN थाहा छैन भने तपाईंले सुरक्षा साँचो रिसेट गर्नु पर्छ र त्यसपछि नयाँ PIN सिर्जना गर्नु पर्छ।</translation>
 <translation id="7213903639823314449">ठेगाना पट्टीमा प्रयोग गरिने सर्च इन्जिन</translation>
 <translation id="721490496276866468">पासवर्डहरू इम्पोर्ट गर्नुहोस्</translation>
-<translation id="7216595297012131718">आफ्नो प्राथमिकताका आधारमा भाषाहरूको क्रम मिलाउनुहोस्</translation>
 <translation id="7219473482981809164">हामीले डाउनलोड गर्न मिल्ने एकभन्दा बढी प्रोफाइलहरू भेट्टाएका छौँ। अगाडि बढ्नुअघि आफूले डाउनलोड गर्न चाहेका प्रोफाइलहरू चयन गर्नुहोस्।</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{कुनै पनि पासवर्ड कमजोर छैन}=1{एउटा कमजोर पासवर्ड भेटियो}other{{NUM_WEAK} वटा कमजोर पासवर्ड भेटिए}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" मा पासवर्डहरू निर्यात गर्न सकिँदैन</translation>
diff --git a/chrome/app/resources/generated_resources_nl.xtb b/chrome/app/resources/generated_resources_nl.xtb
index d13c50d..5038fd9 100644
--- a/chrome/app/resources/generated_resources_nl.xtb
+++ b/chrome/app/resources/generated_resources_nl.xtb
@@ -3964,7 +3964,7 @@
 <translation id="4768332406694066911">Je hebt certificaten van deze organisaties waarmee je wordt geïdentificeerd</translation>
 <translation id="4770119228883592393">Rechten gevraagd, druk op ⌘ + Option + pijl-omlaag om te reageren</translation>
 <translation id="4773112038801431077">Linux upgraden</translation>
-<translation id="4774337692467964393">Als Smart Lock aanstaat, hoef je geen pincode of wachtwoord op te geven</translation>
+<translation id="4774337692467964393">Als Smart Lock aanstaat, hoef je geen pincode of wachtwoord op te geven.</translation>
 <translation id="4775142426314270551">Help de functies en prestaties van Chrome en Chrome OS te verbeteren door automatisch crashrapporten en diagnostische en gebruiksgegevens naar Google te sturen. Daarnaast zijn sommige verzamelde gegevens nuttig voor Android-apps en Google-partners. Als de instelling voor Web- en app-activiteit is aangezet voor het Google-account van je kind, kunnen de Android-gegevens van je kind worden opgeslagen in het Google-account van je kind.</translation>
 <translation id="477647109558161443">Een snelkoppeling maken</translation>
 <translation id="4776594120007763294">Klik op de knop om een pagina toe te voegen voor later lezen</translation>
@@ -4014,7 +4014,7 @@
 <translation id="4820236583224459650">Instellen als actief ticket</translation>
 <translation id="4821935166599369261">&amp;Profiling staat aan</translation>
 <translation id="4823484602432206655">Gebruikers- en apparaatinstellingen lezen en wijzigen</translation>
-<translation id="4823894915586516138">Je beschermt je gegevens op deze <ph name="DEVICE_TYPE" /> met een pincode of wachtwoord, waaronder informatie die je opent vanaf je telefoon</translation>
+<translation id="4823894915586516138">Je beschermt je gegevens op deze <ph name="DEVICE_TYPE" /> met een pincode of wachtwoord, waaronder informatie die je opent vanaf je telefoon.</translation>
 <translation id="4824037980212326045">Back-up en herstel voor Linux</translation>
 <translation id="4824958205181053313">Synchronisatie annuleren?</translation>
 <translation id="4827675678516992122">Kan geen verbinding maken</translation>
@@ -5339,7 +5339,7 @@
 <translation id="6129953537138746214">Spatie</translation>
 <translation id="6130692320435119637">Wifi toevoegen</translation>
 <translation id="6130887916931372608">Toetsenbordtoets</translation>
-<translation id="6135823405800500595">Zorg dat je telefoon in de buurt en ontgrendeld is en dat bluetooth en wifi aanstaan</translation>
+<translation id="6135823405800500595">Zorg dat je telefoon in de buurt en ontgrendeld is en dat bluetooth en wifi aanstaan.</translation>
 <translation id="6136114942382973861">Downloadbalk sluiten</translation>
 <translation id="6136287496450963112">Je beveiligingssleutel is niet beveiligd met een pincode. Maak eerst een pincode als je vingerafdrukken wilt beheren.</translation>
 <translation id="6138680304137685902">X9.62 ECDSA-handtekening met SHA-384</translation>
@@ -6427,7 +6427,6 @@
 <translation id="7212097698621322584">Voer je huidige pincode in om deze te wijzigen. Als je je pincode niet weet, moet je de beveiligingssleutel resetten en vervolgens een nieuwe pincode maken.</translation>
 <translation id="7213903639823314449">Zoekmachine gebruikt in adresbalk</translation>
 <translation id="721490496276866468">Wachtwoorden importeren</translation>
-<translation id="7216595297012131718">Talen rangschikken op basis van je voorkeur</translation>
 <translation id="7219473482981809164">We hebben meerdere beschikbare profielen gevonden om te downloaden. Selecteer de profielen die je wilt downloaden voordat je verdergaat.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Geen zwakke wachtwoorden}=1{1 zwak wachtwoord}other{{NUM_WEAK} zwakke wachtwoorden}}</translation>
 <translation id="7220019174139618249">Kan geen wachtwoorden exporteren naar '<ph name="FOLDER" />'</translation>
diff --git a/chrome/app/resources/generated_resources_no.xtb b/chrome/app/resources/generated_resources_no.xtb
index 514432e..c2183cac 100644
--- a/chrome/app/resources/generated_resources_no.xtb
+++ b/chrome/app/resources/generated_resources_no.xtb
@@ -1075,6 +1075,7 @@
 <translation id="1997616988432401742">Dine sertifikater</translation>
 <translation id="1999115740519098545">Ved oppstart</translation>
 <translation id="2000419248597011803">Sender noen informasjonskapsler og søk fra adressefeltet og søkefeltet samt noen informasjonskapsler til standardsøkemotoren din</translation>
+<translation id="2001148512690747464">Ingen enheter med Rask sammenkobling er lagret for <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">Sanntid</translation>
 <translation id="2003130567827682533">For å aktivere «<ph name="NAME" />»-dataene må du først koble til et Wi-Fi-nettverk</translation>
 <translation id="2004697686368036666">Det kan hende at funksjoner på noen nettsteder ikke fungerer</translation>
@@ -1784,6 +1785,7 @@
 <translation id="2642111877055905627">Fotball</translation>
 <translation id="2643698698624765890">Du kan administrere utvidelsene dine ved å klikke på Utvidelser i vindusmenyen.</translation>
 <translation id="2645047101481282803">Enheten administreres av <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 passord er importert til denne enheten}other{{NUM_PASSWORDS} passord er importert til denne enheten}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-kodet ASCII, sertifikatkjede</translation>
 <translation id="2652129567809778422">Velg passord</translation>
@@ -2961,6 +2963,7 @@
 <translation id="3789841737615482174">Installer</translation>
 <translation id="3790417903123637354">Noe gikk galt. Prøv på nytt senere</translation>
 <translation id="379082410132524484">Kortet ditt er utløpt</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> utvidelser</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome fant ingen skadelig programvare på datamaskinen • sjekket for 1 dag siden}other{Chrome fant ingen skadelig programvare på datamaskinen • sjekket for {NUM_DAYS} dager siden}}</translation>
 <translation id="379500251094592809">For å bruke nærdeling, kontrollér at begge enhetene er låst opp, er i nærheten av hverandre og har Bluetooth påslått. Hvis du deler med en Chromebook som ikke er i kontaktene dine, må du sørge for at den har nærdeling påslått (åpne statusfeltet ved å velge klokkeslettet, og slå på Nærdeling). <ph name="LINK_BEGIN" />Finn ut mer<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Av</translation>
@@ -4744,6 +4747,7 @@
 <translation id="5542750926112347543">Informasjonskapsler fra <ph name="DOMAIN" /> er blokkert</translation>
 <translation id="5542949973455282971">Kobler til <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Sjekker statusen …</translation>
+<translation id="5544482392629385159">Enhet <ph name="DEVICE_INDEX" /> av <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Gjengivelse</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Legg fanen til i en gruppe}other{Legg fanene til i en gruppe}}</translation>
 <translation id="5545693483061321551">Nettsteder kan ikke bruke informasjonskapsler til å se nettleseraktiviteten din på andre nettsteder, for eksempel for å vise deg personlig tilpassede annonser. Det kan hende at funksjoner på noen nettsteder ikke fungerer.</translation>
@@ -5545,6 +5549,7 @@
 <translation id="6333170995003625229">Kunne ikke bekrefte e-postadressen eller passordet. Prøv å logge på igjen.</translation>
 <translation id="6335920438823100346">Før du kan starte Linux, krever <ph name="MANAGER" /> at du sikkerhetskopierer dataene dine og tilbakestiller Chromebook til fabrikkstandard.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> har slått av ADB-feilsøking. <ph name="DEVICE_TYPE" /> blir tilbakestilt om 24 timer. Sikkerhetskopiér eventuelle filer du vil ta vare på.</translation>
+<translation id="6338402296920404442">Du bør vurdere å slette <ph name="FILENAME" />, slik at andre som bruker denne enheten, ikke kan se passordene dine.</translation>
 <translation id="6338981933082930623">Alle nettsteder kan vise deg alle slags annonser</translation>
 <translation id="6339668969738228384">Opprett en ny profil for <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6434,7 +6439,6 @@
 <translation id="7212097698621322584">Skriv inn den nåværende PIN-koden for å endre den. Hvis du ikke kan PIN-koden, må du tilbakestille sikkerhetsnøkkelen og deretter opprette en ny PIN-kode.</translation>
 <translation id="7213903639823314449">Søkemotoren som brukes i adressefeltet</translation>
 <translation id="721490496276866468">Importer passord</translation>
-<translation id="7216595297012131718">Velg ønsket språkrekkefølge</translation>
 <translation id="7219473482981809164">Vi fant flere profiler som er tilgjengelige for nedlasting. Velg de du vil laste ned, før du går videre.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Ingen svake passord}=1{1 svakt passord}other{{NUM_WEAK} svake passord}}</translation>
 <translation id="7220019174139618249">Kan ikke eksportere passord til «<ph name="FOLDER" />»</translation>
@@ -7617,6 +7621,7 @@
 <translation id="8338952601723052325">Utviklernettsted</translation>
 <translation id="8339059274628563283">Data lagret lokalt på <ph name="SITE" /></translation>
 <translation id="833986336429795709">For å åpne denne linken, velg en app</translation>
+<translation id="8340547030807793004">Flere handlinger for <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Prøvde ikke</translation>
 <translation id="8342861492835240085">Velg en samling</translation>
 <translation id="8345848587667658367">Nå kan du se telefonens nylige bilder, medier, varsler og apper</translation>
diff --git a/chrome/app/resources/generated_resources_or.xtb b/chrome/app/resources/generated_resources_or.xtb
index b1660306..6a769b4 100644
--- a/chrome/app/resources/generated_resources_or.xtb
+++ b/chrome/app/resources/generated_resources_or.xtb
@@ -892,6 +892,7 @@
 <translation id="1829129547161959350">ପେଙ୍ଗୁଇନ୍‍</translation>
 <translation id="1829192082282182671">ଜୁମ୍ &amp;କମାନ୍ତୁ</translation>
 <translation id="1830550083491357902">ସାଇନ୍‍ ଇନ୍‍ କରିନାହାନ୍ତି</translation>
+<translation id="1831848493690504725">କନେକ୍ଟ କରାଯାଇଥିବା ନେଟୱାର୍କ ମାଧ୍ୟମରେ ଆମେ Google ସହ ଯୋଗାଯୋଗ କରିପାରିବୁ ନାହିଁ। ଏକ ଭିନ୍ନ ନେଟୱାର୍କ ବାଛି କିମ୍ବା ଆପଣଙ୍କ ନେଟୱାର୍କ ସେଟିଂସ ବା ପ୍ରକ୍ସି ସେଟିଂସ (ଯଦି ଆପଣ ଏକ ପ୍ରକ୍ସି ବ୍ୟବହାର କରୁଛନ୍ତି) ଯାଞ୍ଚ କରି ଦେଖନ୍ତୁ।</translation>
 <translation id="1832459821645506983">ହଁ, ମୁଁ ରାଜି</translation>
 <translation id="1832511806131704864">ଫୋନ୍ ପରିବର୍ତ୍ତନ ଅପ୍‌ଡେଟ୍ ହୋଇଛି</translation>
 <translation id="1832848789136765277">ଆପଣ ଆପଣଙ୍କ ସିଙ୍କ୍ କରାଯାଇଥିବା ଡାଟାକୁ ସର୍ବଦା ଆକ୍ସେସ୍ କରିପାରିବେ ତାହା ସୁନିଶ୍ଚିତ କରିବା ପାଇଁ ଏହା ଆପଣ ଅଟନ୍ତି ବୋଲି ଯାଞ୍ଚ କରନ୍ତୁ</translation>
@@ -1066,6 +1067,7 @@
 <translation id="1997616988432401742">ଆପଣଙ୍କ ସାର୍ଟିଫିକେଟ୍</translation>
 <translation id="1999115740519098545">ଆରମ୍ଭ ପୃଷ୍ଠାରେ</translation>
 <translation id="2000419248597011803">ଆପଣଙ୍କର ଡିଫଲ୍ଟ ସନ୍ଧାନ ଇଞ୍ଜିନ୍‌କୁ ଠିକଣା ବାର୍‌ ଏବଂ ସନ୍ଧାନ ବାକ୍ସରୁ କିଛି କୁକୀ ଏବଂ ସନ୍ଧାନ ପଠାନ୍ତୁ</translation>
+<translation id="2001148512690747464">କୌଣସି ଫାଷ୍ଟ ପେୟାର ଡିଭାଇସକୁ <ph name="PRIMARY_EMAIL" />ରେ ସେଭ କରାଯାଇଛି</translation>
 <translation id="2002109485265116295">ରିଅଲ୍-ଟାଇମ୍</translation>
 <translation id="2003130567827682533">'<ph name="NAME" />' ଡାଟା ସକ୍ରିୟ କରିବାକୁ, ପ୍ରଥମେ ଏକ ୱାଇ-ଫାଇ ନେଟ୍‍ୱର୍କରେ ସଂଯୋଗ କରନ୍ତୁ</translation>
 <translation id="2004697686368036666">କିଛି ସାଇଟରେ ଫିଚରଗୁଡ଼ିକ କାମ କରିନପାରେ</translation>
@@ -1330,6 +1332,7 @@
 <translation id="2241053333139545397">ଅନେକଗୁଡ଼ିଏ ୱେବ୍‌ସାଇଟ୍‌ରେ ଆପଣଙ୍କର ଡାଟା ପଢ଼ନ୍ତୁ ଏବଂ ପରିବର୍ତ୍ତନ କରନ୍ତୁ</translation>
 <translation id="2241634353105152135">ଥରେ ମାତ୍ର</translation>
 <translation id="2242687258748107519">ଫାଇଲ୍ ସୂଚନା</translation>
+<translation id="2245296100676446525">ଏହି ଡିଭାଇସରେ ଏବଂ ଆପଣ ସିଙ୍କ କରୁଥିବା ଅନ୍ୟ ଡିଭାଇସଗୁଡ଼ିକରେ ଆପଣଙ୍କ ବୁକମାର୍କ, ପାସୱାର୍ଡ, ଇତିହାସ ଏବଂ ଆହୁରି ଅନେକ କିଛି ପାଇବାକୁ ସିଙ୍କ ଚାଲୁ କରନ୍ତୁ।</translation>
 <translation id="2245603955208828424">ଆଇଟମଗୁଡ଼ିକର ଅକ୍ଷର ପରେ ଅକ୍ଷର ମଧ୍ୟରେ ମୁଭ କରିବା ପାଇଁ ତୀର କୀ'ଗୁଡ଼ିକୁ ବ୍ୟବହାର କରନ୍ତୁ</translation>
 <translation id="2246129643805925002">ଆପଣଙ୍କୁ ନବୀନତମ ଫିଚର ଏବଂ ସୁରକ୍ଷା ଉନ୍ନତି ଦେବା ପାଇଁ ଆପଣଙ୍କ <ph name="DEVICE_TYPE" /> ପୃଷ୍ଠପଟରେ ସ୍ୱଚାଳିତ ଭାବେ ଅପଡେଟ ହୁଏ। ଆପଣ ସେଟିଂସରେ ଅପଡେଟ ପସନ୍ଦଗୁଡ଼ିକୁ ସମୀକ୍ଷା କରିପାରିବେ।</translation>
 <translation id="2246549592927364792">Googleରୁ ଛବିର ବର୍ଣ୍ଣନା ପ୍ରାପ୍ତ କରିବେ?</translation>
@@ -1772,6 +1775,7 @@
 <translation id="2642111877055905627">ସୋକର୍ ବଲ୍‌</translation>
 <translation id="2643698698624765890">ୱିଣ୍ଡୋ ମେନ୍ୟୁରେ ଥିବା ଏକ୍ସଟେନସନ୍ କ୍ଲିକ୍ କରି ନିଜର ଏକ୍ସଟେନସନ୍‌ଗୁଡ଼ିକୁ ପରିଚାଳନା କରନ୍ତୁ।</translation>
 <translation id="2645047101481282803">ଆପଣଙ୍କ ଡିଭାଇସ୍ <ph name="PROFILE_NAME" /> ଦ୍ୱାରା ପରିଚାଳିତ ହେଉଛି</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{ଏହି ଡିଭାଇସକୁ 1ଟି ପାସୱାର୍ଡ ଇମ୍ପୋର୍ଟ କରାଯାଇଛି}other{ଏହି ଡିଭାଇସକୁ {NUM_PASSWORDS}ଟି ପାସୱାର୍ଡ ଇମ୍ପୋର୍ଟ କରାଯାଇଛି}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-ଏନ୍‌କୋଡ୍ ହୋଇଥିବା ASCII, ସାର୍ଟିଫିକେଟ୍ ଚେନ୍</translation>
 <translation id="2652129567809778422">ପାସୱାର୍ଡ ଚୟନ କରନ୍ତୁ</translation>
@@ -2949,6 +2953,7 @@
 <translation id="3789841737615482174">ସଂସ୍ଥାପନ</translation>
 <translation id="3790417903123637354">କିଛି ଭୁଲ ହୋଇଗଲା। ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ</translation>
 <translation id="379082410132524484">ଆପଣଙ୍କର କାର୍ଡର ଅବଧି ସମାପ୍ତ ହୋ‍ଇଯାଇଛି</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" />ଟି ଏକ୍ସଟେନସନ</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରରେ କ୍ଷତିକାରକ ସଫ୍ଟୱେରକୁ ଖୋଜି ପାଇଲା ନାହିଁ • 1 ଦିନ ପୂର୍ବେ ଯାଞ୍ଚ କରାଯାଇଛି}other{Chrome ଆପଣଙ୍କ କମ୍ପ୍ୟୁଟରରେ କ୍ଷତିକାରକ ସଫ୍ଟୱେରକୁ ଖୋଜି ପାଇଲା ନାହିଁ • {NUM_DAYS} ଦିନ ପୂର୍ବେ ଯାଞ୍ଚ କରାଯାଇଛି}}</translation>
 <translation id="379500251094592809">Nearby Share ବ୍ୟବହାର କରିବା ପାଇଁ, ଉଭୟ ଡିଭାଇସକୁ ଅନଲକ୍ କରାଯାଇଛି, ସେଗୁଡ଼ିକ ପାଖାପାଖି ରହିଛି ଏବଂ ବ୍ଲୁଟୁଥ୍ ଚାଲୁ ଅଛି ବୋଲି ସୁନିଶ୍ଚିତ କରନ୍ତୁ। ଯଦି ଆପଣ ଏକ Chromebook ସହ ସେୟାର୍ କରୁଛନ୍ତି ଯାହା ଆପଣଙ୍କ ଯୋଗାଯୋଗରେ ନାହିଁ, ତେବେ ସେଥିରେ Nearby ଭିଜିବିଲିଟୀ ଚାଲୁ କରାଯାଇଛି ବୋଲି ସୁନିଶ୍ଚିତ କରନ୍ତୁ (ସମୟ ଚୟନ କରି ସ୍ଥିତି କ୍ଷେତ୍ର ଖୋଲନ୍ତୁ, ତା'ପରେ Nearby ଭିଜିବିଲିଟୀ ଚାଲୁ କରନ୍ତୁ) <ph name="LINK_BEGIN" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">ବନ୍ଦ ଅଛି</translation>
@@ -4262,6 +4267,7 @@
 <translation id="5074761966806028321">ସେଟଅପ ସମ୍ପୂର୍ଣ୍ଣ କରିବା ପାଇଁ ଏବେ ବି ଅନୁମତି ଆବଶ୍ୟକ</translation>
 <translation id="5075563999073408211">ଗୋଟିଏ କିମ୍ବା ଅଧିକ ସ୍ୱିଚ ମାଧ୍ୟମରେ ଆପଣଙ୍କ ଡିଭାଇସକୁ ନିୟନ୍ତ୍ରଣ କରନ୍ତୁ। ସ୍ୱିଚଗୁଡ଼ିକ କୀବୋର୍ଡ କୀ, ଗେମପ୍ୟାଡ ବଟନ କିମ୍ବା ଉତ୍ସର୍ଗୀକୃତ ଡିଭାଇସଗୁଡ଼ିକ ହୋଇପାରିବ।</translation>
 <translation id="5075910247684008552">ସୁରକ୍ଷିତ ସାଇଟ୍‍ଗୁଡ଼ିକରେ ଅସୁରକ୍ଷିତ ବିଷୟବସ୍ତୁକୁ ଡିଫଲ୍ଟ ଭାବେ ବ୍ଲକ୍ କରାଯାଇଛି</translation>
+<translation id="5078490485380754244">ଡିଭାଇସକୁ ଭୁଲି ଯାଆନ୍ତୁ</translation>
 <translation id="5078638979202084724">ସମସ୍ତ ଟାବ୍‌କୁ ବୁକ୍‌ମାର୍କ କରନ୍ତୁ</translation>
 <translation id="5078796286268621944">ଭୁଲ ପିନ୍</translation>
 <translation id="5079010647467150187">ବିଲ୍ଟ-ଇନ VPN ଯୋଗ କରନ୍ତୁ...</translation>
@@ -4728,12 +4734,14 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> ଏହା କରିବାକୁ ଚାହେଁ</translation>
 <translation id="5534304873398226603">ଫଟୋ କିମ୍ବା ଭିଡିଓ ଖାରଜ କରନ୍ତୁ</translation>
 <translation id="5537725057119320332">କାଷ୍ଟ</translation>
+<translation id="5539070192556911367">Google ସହ ଯୋଗାଯୋଗ କରାଯାଇପାରୁ ନାହିଁ</translation>
 <translation id="5539221284352502426">ସର୍ଭର୍‌ ଦ୍ୱାରା ଆପଣ ଲେଖିଥିବା ପାସ୍‌ୱାର୍ଡ ଅଗ୍ରାହ୍ୟ କରିଦିଆଯାଇଛି। ଏହି ସମ୍ଭାବ୍ୟ କାରଣଗୁଡ଼ିକ ଅନ୍ତର୍ଭୁକ୍ତ: ପାସ୍‍ୱର୍ଡଟି ଅତି ଛୋଟ ଅଟେ। ପାସ୍‌ୱାର୍ଡରେ ସଂଖ୍ୟା କିମ୍ବା ଚିହ୍ନଗୁଡ଼ିକ ଅନ୍ତର୍ଭୁକ୍ତ ହେବା ଜରୁରୀ ଅଟେ। ପାସ୍‌ୱାର୍ଡଟି ପୂର୍ବ ପାସ୍‌ୱାର୍ଡ ଠାରୁ ଭିନ୍ନ ହୋଇଥିବା ଆବଶ୍ୟକ।</translation>
 <translation id="5541694225089836610">ଆପଣଙ୍କର ଆଡ୍‍ମିନିଷ୍ଟ୍ରେଟର୍‍‌ଙ୍କ ଦ୍ଵାରା ଏହି କାର୍ଯ୍ୟ ଅକ୍ଷମ କରାଯାଇଛି</translation>
 <translation id="5542132724887566711">ପ୍ରୋଫାଇଲ୍‌</translation>
 <translation id="5542750926112347543"><ph name="DOMAIN" />ରୁ କୁକୀଗୁଡ଼ିକ ବ୍ଲକ୍ କରାଯାଇଛି</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" />କୁ ସଂଯୋଗ କରାଯାଉଛି</translation>
 <translation id="5543983818738093899">ସ୍ଥିତି ପାଇଁ ଯାଞ୍ଚ କରାଯାଉଛି...</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_COUNT" />ଟିରୁ <ph name="DEVICE_INDEX" /> ଡିଭାଇସ, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">ରେଣ୍ଡରର୍</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{ଗୋଷ୍ଠୀକୁ ଟାବ୍ ଯୋଗ କରନ୍ତୁ}other{ଗୋଷ୍ଠୀକୁ ଟାବଗୁଡ଼ିକ ଯୋଗ କରନ୍ତୁ}}</translation>
 <translation id="5545693483061321551">ବିଜ୍ଞାପନଗୁଡ଼ିକୁ ପର୍ସନାଲାଇଜ୍ କରିବା ପରି ବିଭିନ୍ନ ସାଇଟରେ ଆପଣଙ୍କ ବ୍ରାଉଜିଂ କାର୍ଯ୍ୟକଳାପକୁ ଦେଖିବା ପାଇଁ ସାଇଟଗୁଡ଼ିକ ଆପଣଙ୍କ କୁକୀଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ। କିଛି ସାଇଟରେ ଫିଚରଗୁଡ଼ିକ କାମ କରିନପାରେ।</translation>
@@ -4790,6 +4798,7 @@
 <translation id="5585912436068747822">ଫର୍ମାଟ୍ ବିଫଳ ହେଲା</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">ଆପ୍ସ ଲୋଡ୍‌ ହେଉଛି...</translation>
+<translation id="5590418976913374224">ଡିଭାଇସ ଷ୍ଟାର୍ଟଅପ ସମୟରେ ସାଉଣ୍ଡ ପ୍ଲେ କରନ୍ତୁ</translation>
 <translation id="5592595402373377407">ଏପର୍ଯ୍ୟନ୍ତ ସୁଦ୍ଧା ପର୍ଯ୍ୟାପ୍ତ ଡାଟା ଉପଲବ୍ଧ ନାହିଁ</translation>
 <translation id="5595307023264033512">ସାଇଟଗୁଡ଼ିକ ଦ୍ୱାରା ବ୍ୟବହାର କରାଯାଇଥିବା ମୋଟ ଷ୍ଟୋରେଜ: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">ଠିକଣା ଏଡିଟ୍ କରନ୍ତୁ</translation>
@@ -5532,6 +5541,7 @@
 <translation id="6333170995003625229">ଆପଣଙ୍କ ଇମେଲ ଠିକଣା କିମ୍ବା ପାସୱାର୍ଡକୁ ଯାଞ୍ଚ କରାଯାଇପାରିଲା ନାହିଁ। ପୁଣି ସାଇନ ଇନ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="6335920438823100346">Linux ଆରମ୍ଭ କରିବା ପାଇଁ, <ph name="MANAGER" /> ଆପଣ ଆପଣଙ୍କ ଡାଟା ବ୍ୟାକଅପ୍ କରିବା ଏବଂ ଏହି Chromebook ଫ୍ୟାକ୍ଟୋରୀ ସେଟିଂସକୁ ରିସେଟ୍ କରିବା ଆବଶ୍ୟକ କରେ।</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> ADB ଡିବଗିଂକୁ ଅକ୍ଷମ କରିଛି। ଏହା ଦ୍ୱାରା ଆପଣଙ୍କ <ph name="DEVICE_TYPE" /> 24 ଘଣ୍ଟାରେ ରିସେଟ୍ ହୋଇଯିବ। ଆପଣ ରଖିବାକୁ ଚାହୁଁଥିବା ଯେ କୌଣସି ଫାଇଲର ବ୍ୟାକଅପ୍ ନିଅନ୍ତୁ।</translation>
+<translation id="6338402296920404442"><ph name="FILENAME" />କୁ ଡିଲିଟ କରିବା ପାଇଁ ବିଚାର କରନ୍ତୁ, ଯାହା ଫଳରେ ଏହି ଡିଭାଇସ ବ୍ୟବହାର କରୁଥିବା ଅନ୍ୟମାନେ ଆପଣଙ୍କ ପାସୱାର୍ଡଗୁଡ଼ିକ ଦେଖିପାରିବେ ନାହିଁ।</translation>
 <translation id="6338981933082930623">ସମସ୍ତ ସାଇଟ୍ ଆପଣଙ୍କୁ ଯେ କୌଣସି ବିଜ୍ଞାପନ ଦେଖାଇପାରିବ</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" />ପାଇଁ ଗୋଟିଏ ନୂଆ ପ୍ରୋଫାଇଲ୍ ତିଆରି କରନ୍ତୁ</translation>
 <translation id="6340071272923955280">ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରିଣ୍ଟିଂ ପ୍ରୋଟୋକଲ୍ (IPPS)</translation>
@@ -6332,6 +6342,7 @@
 <translation id="7102687220333134671">ସ୍ୱଚାଳିତ ଅପ୍‍‍ଡେଟ୍ ଚାଲୁ ଅଛି</translation>
 <translation id="7102832101143475489">ଅନୁରୋଧର ସମୟ ସମାପ୍ତ ହୋଇଯାଇଛି</translation>
 <translation id="710640343305609397">ନେଟୱାର୍କ ସେଟିଂସ୍ ଖୋଲନ୍ତୁ</translation>
+<translation id="7107609441453408294">ସମସ୍ତ ସ୍ପିକରରେ ସମାନ ଅଡିଓ ପ୍ଲେ କରନ୍ତୁ</translation>
 <translation id="7108338896283013870">ଲୁଚାନ୍ତୁ</translation>
 <translation id="7108668606237948702">ଏଣ୍ଟର୍</translation>
 <translation id="7108933416628942903">ବର୍ତ୍ତମାନ ଲକ୍ କରନ୍ତୁ</translation>
@@ -6423,7 +6434,6 @@
 <translation id="7212097698621322584">ଏହାକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ବର୍ତ୍ତମାନର ପିନ୍ ଲେଖନ୍ତୁ। ଯଦି ଆପଣ ନିଜର ପିନ୍ ଜାଣିନାହାନ୍ତି, ତେବେ ଆପଣଙ୍କୁ ସୁରକ୍ଷା କୀ ରିସେଟ୍ କରିବା ଆବଶ୍ୟକ, ଏହା ପରେ ଗୋଟିଏ ନୂଆ ପିନ୍ ତିଆରି କରନ୍ତୁ।</translation>
 <translation id="7213903639823314449">ଠିକଣା ବାରରେ ବ୍ୟବହୃତ ସନ୍ଧାନ ଇଞ୍ଜିନ୍</translation>
 <translation id="721490496276866468">ପାସୱାର୍ଡଗୁଡ଼ିକୁ ଇମ୍ପୋର୍ଟ କରନ୍ତୁ</translation>
-<translation id="7216595297012131718">ଆପଣଙ୍କର ଅଗ୍ରାଧିକାର ଆଧାରରେ ଭାଷା ଅର୍ଡର୍ କରନ୍ତୁ</translation>
 <translation id="7219473482981809164">ଆମକୁ ଡାଉନଲୋଡ୍ କରିବା ପାଇଁ ଉପଲବ୍ଧ ଥିବା ଏକାଧିକ ପ୍ରୋଫାଇଲ୍ ମିଳିଛି। ଆଗକୁ ବଢ଼ିବା ପୂର୍ବରୁ ଆପଣ ଡାଉନଲୋଡ୍ କରିବାକୁ ଚାହୁଁଥିବା ପ୍ରୋଫାଇଲଗୁଡ଼ିକୁ ବାଛନ୍ତୁ।</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{କୌଣସି ଦୁର୍ବଳ ପାସୱାର୍ଡ ନାହିଁ}=1{1ଟି ଦୁର୍ବଳ ପାସୱାର୍ଡ}other{{NUM_WEAK}ଟି ଦୁର୍ବଳ ପାସୱାର୍ଡ}}</translation>
 <translation id="7220019174139618249">ପାସ୍‍ୱାର୍ଡଗୁଡ଼ିକୁ "<ph name="FOLDER" />"କୁ ଏକ୍ସପୋର୍ଟ କରାଯାଇପାରିବ ନାହିଁ</translation>
@@ -6563,6 +6573,7 @@
 <translation id="7364745943115323529">କାଷ୍ଟ କରନ୍ତୁ...</translation>
 <translation id="7364796246159120393">ଫାଇଲ୍ ମନୋନୟନ କରନ୍ତୁ</translation>
 <translation id="7365076891350562061">ମନିଟରର ଆକାର</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - ପିନ କରାଯାଇଛି</translation>
 <translation id="7366316827772164604">ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ସ୍କାନ୍ କରୁଛି...</translation>
 <translation id="7366415735885268578">ଏକ ସାଇଟ୍ ଯୋଗକରନ୍ତୁ</translation>
 <translation id="7366909168761621528">ବ୍ରାଉଜିଂ ଡାଟା</translation>
@@ -7604,6 +7615,7 @@
 <translation id="8338952601723052325">ଡେଭେଲପର୍‌ଙ୍କ ୱେବ୍‍ସାଇଟ୍</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> ସ୍ଥାନୀୟ ଭାବେ ଷ୍ଟୋର୍ କରିଥିବା ଡାଟା</translation>
 <translation id="833986336429795709">ଏହି ଲିଙ୍କ୍‌କୁ ଖୋଲିବା ପାଇଁ, ଏକ ଆପ୍ ବାଛନ୍ତୁ</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" /> ପାଇଁ ଅଧିକ ପଦକ୍ଷେପ</translation>
 <translation id="8342221978608739536">ବ୍ୟବହାର କରାଯାଇନାହିଁ</translation>
 <translation id="8342861492835240085">ଏକ ସଂଗ୍ରହ ବାଛନ୍ତୁ</translation>
 <translation id="8345848587667658367">ଆପଣ ବର୍ତ୍ତମାନ ଆପଣଙ୍କ ଫୋନରେ ଥିବା ବର୍ତ୍ତମାନର ଫଟୋ, ମିଡିଆ, ବିଜ୍ଞପ୍ତି ଏବଂ ଆପ୍ସକୁ ଦେଖିପାରିବେ</translation>
diff --git a/chrome/app/resources/generated_resources_pa.xtb b/chrome/app/resources/generated_resources_pa.xtb
index 556a86e5..e14c57b5 100644
--- a/chrome/app/resources/generated_resources_pa.xtb
+++ b/chrome/app/resources/generated_resources_pa.xtb
@@ -6452,7 +6452,6 @@
 <translation id="7212097698621322584">ਇਸਨੂੰ ਬਦਲਣ ਲਈ ਆਪਣਾ ਮੌਜੂਦਾ ਪਿੰਨ ਦਾਖਲ ਕਰੋ। ਜੇ ਤੁਹਾਨੂੰ ਆਪਣਾ ਪਿੰਨ ਨਹੀਂ ਪਤਾ, ਤਾਂ ਤੁਹਾਨੂੰ ਸੁਰੱਖਿਆ ਕੁੰਜੀ ਨੂੰ ਰੀਸੈੱਟ ਕਰਕੇ ਨਵਾਂ ਪਿੰਨ ਬਣਾਉਣਾ ਪਵੇਗਾ।</translation>
 <translation id="7213903639823314449">ਪਤਾ ਬਾਰ ਵਿੱਚ ਵਰਤਿਆ ਗਿਆ ਖੋਜ ਇੰਜਣ</translation>
 <translation id="721490496276866468">ਪਾਸਵਰਡਾਂ ਨੂੰ ਆਯਾਤ ਕਰੋ</translation>
-<translation id="7216595297012131718">ਆਪਣੀ ਤਰਜੀਹ ਦੇ ਆਧਾਰ 'ਤੇ ਭਾਸ਼ਾਵਾਂ ਨੂੰ ਕ੍ਰਮਬੱਧ ਕਰੋ</translation>
 <translation id="7219473482981809164">ਸਾਨੂੰ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ ਕਈ ਪ੍ਰੋਫਾਈਲਾਂ ਦਾ ਪਤਾ ਲੱਗਾ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ ਉਸ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਚੁਣੋ ਜਿਸਨੂੰ ਤੁਸੀਂ ਡਾਊਨਲੋਡ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ।</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{ਕੋਈ ਕਮਜ਼ੋਰ ਪਾਸਵਰਡ ਨਹੀਂ}=1{1 ਕਮਜ਼ੋਰ ਪਾਸਵਰਡ}other{{NUM_WEAK} ਕਮਜ਼ੋਰ ਪਾਸਵਰਡ}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" ਨੂੰ ਪਾਸਰਵਡ ਨਿਰਯਾਤ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ</translation>
diff --git a/chrome/app/resources/generated_resources_pl.xtb b/chrome/app/resources/generated_resources_pl.xtb
index 986f8fe..4119fc28 100644
--- a/chrome/app/resources/generated_resources_pl.xtb
+++ b/chrome/app/resources/generated_resources_pl.xtb
@@ -6423,7 +6423,6 @@
 <translation id="7212097698621322584">Wpisz obecny kod PIN, by go zmienić. Jeśli go nie znasz, musisz zresetować klucz bezpieczeństwa, a potem utworzyć nowy kod PIN.</translation>
 <translation id="7213903639823314449">Wyszukiwarka używana w pasku adresu</translation>
 <translation id="721490496276866468">Importuj hasła</translation>
-<translation id="7216595297012131718">Ustaw preferowaną kolejność języków</translation>
 <translation id="7219473482981809164">Do pobrania dostępnych jest wiele profili. Zanim przejdziesz dalej, wybierz profile, które chcesz pobrać.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Brak słabych haseł}=1{1 słabe hasło}few{{NUM_WEAK} słabe hasła}many{{NUM_WEAK} słabych haseł}other{{NUM_WEAK} słabego hasła}}</translation>
 <translation id="7220019174139618249">Nie można wyeksportować haseł do folderu „<ph name="FOLDER" />”</translation>
diff --git a/chrome/app/resources/generated_resources_pt-BR.xtb b/chrome/app/resources/generated_resources_pt-BR.xtb
index aca88381..2f824bb 100644
--- a/chrome/app/resources/generated_resources_pt-BR.xtb
+++ b/chrome/app/resources/generated_resources_pt-BR.xtb
@@ -136,7 +136,7 @@
 <translation id="1126809382673880764">Não protege você contra sites, downloads e extensões perigosos. Você ainda terá a proteção do "Navegação segura", sempre que possível, em outros Serviços do Google, como o Gmail e a Pesquisa.</translation>
 <translation id="1128090040635299943">O Linux está sendo configurado no momento. A configuração vai levar alguns minutos.</translation>
 <translation id="1128591060186966949">Editar mecanismo de pesquisa</translation>
-<translation id="1129420403709586868">Veja os arquivos de mídia e fotos do smartphone</translation>
+<translation id="1129420403709586868">Ver os arquivos de mídia e fotos do smartphone</translation>
 <translation id="1129850422003387628">Gerenciar apps</translation>
 <translation id="113050636487300043">Escolha um nome e um tema de cores para diferenciar os perfis</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" />: parte do grupo <ph name="GROUP_NAME" /></translation>
@@ -907,6 +907,7 @@
 <translation id="1829129547161959350">Pinguim</translation>
 <translation id="1829192082282182671">Diminuir &amp;zoom</translation>
 <translation id="1830550083491357902">Desconectado</translation>
+<translation id="1831848493690504725">Não foi possível acessar o Google pela rede conectada. Escolha outra rede ou verifique as configurações dela ou de proxy, se estiver usando um.</translation>
 <translation id="1832459821645506983">Sim, vamos lá</translation>
 <translation id="1832511806131704864">Atualização da alteração do smartphone</translation>
 <translation id="1832848789136765277">Para garantir o acesso aos seus dados sincronizados, confirme sua identidade</translation>
@@ -1082,6 +1083,7 @@
 <translation id="1997616988432401742">Seus certificados</translation>
 <translation id="1999115740519098545">Inicialização</translation>
 <translation id="2000419248597011803">Envia alguns cookies e pesquisas da barra de endereço e da caixa de pesquisa para seu mecanismo de pesquisa padrão.</translation>
+<translation id="2001148512690747464">Nenhum dispositivo com Pareamento rápido salvo em <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">Em tempo real</translation>
 <translation id="2003130567827682533">Para ativar os dados de "<ph name="NAME" />", primeiro conecte-se a uma rede Wi-Fi</translation>
 <translation id="2004697686368036666">Os recursos de alguns sites podem não funcionar</translation>
@@ -1791,6 +1793,7 @@
 <translation id="2642111877055905627">Bola de futebol</translation>
 <translation id="2643698698624765890">Gerencie suas extensões clicando em Extensões no menu Janela.</translation>
 <translation id="2645047101481282803">Seu dispositivo é gerenciado por <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 senha importada para este dispositivo}one{{NUM_PASSWORDS} senha importada para este dispositivo}other{{NUM_PASSWORDS} senhas importadas para este dispositivo}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">ASCII codificado na Base64, cadeia de certificados</translation>
 <translation id="2652129567809778422">Selecionar senha</translation>
@@ -2785,7 +2788,7 @@
 <translation id="3616741288025931835">&amp;Limpar dados de navegação...</translation>
 <translation id="3617891479562106823">Os planos de fundo estão indisponíveis. Tente novamente mais tarde.</translation>
 <translation id="3619115746895587757">Cappuccino</translation>
-<translation id="3619962278978697442">Escolha uma delas cada vez que fizer login</translation>
+<translation id="3619962278978697442">Escolha uma opção toda vez que fizer login</translation>
 <translation id="3621807901162200696">Ajudar a melhorar os recursos e o desempenho do ChromeOS</translation>
 <translation id="362266093274784978">{COUNT,plural, =1{um app}one{# app}other{# apps}}</translation>
 <translation id="362333465072914957">Esperando um certificado CA</translation>
@@ -2969,6 +2972,7 @@
 <translation id="3789841737615482174">Instalar</translation>
 <translation id="3790417903123637354">Algo deu errado. Tente novamente mais tarde</translation>
 <translation id="379082410132524484">Seu cartão expirou</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> extensões</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{O Chrome não encontrou softwares nocivos no computador • Verificado 1 dia atrás}one{O Chrome não encontrou softwares nocivos no computador • Verificado {NUM_DAYS} dia atrás}other{O Chrome não encontrou softwares nocivos no computador • Verificado {NUM_DAYS} dias atrás}}</translation>
 <translation id="379500251094592809">Para usar o Compartilhar por proximidade, confira se os dois dispositivos estão desbloqueados, perto um do outro e com o Bluetooth ativado. Se você estiver compartilhando com um Chromebook que não está nos seus contatos, confira se a visibilidade do Compartilhar por proximidade está ativada: abra a área de status clicando no horário e ative a visibilidade. <ph name="LINK_BEGIN" />Saiba mais<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Desativado</translation>
@@ -3964,7 +3968,7 @@
 <translation id="474609389162964566">Acesse o Google Assistente usando o "Ok Google"</translation>
 <translation id="4746351372139058112">Mensagens</translation>
 <translation id="4748783296226936791">Os sites geralmente se conectam a dispositivos HID para recursos que usam teclados diferentes, controles de jogos e outros dispositivos</translation>
-<translation id="4750185073185658673">Use o smartphone para revisar mais algumas permissões. Confira se o Bluetooth e o Wi-Fi dele estão ativados.</translation>
+<translation id="4750185073185658673">No smartphone, reveja se as permissões estão corretas. Confira se o Bluetooth e o Wi-Fi estão ativados.</translation>
 <translation id="4750394297954878236">Sugestões</translation>
 <translation id="475088594373173692">Primeiro usuário</translation>
 <translation id="4756378406049221019">Parar/Recarregar</translation>
@@ -3981,7 +3985,7 @@
 <translation id="4768332406694066911">Você tem certificados das seguintes empresas que identificam você</translation>
 <translation id="4770119228883592393">Permissão solicitada. Pressione ⌘ + Option + seta para baixo para responder</translation>
 <translation id="4773112038801431077">Fazer upgrade do Linux</translation>
-<translation id="4774337692467964393">Se o Smart Lock estiver ativado, não será necessário digitar um PIN ou uma senha</translation>
+<translation id="4774337692467964393">Quando o Smart Lock está ativado, você não precisa digitar um PIN ou senha</translation>
 <translation id="4775142426314270551">Ajude a melhorar os recursos e o desempenho do Chrome e do ChromeOS enviando automaticamente relatórios de erros e dados de uso e diagnóstico ao Google. Alguns dados agregados também ajudam apps Android e parceiros do Google. Se a configuração "Atividade na Web e de apps" estiver ativada para a Conta do Google da criança, esses dados do Android poderão ser salvos na Conta do Google dela.</translation>
 <translation id="477647109558161443">Criar um atalho na área de trabalho</translation>
 <translation id="4776594120007763294">Para adicionar uma página à lista, clique no botão</translation>
@@ -4049,7 +4053,7 @@
 <translation id="4837165100461973682">Atualize a página para aplicar as modificações</translation>
 <translation id="4837926214103741331">Você não tem autorização para usar este dispositivo. Para permissão de login, entre em contato com o proprietário do dispositivo.</translation>
 <translation id="4837952862063191349">Para desbloquear e restaurar seus dados locais, digite sua senha antiga do <ph name="DEVICE_TYPE" />.</translation>
-<translation id="4838170306476614339">Veja os arquivos de mídia, fotos e notificações do smartphone</translation>
+<translation id="4838170306476614339">Ver os arquivos de mídia, fotos e notificações do smartphone</translation>
 <translation id="4838836835474292213">Acesso de leitura à área de transferência permitido</translation>
 <translation id="4838907349371614303">Senha atualizada</translation>
 <translation id="4839303808932127586">Sal&amp;var vídeo como...</translation>
@@ -4168,7 +4172,7 @@
 <translation id="4941074198479265146">Os sites geralmente se conectam a dispositivos MIDI para recursos como criação e edição de músicas</translation>
 <translation id="4941246025622441835">Usar essa requisição de dispositivo ao inscrever o dispositivo no gerenciamento corporativo:</translation>
 <translation id="4941627891654116707">Tamanho da fonte</translation>
-<translation id="4941963255146903244">Veja os arquivos de mídia, fotos e apps do smartphone</translation>
+<translation id="4941963255146903244">Ver os arquivos de mídia, fotos e apps do smartphone</translation>
 <translation id="494286511941020793">Ajuda da configuração de proxy</translation>
 <translation id="4943368462779413526">Futebol americano</translation>
 <translation id="4943691134276646401">"<ph name="CHROME_EXTENSION_NAME" />" quer se conectar a uma porta serial</translation>
@@ -4750,12 +4754,14 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> quer</translation>
 <translation id="5534304873398226603">Descartar foto ou vídeo</translation>
 <translation id="5537725057119320332">Transmitir</translation>
+<translation id="5539070192556911367">Não é possível acessar o Google</translation>
 <translation id="5539221284352502426">A senha inserida foi recusada pelo servidor. Entre os possíveis motivos estão: a senha é muito curta, não inclui números ou símbolos ou é igual a senhas anteriores.</translation>
 <translation id="5541694225089836610">Ação desativada pelo administrador</translation>
 <translation id="5542132724887566711">Perfil</translation>
 <translation id="5542750926112347543">Os cookies de <ph name="DOMAIN" /> foram bloqueados</translation>
 <translation id="5542949973455282971">Conectando-se à <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Verificando status...</translation>
+<translation id="5544482392629385159">Dispositivo <ph name="DEVICE_INDEX" /> de <ph name="DEVICE_COUNT" />: <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderizador</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Adicionar guia ao grupo}one{Adicionar guia ao grupo}other{Adicionar guias ao grupo}}</translation>
 <translation id="5545693483061321551">Os sites não podem usar seus cookies para ver sua atividade de navegação em diferentes páginas, por exemplo, para personalizar anúncios. Os recursos de alguns sites podem não funcionar.</translation>
@@ -4812,6 +4818,7 @@
 <translation id="5585912436068747822">Falha na formatação</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Carregando apps…</translation>
+<translation id="5590418976913374224">Tocar som na inicialização do dispositivo</translation>
 <translation id="5592595402373377407">Ainda não há dados suficientes.</translation>
 <translation id="5595307023264033512">Armazenamento total usado pelos sites: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Editar endereço</translation>
@@ -5558,6 +5565,7 @@
 <translation id="6333170995003625229">Não foi possível verificar seu endereço de e-mail ou sua senha. Tente fazer login novamente.</translation>
 <translation id="6335920438823100346">Para iniciar o Linux, <ph name="MANAGER" /> exige que você faça backup dos seus dados e redefina o Chromebook para as configurações originais.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> desativou a depuração do adb. O <ph name="DEVICE_TYPE" /> será redefinido em 24 horas. Faça backup dos arquivos importantes para você.</translation>
+<translation id="6338402296920404442">Recomendamos que você exclua o arquivo <ph name="FILENAME" /> para que os outros usuários deste dispositivo não vejam suas senhas.</translation>
 <translation id="6338981933082930623">Todos os sites podem exibir anúncios</translation>
 <translation id="6339668969738228384">Criar um novo perfil para <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Protocolo de impressão via Internet (IPPS)</translation>
@@ -5631,7 +5639,7 @@
 <translation id="641469293210305670">Instalar atualizações e apps</translation>
 <translation id="6414878884710400018">Abrir preferências do sistema</translation>
 <translation id="6414888972213066896">Você perguntou ao seu responsável se pode visitar este site</translation>
-<translation id="6415900369006735853">Conecte-se à internet pelo smartphone</translation>
+<translation id="6415900369006735853">Conectar à Internet pelo smartphone</translation>
 <translation id="6416743254476733475">Permita ou bloqueie no seu computador.</translation>
 <translation id="6417265370957905582">Google Assistente</translation>
 <translation id="6417468503703810114">Comportamento padrão</translation>
@@ -6058,7 +6066,7 @@
 <translation id="6815376457351236663">Abrir mesmo assim</translation>
 <translation id="6817174620439930047">Perguntar quando um site quiser usar mensagens exclusivas do sistema para acessar dispositivos MIDI (recomendado)</translation>
 <translation id="6818198425579322765">Idioma de origem da página</translation>
-<translation id="6818547713623251698">Veja os arquivos de mídia, fotos, notificações e apps do smartphone</translation>
+<translation id="6818547713623251698">Ver os arquivos de mídia, fotos, notificações e apps do smartphone</translation>
 <translation id="6818802132960437751">Proteção antivírus integrada</translation>
 <translation id="6818920801736417483">Salvar senhas?</translation>
 <translation id="6823174134746916417">Tocar para clicar no touchpad</translation>
@@ -6358,6 +6366,7 @@
 <translation id="7102687220333134671">As atualizações automáticas estão ativadas</translation>
 <translation id="7102832101143475489">A solicitação expirou</translation>
 <translation id="710640343305609397">Abrir configurações de rede</translation>
+<translation id="7107609441453408294">Ouvir o mesmo áudio pelos alto-falantes</translation>
 <translation id="7108338896283013870">Ocultar</translation>
 <translation id="7108668606237948702">enter</translation>
 <translation id="7108933416628942903">Bloquear agora</translation>
@@ -6449,7 +6458,6 @@
 <translation id="7212097698621322584">Insira seu PIN atual para alterá-lo. Se você não sabe seu PIN, redefina a chave de segurança e crie um novo.</translation>
 <translation id="7213903639823314449">O mecanismo de pesquisa usado na barra de endereço</translation>
 <translation id="721490496276866468">Importar senhas</translation>
-<translation id="7216595297012131718">Ordenar idiomas com base na sua preferência</translation>
 <translation id="7219473482981809164">Há vários perfis disponíveis para download. Selecione aqueles de que você quer fazer o download antes de continuar.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nenhuma senha fraca}=1{1 senha fraca}one{{NUM_WEAK} senha fraca}other{{NUM_WEAK} senhas fracas}}</translation>
 <translation id="7220019174139618249">Não é possível exportar senhas para "<ph name="FOLDER" />"</translation>
@@ -6462,7 +6470,7 @@
 <translation id="7227458944009118910">Os apps listados abaixo também podem processar links de protocolo. Outros apps solicitarão permissão.</translation>
 <translation id="7228523857728654909">Bloqueio de tela e login</translation>
 <translation id="7230222852462421043">&amp;Restaurar janela</translation>
-<translation id="7231260028442989757">Veja, dispense e responda às notificações do smartphone.</translation>
+<translation id="7231260028442989757">Ver, dispensar e responder às notificações do smartphone</translation>
 <translation id="7232750842195536390">Falha na renomeação</translation>
 <translation id="723343421145275488">Pesquisar imagens com <ph name="VISUAL_SEARCH_PROVIDER" /></translation>
 <translation id="7234010996000898150">Cancelando restauração do Linux</translation>
@@ -6589,6 +6597,7 @@
 <translation id="7364745943115323529">Transmitir...</translation>
 <translation id="7364796246159120393">Escolher arquivo</translation>
 <translation id="7365076891350562061">Tamanho do monitor</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> (fixada)</translation>
 <translation id="7366316827772164604">Procurando dispositivos próximos…</translation>
 <translation id="7366415735885268578">Adicionar um site</translation>
 <translation id="7366909168761621528">Dados de navegação</translation>
@@ -7313,7 +7322,7 @@
 <translation id="8037357227543935929">Perguntar (padrão)</translation>
 <translation id="803771048473350947">Arquivo</translation>
 <translation id="8041089156583427627">Enviar comentários</translation>
-<translation id="8041267120753677077">Faça streaming dos apps do seu smartphone</translation>
+<translation id="8041267120753677077">Fazer transmissão dos apps no seu smartphone</translation>
 <translation id="8042142357103597104">Opacidade do texto</translation>
 <translation id="8042331986490021244">Suas senhas são criptografadas no dispositivo antes de serem salvas no Gerenciador de senhas do Google</translation>
 <translation id="8044262338717486897"><ph name="LINUX_APP_NAME" /> não está respondendo.</translation>
@@ -7633,6 +7642,7 @@
 <translation id="8338952601723052325">Website do desenvolvedor</translation>
 <translation id="8339059274628563283">Dados armazenados localmente do <ph name="SITE" /></translation>
 <translation id="833986336429795709">Para abrir este link, escolha um app</translation>
+<translation id="8340547030807793004">Mais ações para o dispositivo <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Não tentei</translation>
 <translation id="8342861492835240085">Selecione uma coleção</translation>
 <translation id="8345848587667658367">Agora, você pode ver apps, mídias, notificações e fotos recentes do seu smartphone</translation>
diff --git a/chrome/app/resources/generated_resources_pt-PT.xtb b/chrome/app/resources/generated_resources_pt-PT.xtb
index 962c0b633..5ffa269 100644
--- a/chrome/app/resources/generated_resources_pt-PT.xtb
+++ b/chrome/app/resources/generated_resources_pt-PT.xtb
@@ -895,6 +895,7 @@
 <translation id="1829129547161959350">Pinguim</translation>
 <translation id="1829192082282182671">Re&amp;duzir</translation>
 <translation id="1830550083491357902">Não tem sessão iniciada</translation>
+<translation id="1831848493690504725">Não é possível aceder ao Google através da rede ligada. Experimente escolher uma rede diferente ou verificar as definições de rede ou as definições de proxy (se estiver a usar um proxy).</translation>
 <translation id="1832459821645506983">Sim, aceito</translation>
 <translation id="1832511806131704864">Alteração de telemóvel atualizada</translation>
 <translation id="1832848789136765277">Para se certificar de que pode sempre aceder aos seus dados de sincronização, valide a sua identidade</translation>
@@ -2194,6 +2195,7 @@
 <translation id="3021065318976393105">Estando a usar a bateria</translation>
 <translation id="3021066826692793094">Borboleta</translation>
 <translation id="3021678814754966447">&amp;Ver Origem da Moldura</translation>
+<translation id="3022361196600037287">O dispositivo <ph name="DEVICE" /> vai ser removido deste Chromebook e não vai ser guardado em <ph name="PRIMARY_EMAIL" />.</translation>
 <translation id="3022978424994383087">Não entendido.</translation>
 <translation id="3023464535986383522">Selecionar para falar</translation>
 <translation id="3024374909719388945">Utilizar relógio de 24h</translation>
@@ -3732,6 +3734,7 @@
 <translation id="4535127706710932914">Perfil Predefinido</translation>
 <translation id="4535767533210902251">O sensor de impressões digitais é a tecla superior direita no seu teclado. Toque levemente no mesmo com qualquer dedo.</translation>
 <translation id="4536140153723794651">Sites que podem utilizar cookies sempre</translation>
+<translation id="4536769240747010177">Capacidades de ligação (à Internet) via telemóvel:</translation>
 <translation id="4538417792467843292">Eliminar palavra</translation>
 <translation id="4538792345715658285">Instalada pela política da empresa.</translation>
 <translation id="4541123282641193691">Não foi possível validar a sua conta. Tente novamente ou reinicie o Chromebook.</translation>
@@ -3759,6 +3762,7 @@
 <translation id="4561893854334016293">Nenhuma autorização alterada recentemente.</translation>
 <translation id="4562155214028662640">Adicionar impressão digital</translation>
 <translation id="4563210852471260509">O idioma de introdução inicial é chinês</translation>
+<translation id="4563382028841851106">Remover da conta</translation>
 <translation id="4563880231729913339">Dedo 3</translation>
 <translation id="4564245002465020751">Conclua a configuração no telemóvel</translation>
 <translation id="4565377596337484307">Ocultar palavra-passe</translation>
@@ -4736,6 +4740,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> pretende</translation>
 <translation id="5534304873398226603">Rejeitar foto ou vídeo</translation>
 <translation id="5537725057119320332">Transmitir</translation>
+<translation id="5539070192556911367">Não é possível aceder ao Google</translation>
 <translation id="5539221284352502426">A palavra-passe introduzida foi rejeitada pelo servidor. Motivos possíveis: a palavra-passe é demasiado curta; a palavra-passe tem de incluir números ou símbolos; a palavra-passe tem de ser diferente das palavras-passe antigas.</translation>
 <translation id="5541694225089836610">A ação foi desativada pelo administrador.</translation>
 <translation id="5542132724887566711">Perfil</translation>
@@ -4799,6 +4804,7 @@
 <translation id="5585912436068747822">Falha na formatação</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">A carregar aplicações…</translation>
+<translation id="5590418976913374224">Reproduzir som no arranque do dispositivo</translation>
 <translation id="5592595402373377407">Ainda não estão disponíveis dados suficientes.</translation>
 <translation id="5595307023264033512">Armazenamento total usado pelos sites: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Editar morada</translation>
@@ -6177,6 +6183,10 @@
 <translation id="6943939122536910181">Desligado de <ph name="DEVICE" /></translation>
 <translation id="6945221475159498467">Selecionar</translation>
 <translation id="694592694773692225">O redirecionamento está bloqueado nesta página.</translation>
+<translation id="6947015141909171112">Está a ver receitas baseadas na sua atividade de pesquisa recente de receitas.
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        Pode gerir definições no menu do cartão ou ver mais opções em Personalizar o Chrome.</translation>
 <translation id="6949434160682548041">Palavra-passe (opcional)</translation>
 <translation id="6950627417367801484">Restaurar aplicações</translation>
 <translation id="6952242901357037157">Também pode mostrar palavras-passe da sua <ph name="BEGIN_LINK" />Conta Google<ph name="END_LINK" /> aqui.</translation>
@@ -6344,6 +6354,7 @@
 <translation id="7102687220333134671">As atualizações automáticas estão ativadas</translation>
 <translation id="7102832101143475489">O pedido excedeu o tempo limite.</translation>
 <translation id="710640343305609397">Abrir definições de rede</translation>
+<translation id="7107609441453408294">Reproduzir o mesmo áudio através de todos os altifalantes</translation>
 <translation id="7108338896283013870">Ocultar</translation>
 <translation id="7108668606237948702">enter</translation>
 <translation id="7108933416628942903">Bloquear agora</translation>
@@ -6435,7 +6446,6 @@
 <translation id="7212097698621322584">Introduza o seu PIN atual para o alterar. Se não souber qual é o PIN, tem de repor a chave de segurança e, em seguida, criar um novo PIN.</translation>
 <translation id="7213903639823314449">Motor de pesquisa utilizado na barra de endereço</translation>
 <translation id="721490496276866468">Importar palavras-passe</translation>
-<translation id="7216595297012131718">Ordene idiomas com base na sua preferência</translation>
 <translation id="7219473482981809164">Encontrámos vários perfis disponíveis para transferência. Selecione os que quer transferir antes de prosseguir.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Sem palavras-passe fracas.}=1{1 palavra-passe fraca.}other{{NUM_WEAK} palavras-passe fracas.}}</translation>
 <translation id="7220019174139618249">Não é possível exportar as palavras-passe para "<ph name="FOLDER" />"</translation>
@@ -6575,6 +6585,7 @@
 <translation id="7364745943115323529">Transmitir...</translation>
 <translation id="7364796246159120393">Escolher ficheiro</translation>
 <translation id="7365076891350562061">Tamanho do monitor</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> – Fixado</translation>
 <translation id="7366316827772164604">A procurar dispositivos próximos…</translation>
 <translation id="7366415735885268578">Adicionar um site</translation>
 <translation id="7366909168761621528">Dados de navegação</translation>
@@ -6971,6 +6982,7 @@
 <translation id="7737115349420013392">A sincronizar com o dispositivo "<ph name="DEVICE_NAME" />"…</translation>
 <translation id="7737846262459425222">Pode alterar esta opção em qualquer altura em Definições &gt; Assistente Google &gt; Contexto do ecrã.</translation>
 <translation id="7737948071472253612">Sem autorização para utilizar a sua câmara</translation>
+<translation id="77381465218432215">Mostrar acentos e carateres especiais</translation>
 <translation id="7740996059027112821">Padrão</translation>
 <translation id="7741307896921365578">Ativa um painel lateral ao nível do navegador para obter uma forma útil e persistente de aceder à sua Lista de leitura e Marcadores.</translation>
 <translation id="7742558784808143689">Pretende limpar os dados e as autorizações do site <ph name="SITE_NAME" />, de todos os sites associados ao mesmo e das apps instaladas?</translation>
@@ -7761,6 +7773,7 @@
 <translation id="8486666913807228950">Motivo: a regra invertida <ph name="REVERT_RULE" /> foi encontrada na lista "Forçar abertura em".</translation>
 <translation id="848666842773560761">Uma app está a tentar aceder à câmara. Desligue o interruptor de privacidade da câmara para permitir o acesso.</translation>
 <translation id="8487678622945914333">Ampliar</translation>
+<translation id="8487699605742506766">Zona Wi-Fi</translation>
 <translation id="8489156414266187072">As sugestões pessoais apenas são mostradas na sua conta.</translation>
 <translation id="8490896350101740396">As seguintes aplicações de quiosque "<ph name="UPDATED_APPS" />" foram atualizadas. Reinicie o dispositivo para concluir o processo de atualização.</translation>
 <translation id="8492685019009920170">Toque no sensor de impressões digitais com o dedo. Os seus dados são armazenados em segurança e nunca saem do <ph name="DEVICE_TYPE" />.</translation>
@@ -8254,6 +8267,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{"<ph name="TAB_TITLE" />"}=1{"<ph name="TAB_TITLE" />" e mais 1 separador}other{"<ph name="TAB_TITLE" />" e mais # separadores}}</translation>
 <translation id="8977811652087512276">Palavra-passe incorreta ou ficheiro danificado</translation>
 <translation id="8978154919215542464">Ativar – sincronizar tudo</translation>
+<translation id="8978670037548431647">Atualizar capacidades de ligação (à Internet) via telemóvel</translation>
 <translation id="897939795688207351">Em <ph name="ORIGIN" /></translation>
 <translation id="8980345560318123814">Relatórios de comentários</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – falhou</translation>
@@ -8518,6 +8532,7 @@
 <translation id="935854577147268200">O telemóvel com Smart Lock foi alterado. Introduza a palavra-passe para atualizar o Smart Lock. Da próxima vez, o telemóvel irá desbloquear o <ph name="DEVICE_TYPE" />. Desative o Smart Lock nas Definições.</translation>
 <translation id="936646668635477464">Câmara e microfone</translation>
 <translation id="936801553271523408">Dados de diagnóstico do sistema</translation>
+<translation id="937053962468712792">Remover o dispositivo <ph name="DEVICE" /> de <ph name="PRIMARY_EMAIL" />?</translation>
 <translation id="93766956588638423">Reparar extensão</translation>
 <translation id="938568644810664664">Experimente "OK Google, que música é esta?" ou "OK Google, o que está no meu ecrã?"</translation>
 <translation id="938623846785894166">Ficheiro invulgar</translation>
diff --git a/chrome/app/resources/generated_resources_ro.xtb b/chrome/app/resources/generated_resources_ro.xtb
index cb3bc04..719de6c7 100644
--- a/chrome/app/resources/generated_resources_ro.xtb
+++ b/chrome/app/resources/generated_resources_ro.xtb
@@ -1070,6 +1070,7 @@
 <translation id="1997616988432401742">Certificatele tale</translation>
 <translation id="1999115740519098545">La pornire</translation>
 <translation id="2000419248597011803">Trimite anumite cookie-uri și căutări din bara de adrese și din caseta de căutare în motorul de căutare prestabilit</translation>
+<translation id="2001148512690747464">Niciun dispozitiv Fast Pair nu a fost salvat la <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">În timp real</translation>
 <translation id="2003130567827682533">Pentru a activa datele „<ph name="NAME" />”, conectează-te mai întâi la o rețea Wi-Fi.</translation>
 <translation id="2004697686368036666">Este posibil ca funcțiile din anumite site-uri să nu funcționeze</translation>
@@ -1776,6 +1777,7 @@
 <translation id="2642111877055905627">Minge de fotbal</translation>
 <translation id="2643698698624765890">Gestionați extensiile făcând clic pe Extensii în meniul Window (Fereastră).</translation>
 <translation id="2645047101481282803">Dispozitivul este gestionat de <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{O parolă importată pe acest dispozitiv}few{{NUM_PASSWORDS} parole importate pe acest dispozitiv}other{{NUM_PASSWORDS} de parole importate pe acest dispozitiv}}</translation>
 <translation id="2645435784669275700">Sistemul de operare Chrome</translation>
 <translation id="2649045351178520408">ASCII codificat Base64, lanț de certificate</translation>
 <translation id="2652129567809778422">Selectează o parolă</translation>
@@ -2953,6 +2955,7 @@
 <translation id="3789841737615482174">Instalează</translation>
 <translation id="3790417903123637354">A apărut o eroare. Încearcă din nou mai târziu.</translation>
 <translation id="379082410132524484">Cardul a expirat</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> extensii</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome nu a găsit software dăunător pe computer • A verificat acum o zi}few{Chrome nu a găsit software dăunător pe computer • A verificat acum {NUM_DAYS} zile}other{Chrome nu a găsit software dăunător pe computer • A verificat acum {NUM_DAYS} de zile}}</translation>
 <translation id="379500251094592809">Pentru a folosi Trimiterea în apropiere, asigură-te că ambele dispozitive sunt deblocate și apropiate unul de celălalt și că au activată conexiunea Bluetooth. Dacă trimiți fișiere unui Chromebook care nu este trecut în agendă, asigură-te că are Trimiterea în apropiere activată (deschide zona de stare selectând ora, apoi activează Trimiterea în apropiere). <ph name="LINK_BEGIN" />Află mai multe<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Dezactivat</translation>
@@ -4739,6 +4742,7 @@
 <translation id="5542750926112347543">Cookie-urile de la <ph name="DOMAIN" /> au fost blocate</translation>
 <translation id="5542949973455282971">Se conectează la <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Se verifică starea...</translation>
+<translation id="5544482392629385159">Dispozitivul <ph name="DEVICE_INDEX" /> din <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Program de redare</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Adaugă fila într-un grup}few{Adaugă filele într-un grup}other{Adaugă filele într-un grup}}</translation>
 <translation id="5545693483061321551">Site-urile nu pot folosi cookie-uri pentru a vedea activitatea ta de navigare de pe diferite site-uri, de exemplu, pentru a personaliza anunțurile. Este posibil ca funcțiile de pe anumite site-uri să nu funcționeze.</translation>
@@ -5540,6 +5544,7 @@
 <translation id="6333170995003625229">Adresa de e-mail sau parola nu a putut fi confirmată. Încearcă să te conectezi din nou.</translation>
 <translation id="6335920438823100346">Pentru a inițializa Linux, <ph name="MANAGER" /> îți solicită să faci backup datelor și să revii la setările din fabrică ale Chromebookului.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> a dezactivat remedierea erorilor prin ADB. Astfel, <ph name="DEVICE_TYPE" /> se va reseta în termen de 24 de ore. Fă backup pentru fișierele pe care vrei să le păstrezi.</translation>
+<translation id="6338402296920404442">Șterge <ph name="FILENAME" />, pentru ca persoanele care folosesc acest dispozitiv să nu îți poată vedea parolele.</translation>
 <translation id="6338981933082930623">Toate site-urile pot afișa orice anunțuri</translation>
 <translation id="6339668969738228384">Creează un profil nou pentru <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6431,7 +6436,6 @@
 <translation id="7212097698621322584">Introdu codul PIN actual pentru a-l schimba. Dacă nu știi codul PIN, trebuie să resetezi cheia de securitate, apoi să creezi un nou cod PIN.</translation>
 <translation id="7213903639823314449">Motorul de căutare folosit în bara de adrese</translation>
 <translation id="721490496276866468">Importă parole</translation>
-<translation id="7216595297012131718">Ordonează limbile pe baza preferințelor tale</translation>
 <translation id="7219473482981809164">Am detectat mai multe profiluri disponibile pentru descărcare. Selectează-le pe cele pe care vrei să le descarci înainte de a continua.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nicio parolă slabă}=1{O parolă slabă}few{{NUM_WEAK} parole slabe}other{{NUM_WEAK} de parole slabe}}</translation>
 <translation id="7220019174139618249">Nu se pot exporta parole în „<ph name="FOLDER" />”</translation>
@@ -7614,6 +7618,7 @@
 <translation id="8338952601723052325">Site-ul dezvoltatorului</translation>
 <translation id="8339059274628563283">Date salvate local de <ph name="SITE" /></translation>
 <translation id="833986336429795709">Pentru a deschide acest link, alege o aplicație</translation>
+<translation id="8340547030807793004">Mai multe acțiuni pentru <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Nu am încercat</translation>
 <translation id="8342861492835240085">Selectează o colecție</translation>
 <translation id="8345848587667658367">Acum poți vedea fotografiile, conținutul media, notificările și aplicațiile recente ale telefonului</translation>
diff --git a/chrome/app/resources/generated_resources_ru.xtb b/chrome/app/resources/generated_resources_ru.xtb
index b49c238..7b6ce0580 100644
--- a/chrome/app/resources/generated_resources_ru.xtb
+++ b/chrome/app/resources/generated_resources_ru.xtb
@@ -1071,6 +1071,7 @@
 <translation id="1997616988432401742">Ваши сертификаты</translation>
 <translation id="1999115740519098545">Запуск Chrome</translation>
 <translation id="2000419248597011803">Отправлять некоторые файлы cookie и поисковые запросы из адресной строки в поисковую систему по умолчанию</translation>
+<translation id="2001148512690747464">В аккаунте <ph name="PRIMARY_EMAIL" /> нет сохраненных устройств с Быстрым подключением</translation>
 <translation id="2002109485265116295">В режиме реального времени</translation>
 <translation id="2003130567827682533">Чтобы активировать службу передачи данных "<ph name="NAME" />", сначала подключитесь к сети Wi-Fi.</translation>
 <translation id="2004697686368036666">Функции некоторых сайтов могут стать недоступными</translation>
@@ -1335,6 +1336,7 @@
 <translation id="2241053333139545397">Просмотр и изменение данных на нескольких сайтах</translation>
 <translation id="2241634353105152135">Однократно</translation>
 <translation id="2242687258748107519">Информация о файле</translation>
+<translation id="2245296100676446525">Включите синхронизацию, чтобы закладки, пароли, история и прочие данные стали доступны на этом и других ваших устройствах.</translation>
 <translation id="2245603955208828424">Перемещаться между объектами с помощью клавиш со стрелками</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> автоматически обновляется в фоновом режиме, чтобы у вас всегда был доступ к новейшим функциям и улучшенной защите. Проверить параметры обновлений можно в настройках.</translation>
 <translation id="2246549592927364792">Получать от Google описания изображений?</translation>
@@ -1776,6 +1778,7 @@
 <translation id="2642111877055905627">Футбольный мяч</translation>
 <translation id="2643698698624765890">Управлять расширениями можно на вкладке "Расширения" в меню "Окно".</translation>
 <translation id="2645047101481282803">Вашим устройством управляет администратор домена <ph name="PROFILE_NAME" />.</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 пароль импортирован на это устройство}one{{NUM_PASSWORDS} пароль импортирован на это устройство}few{{NUM_PASSWORDS} пароля импортировано на это устройство}many{{NUM_PASSWORDS} паролей импортировано на это устройство}other{{NUM_PASSWORDS} пароля импортировано на это устройство}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">ASCII с кодировкой Base64, цепочка сертификатов</translation>
 <translation id="2652129567809778422">Выберите пароль</translation>
@@ -2953,6 +2956,7 @@
 <translation id="3789841737615482174">Установить</translation>
 <translation id="3790417903123637354">Произошла ошибка. Повторите попытку позже.</translation>
 <translation id="379082410132524484">Срок действия карты истек</translation>
+<translation id="3792973596468118484">Расширений: <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: 1 день назад}one{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_DAYS} день назад}few{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_DAYS} дня назад}many{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_DAYS} дней назад}other{Браузер Chrome не обнаружил на компьютере вредоносное ПО • Последняя проверка: {NUM_DAYS} дня назад}}</translation>
 <translation id="379500251094592809">Чтобы функция "Обмен с окружением" работала, оба устройства должны быть разблокированы и находиться рядом. Убедитесь, что вы включили на них Bluetooth. Чтобы обмениваться данными с устройством Chromebook, которого нет в ваших контактах, включите на нем параметр "Широкий доступ". Для этого откройте панель состояния, нажав на время. <ph name="LINK_BEGIN" />Подробнее…<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Отключено</translation>
@@ -4739,6 +4743,7 @@
 <translation id="5542750926112347543">Файлы cookie с сайта <ph name="DOMAIN" /> заблокированы</translation>
 <translation id="5542949973455282971">Подключение к сети "<ph name="CARRIER_NAME" />"…</translation>
 <translation id="5543983818738093899">Проверка статуса…</translation>
+<translation id="5544482392629385159">Устройство <ph name="DEVICE_INDEX" /> из <ph name="DEVICE_COUNT" />, "<ph name="DEVICE_NAME" />"</translation>
 <translation id="554517701842997186">Отрисовщик</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Добавить вкладку в группу}one{Добавить вкладки в группу}few{Добавить вкладки в группу}many{Добавить вкладки в группу}other{Добавить вкладки в группу}}</translation>
 <translation id="5545693483061321551">Сайты не могут использовать файлы cookie, чтобы отслеживать ваши действия в браузере, например для показа персонализированной рекламы. Из-за этого функции некоторых сайтов могут стать недоступными.</translation>
@@ -5540,6 +5545,7 @@
 <translation id="6333170995003625229">Введен недействительный адрес электронной почты или пароль. Повторите попытку.</translation>
 <translation id="6335920438823100346">Для запуска Linux требуется (источник правила: <ph name="MANAGER" />) выполнить резервное копирование данных и сбросить настройки устройства Chromebook до заводских.</translation>
 <translation id="6336038146639916978">Отладка с помощью ADB отключена администратором (<ph name="MANAGER" />). Настройки устройства <ph name="DEVICE_TYPE" /> будут сброшены через 24 часа. Чтобы сохранить нужные файлы, создайте их резервную копию.</translation>
+<translation id="6338402296920404442">Рекомендуем удалить файл <ph name="FILENAME" />, чтобы другие пользователи, которые работают с этим устройством, не могли видеть ваши пароли.</translation>
 <translation id="6338981933082930623">Разрешить всем сайтам показывать любые объявления</translation>
 <translation id="6339668969738228384">Создать профиль для <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6435,7 +6441,6 @@
 <translation id="7212097698621322584">Сначала введите текущий PIN-код. Если вы его не знаете, сбросьте настройки электронного ключа и установите новый PIN-код.</translation>
 <translation id="7213903639823314449">Поисковая система, используемая в адресной строке.</translation>
 <translation id="721490496276866468">Импорт паролей</translation>
-<translation id="7216595297012131718">Расположите языки, исходя из своих предпочтений</translation>
 <translation id="7219473482981809164">Доступно несколько профилей. Выберите, какие нужно скачать.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Нет простых паролей}=1{1 простой пароль}one{{NUM_WEAK} простой пароль}few{{NUM_WEAK} простых пароля}many{{NUM_WEAK} простых паролей}other{{NUM_WEAK} простого пароля}}</translation>
 <translation id="7220019174139618249">Не удалось экспортировать пароли в папку "<ph name="FOLDER" />"</translation>
@@ -7618,6 +7623,7 @@
 <translation id="8338952601723052325">Сайт разработчика</translation>
 <translation id="8339059274628563283">Локальные данные сайта <ph name="SITE" /></translation>
 <translation id="833986336429795709">Чтобы открыть ссылку, выберите приложение</translation>
+<translation id="8340547030807793004">Другие действия с устройством "<ph name="DEVICE" />"</translation>
 <translation id="8342221978608739536">Не знаю</translation>
 <translation id="8342861492835240085">Выберите коллекцию</translation>
 <translation id="8345848587667658367">Теперь вы можете просматривать недавние фотографии, медиафайлы, уведомления и приложения с телефона</translation>
diff --git a/chrome/app/resources/generated_resources_si.xtb b/chrome/app/resources/generated_resources_si.xtb
index d37b816..24a0897 100644
--- a/chrome/app/resources/generated_resources_si.xtb
+++ b/chrome/app/resources/generated_resources_si.xtb
@@ -1070,6 +1070,7 @@
 <translation id="1997616988432401742">ඔබේ සහතික</translation>
 <translation id="1999115740519098545">ආරම්භයෙහි</translation>
 <translation id="2000419248597011803">ලිපින තීරුවේ සහ සෙවීම් පෙට්ටියේ ඇතැම් කුකී සහ සෙවීම් ඔබගේ පෙරනිමි සෙවීම් එන්ජිමට යවයි</translation>
+<translation id="2001148512690747464"><ph name="PRIMARY_EMAIL" /> වෙත වේගවත් යුගල උපාංග සුරැක නැත</translation>
 <translation id="2002109485265116295">තථ්‍ය කාලීන</translation>
 <translation id="2003130567827682533">'<ph name="NAME" />' දත්ත සක්‍රීය කිරීමට, පළමුව Wi-Fi ජාලයකට සම්බන්ධ කරන්න</translation>
 <translation id="2004697686368036666">සමහර අඩවිවල විශේෂාංග ක්‍රියා නොකළ හැකිය</translation>
@@ -1334,6 +1335,7 @@
 <translation id="2241053333139545397">වෙබ් අඩවි ගණනාවක ඔබගේ දත්ත කියවා වෙනස් කරන්න</translation>
 <translation id="2241634353105152135">හුදෙක් එක් වරක්</translation>
 <translation id="2242687258748107519">ගොනු තොරතුරු</translation>
+<translation id="2245296100676446525">මෙම උපාංගයෙහි සහ ඔබ සමමුහුර්ත කරන වෙනත් ඕනෑම තැනක ඔබේ පිටුසන්, මුරපද, ඉතිහාසය, සහ තවත් දේ ලබා ගැනීමට සමමුහුර්ත කිරීම ක්‍රියාත්මක කරන්න.</translation>
 <translation id="2245603955208828424">අයිතම අකුරින් අකුරට ගෙන යාමට ඊතල යතුරු භාවිතා කරන්න</translation>
 <translation id="2246129643805925002">ඔබගේ <ph name="DEVICE_TYPE" /> ඔබට නවතම විශේෂාංග සහ ආරක්ෂක වැඩිදියුණු කිරීම් ලබා දීමට පසුබිමේ ස්වයංක්‍රීයව යාවත්කාලීන වේ. ඔබට සැකසීම් තුළ යාවත්කාලීන මනාප සමාලෝචනය කළ හැකිය.</translation>
 <translation id="2246549592927364792">Google වෙතින් රූප විස්තර ලබා ගන්නද?</translation>
@@ -1778,6 +1780,7 @@
 <translation id="2642111877055905627">පාපන්දුව</translation>
 <translation id="2643698698624765890">කවුළු මෙනුවේ දිගු මත ක්ලික් කර ඔබේ දිගු කළමනාකරණය කරන්න.</translation>
 <translation id="2645047101481282803">ඔබගේ උපාංගය <ph name="PROFILE_NAME" /> විසින් කළමනාකරණය කෙරේ.</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{මෙම උපාංගයට 1 මුරපදයක් ආයාත කර ඇත}one{මෙම උපාංගයට මුරපද {NUM_PASSWORDS}ක් ආයාත කර ඇත}other{මෙම උපාංගයට මුරපද {NUM_PASSWORDS}ක් ආයාත කර ඇත}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">මූල64-සංකේතිත ASCII, සහතික මාලාව</translation>
 <translation id="2652129567809778422">මුරපදය තෝරන්න</translation>
@@ -2955,6 +2958,7 @@
 <translation id="3789841737615482174">ස්ථාපනය</translation>
 <translation id="3790417903123637354">යම් දෙයක් වැරදිණි. පසුව නැවත උත්සාහ කරන්න</translation>
 <translation id="379082410132524484">ඔබේ කාඩ්පත කල් ඉකුත් වී ඇත</translation>
+<translation id="3792973596468118484">දිගු <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome හට ඔබගේ පරිගණකයේ හානිකර මෘදුකාංග හමු නොවීය • දින 1කට පෙර පරීක්ෂා කරන ලදි}one{Chrome හට ඔබගේ පරිගණකයේ හානිකර මෘදුකාංග හමු නොවීය • දින {NUM_DAYS}කට පෙර පරීක්ෂා කරන ලදි}other{Chrome හට ඔබගේ පරිගණකයේ හානිකර මෘදුකාංග හමු නොවීය • දින {NUM_DAYS}කට පෙර පරීක්ෂා කරන ලදි}}</translation>
 <translation id="379500251094592809">ළඟ බෙදා ගැනීම භාවිත කිරීමට, උපාංග දෙකම අගුලු හැර, එකිනෙකට ළංව සහ බ්ලූටූත් ක්‍රියාත්මක කර ඇති බව සහතික කර ගන්න. ඔබ ඔබගේ සම්බන්ධතාවල නැති Chromebook එකක් සමග බෙදා ගන්නේ නම්, එහි ළඟ දෘශ්‍යතාව ක්‍රියාත්මක කර ඇති බවට සහතික කර ගන්න (වේලාව තේරීමෙන් තත්ත්ව ප්‍රදේශය විවෘත කරන්න, ඉන්පසු ළඟ දෘශ්‍යතාව ක්‍රියාත්මක කරන්න) <ph name="LINK_BEGIN" />තව දැන ගන්න<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">අක්‍රිය</translation>
@@ -4742,6 +4746,7 @@
 <translation id="5542750926112347543"><ph name="DOMAIN" /> වෙතින් කුකී අවහිරයි</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" /> වෙත සම්බන්ධ කිරීම</translation>
 <translation id="5543983818738093899">තත්වය සඳහා පරීක්ෂා කරමින්...</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_COUNT" />න් <ph name="DEVICE_INDEX" /> වැනි උපාංගය, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">විදැහීම</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{කණ්ඩායමට පටිත්ත එක් කරන්න}one{කණ්ඩායමට පටිති එක් කරන්න}other{කණ්ඩායමට පටිති එක් කරන්න}}</translation>
 <translation id="5545693483061321551">විවිධ අඩවි හරහා ඔබේ බ්‍රවුස් කිරීමේ ක්‍රියාකාරකම් බැලීමට, උදාහරණයක් වශයෙන්, වෙළඳ දැන්වීම් පෞද්ගලිකකරණය කිරීමට අඩවිවලට ඔබගේ කුකි භාවිත කළ නොහැකිය. සමහර අඩවිවල විශේෂාංග ක්‍රියා නොකළ හැකිය.</translation>
@@ -5544,6 +5549,7 @@
 <translation id="6333170995003625229">ඔබගේ ඉ-තැපැල් ලිපිනය හෝ මුරපදය සත්‍යාපනය කළ නොහැකි විය. නැවත පිරීමට උත්සාහ කරන්න.</translation>
 <translation id="6335920438823100346">Linux ආරම්භ කිරීමට, <ph name="MANAGER" /> හට ඔබ ඔබගේ දත්ත උපස්ථ කර මෙම Chromebook එක කර්මාන්තශාලා සැකසීම් වෙත යළි සැකසීම අවශ්‍යයි.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> ADB නිදොස් කිරීම අබල කර ඇත. මෙය ඔබගේ <ph name="DEVICE_TYPE" /> පැය 24කින් යළි සකසනු ඇත. ඔබ තබා ගැනීමට කිනම් හෝ ගොනු උපස්ථ කරන්න</translation>
+<translation id="6338402296920404442"><ph name="FILENAME" /> මකා දැමීමට සලකා බලන්න, එවිට මෙම උපාංගය භාවිතා කරන අනෙක් අයට ඔබේ මුරපද දැකිය නොහැක.</translation>
 <translation id="6338981933082930623">සියලු අඩවි ඔබට කිනම් හෝ වෙළඳ දැන්වීම් පෙන්විය හැකිය</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" /> සඳහා නව පැතිකඩක් තනන්න</translation>
 <translation id="6340071272923955280">අන්තර්ජාල මුද්‍රණ ප්‍රොටොකෝලය (IPPS)</translation>
@@ -6433,7 +6439,6 @@
 <translation id="7212097698621322584">එය වෙනස් කිරීමට ඔබේ රහස් අංකය ඇතුළත් කරන්න. ඔබ ඔබේ රහස් අංකය නොදන්නෙහි නම්, ඔබ ආරක්‍ෂක යතුර යළි සකසා, නව රහස් අංකයක් සෑදිය යුතු ය.</translation>
 <translation id="7213903639823314449">ලිපින තීරුවේ භාවිත වන සෙවීම් යන්ත්‍රය</translation>
 <translation id="721490496276866468">මුරපද ආයාත කරන්න</translation>
-<translation id="7216595297012131718">ඔබේ මනාපය මත පදනම් භාෂා අනුපිළිවෙළට සකසන්න</translation>
 <translation id="7219473482981809164">බාගැනීමට පැතිඩවල් කිහිපයක් ඇති බව අප සොයා ගෙන ඇත. ඉදිරියට යාමට පෙර ඔබ බාගැනීමට කැමති ඒවා තෝරන්න.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{දුර්වල මුරපද නැත}=1{දුර්වල මුරපද 1}one{දුර්වල මුරපද {NUM_WEAK}}other{දුර්වල මුරපද {NUM_WEAK}}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" වෙත මුරපද නිර්යාත කළ නොහැක</translation>
@@ -7614,6 +7619,7 @@
 <translation id="8338952601723052325">සංවර්ධක ජාල අඩවිය</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> ස්ථානීයව ගබඩා කළ දත්ත</translation>
 <translation id="833986336429795709">මෙම සබැඳිය විවෘත කිරීම සඳහා යෙදුම තෝරන්න</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" /> සඳහා තවත් ක්‍රියා</translation>
 <translation id="8342221978608739536">උත්සාහ නොකරන ලදී</translation>
 <translation id="8342861492835240085">එකතුවක් තෝරන්න</translation>
 <translation id="8345848587667658367">ඔබට දැන් ඔබගේ දුරකථනයේ මෑත ඡායාරූප, මාධ්‍ය, දැනුම්දීම් සහ යෙදුම් බැලිය හැකිය</translation>
diff --git a/chrome/app/resources/generated_resources_sk.xtb b/chrome/app/resources/generated_resources_sk.xtb
index 232d0cbc..3ae2910 100644
--- a/chrome/app/resources/generated_resources_sk.xtb
+++ b/chrome/app/resources/generated_resources_sk.xtb
@@ -897,6 +897,7 @@
 <translation id="1829129547161959350">Tučniak</translation>
 <translation id="1829192082282182671">&amp;Oddialiť</translation>
 <translation id="1830550083491357902">Neprihlásený/-á</translation>
+<translation id="1831848493690504725">Cez pripojenú sieť nie je možné s Googlom nadviazať spojenie. Skúste vybrať inú sieť alebo skontrolovať nastavenia siete či proxy servera (ak proxy server používate).</translation>
 <translation id="1832459821645506983">Áno, súhlasím</translation>
 <translation id="1832511806131704864">Zmena telefónu bola aktualizovaná</translation>
 <translation id="1832848789136765277">Ak chcete mať neustály prístup k svojim synchronizovaným údajom, overte svoju totožnosť</translation>
@@ -2318,7 +2319,7 @@
 <translation id="3151539355209957474">Čas začiatku</translation>
 <translation id="3151562827395986343">Vymazanie histórie, súborov cookie, vyrovnávacej pamäte a ďalších dát</translation>
 <translation id="3151786313568798007">Orientácia</translation>
-<translation id="3152356229013609796">Upozornenia telefónu môžete zobraziť, odmietnuť alebo na ne odpovedať</translation>
+<translation id="3152356229013609796">Zobraziť, odmietnuť alebo odpovedať na upozornenia telefónu</translation>
 <translation id="3157387275655328056">Pridať do čitateľského zoznamu</translation>
 <translation id="3157931365184549694">Obnoviť</translation>
 <translation id="3158033540161634471">Nastavenie odtlačku prsta</translation>
@@ -4737,6 +4738,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> vyžaduje</translation>
 <translation id="5534304873398226603">Zahodiť fotku alebo video</translation>
 <translation id="5537725057119320332">Prenášať</translation>
+<translation id="5539070192556911367">S Googlom sa nedá nadviazať spojenie</translation>
 <translation id="5539221284352502426">Zadané heslo bolo zamietnuté serverom. Možné dôvody: Heslo je príliš krátke. Heslo musí obsahovať čísla alebo symboly. Heslo sa musí odlišovať od predchádzajúcich hesiel.</translation>
 <translation id="5541694225089836610">Správca akciu zakázal</translation>
 <translation id="5542132724887566711">Profil</translation>
@@ -4800,6 +4802,7 @@
 <translation id="5585912436068747822">Formátovanie zlyhalo</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Načítavajú sa aplikácie...</translation>
+<translation id="5590418976913374224">Prehrávať zvuk pri spustení zariadenia</translation>
 <translation id="5592595402373377407">Zatiaľ nie je k dispozícii dostatok údajov.</translation>
 <translation id="5595307023264033512">Celkový priestor využitý webmi: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Upraviť adresu</translation>
@@ -6348,6 +6351,7 @@
 <translation id="7102687220333134671">Automatické aktualizácie sú zapnuté</translation>
 <translation id="7102832101143475489">Platnosť žiadosti vypršala</translation>
 <translation id="710640343305609397">Otvoriť nastavenia sietí</translation>
+<translation id="7107609441453408294">Prehrávať rovnaký zvuk vo všetkých reproduktoroch</translation>
 <translation id="7108338896283013870">Skryť</translation>
 <translation id="7108668606237948702">enter</translation>
 <translation id="7108933416628942903">Uzamknúť</translation>
@@ -6439,7 +6443,6 @@
 <translation id="7212097698621322584">Zadajte svoj aktuálny kód PIN a zmeňte ho. Ak ho nepoznáte, musíte resetovať bezpečnostný kľúč a potom vytvoriť nový PIN.</translation>
 <translation id="7213903639823314449">Vyhľadávač používaný v paneli s adresou</translation>
 <translation id="721490496276866468">Importovať heslá</translation>
-<translation id="7216595297012131718">Zoraďte si jazyky podľa svojich požiadaviek</translation>
 <translation id="7219473482981809164">Našli sme viacero profilov k dispozícii na stiahnutie. Pred pokračovaním vyberte, ktoré chcete stiahnuť.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Žiadne slabé heslá}=1{1 slabé heslo}few{{NUM_WEAK} slabé heslá}many{{NUM_WEAK} weak passwords}other{{NUM_WEAK} slabých hesiel}}</translation>
 <translation id="7220019174139618249">Heslá sa nedajú exportovať do priečinka <ph name="FOLDER" /></translation>
@@ -6579,6 +6582,7 @@
 <translation id="7364745943115323529">Prenášať...</translation>
 <translation id="7364796246159120393">Vybrať súbor</translation>
 <translation id="7365076891350562061">Veľkosť monitora</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> – pripnutá</translation>
 <translation id="7366316827772164604">Hľadajú sa zariadenia v okolí…</translation>
 <translation id="7366415735885268578">Pridanie webu</translation>
 <translation id="7366909168761621528">Údaje prehliadania</translation>
@@ -7302,7 +7306,7 @@
 <translation id="8037357227543935929">Opýtať sa (predvolené)</translation>
 <translation id="803771048473350947">Súbor</translation>
 <translation id="8041089156583427627">Odoslať spätnú väzbu</translation>
-<translation id="8041267120753677077">Streamujte aplikácie svojho telefónu</translation>
+<translation id="8041267120753677077">Streamovať aplikácie vášho telefónu</translation>
 <translation id="8042142357103597104">Nepriehľadnosť textu</translation>
 <translation id="8042331986490021244">Heslá sú šifrované v zariadení ešte pred ich uložením do správcu hesiel Google</translation>
 <translation id="8044262338717486897"><ph name="LINUX_APP_NAME" /> nereaguje.</translation>
diff --git a/chrome/app/resources/generated_resources_sl.xtb b/chrome/app/resources/generated_resources_sl.xtb
index ff6ad10..e8de1fb 100644
--- a/chrome/app/resources/generated_resources_sl.xtb
+++ b/chrome/app/resources/generated_resources_sl.xtb
@@ -1084,6 +1084,7 @@
 <translation id="1997616988432401742">Vaša potrdila</translation>
 <translation id="1999115740519098545">Ob zagonu</translation>
 <translation id="2000419248597011803">Pošilja nekatere piškotke in iskanja iz naslovne vrstice ter iskalnega polja privzetemu iskalniku</translation>
+<translation id="2001148512690747464">Nobena naprava za hitro seznanitev ni shranjena v računu <ph name="PRIMARY_EMAIL" />.</translation>
 <translation id="2002109485265116295">Sprotno</translation>
 <translation id="2003130567827682533">Če želite aktivirati podatke omrežja »<ph name="NAME" />«, se najprej povežite z omrežjem Wi-Fi.</translation>
 <translation id="2004697686368036666">Funkcije na nekaterih spletnih mestih morda ne bodo delovale.</translation>
@@ -1348,6 +1349,7 @@
 <translation id="2241053333139545397">Branje in spreminjanje vaših podatkov na več spletnih mestih</translation>
 <translation id="2241634353105152135">Samo enkrat</translation>
 <translation id="2242687258748107519">Podatki o datoteki</translation>
+<translation id="2245296100676446525">Vklopite sinhronizacijo, da boste imeli zaznamke, gesla, zgodovino in drugo na voljo v tej napravi in povsod drugod, kjer sinhronizirate.</translation>
 <translation id="2245603955208828424">Uporabite puščične tipke za pomikanje med elementi po črkah.</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> se samodejno posodobi v ozadju ter tako prejmete najnovejše funkcije in izboljšave varnosti. Nastavitve posodabljanja si lahko ogledate v nastavitvah.</translation>
 <translation id="2246549592927364792">Želite pridobivati opise slik iz Googla?</translation>
@@ -1792,6 +1794,7 @@
 <translation id="2642111877055905627">Nogometna žoga</translation>
 <translation id="2643698698624765890">Razširitve lahko upravljate tako, da v meniju »Windows« kliknete »Extensions«.</translation>
 <translation id="2645047101481282803">Napravo upravlja <ph name="PROFILE_NAME" />.</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 geslo je uvoženo v to napravo.}one{{NUM_PASSWORDS} geslo je uvoženo v to napravo.}two{{NUM_PASSWORDS} gesli sta uvoženi v to napravo.}few{{NUM_PASSWORDS} gesla so uvožena v to napravo.}other{{NUM_PASSWORDS} gesel je uvoženih v to napravo.}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">Base64 kodiran ASCII, veriga potrdil</translation>
 <translation id="2652129567809778422">Izbira gesla</translation>
@@ -2969,6 +2972,7 @@
 <translation id="3789841737615482174">Namesti</translation>
 <translation id="3790417903123637354">Prišlo je do napake. Poskusite znova pozneje.</translation>
 <translation id="379082410132524484">Kartica je potekla</translation>
+<translation id="3792973596468118484">Št. razširitev: <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome v računalniku ni odkril škodljive programske opreme • Preverjeno pred 1 dnevom}one{Chrome v računalniku ni odkril škodljive programske opreme • Preverjeno pred {NUM_DAYS} dnevom}two{Chrome v računalniku ni odkril škodljive programske opreme • Preverjeno pred {NUM_DAYS} dnevoma}few{Chrome v računalniku ni odkril škodljive programske opreme • Preverjeno pred {NUM_DAYS} dnevi}other{Chrome v računalniku ni odkril škodljive programske opreme • Preverjeno pred {NUM_DAYS} dnevi}}</translation>
 <translation id="379500251094592809">Če želite uporabljati Deljenje v bližini, se prepričajte, da sta obe napravi odklenjeni, blizu druga druge ter imata vklopljen Bluetooth. Če delite s Chromebookom, ki ni med vašimi stiki, mora biti v njem vklopljena funkcija vidnosti v bližini (odprite območje stanja tako, da izberete uro in nato vklopite funkcijo vidnosti v bližini). <ph name="LINK_BEGIN" />Več o tem<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Izklopljeno</translation>
@@ -4756,6 +4760,7 @@
 <translation id="5542750926112347543">Piškotki s spletnega mesta <ph name="DOMAIN" /> so blokirani</translation>
 <translation id="5542949973455282971">Povezovanje z operaterjem <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Preverjanje stanja ...</translation>
+<translation id="5544482392629385159">Naprava <ph name="DEVICE_INDEX" /> od <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Upodabljalnik</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Dodaj zavihek skupini}one{Dodaj zavihke skupini}two{Dodaj zavihke skupini}few{Dodaj zavihke skupini}other{Dodaj zavihke skupini}}</translation>
 <translation id="5545693483061321551">Spletna mesta ne morejo uporabljati vaših piškotkov za ogled dejavnosti brskanja na različnih spletnih mestih, na primer za osebno prilagajanje oglasov. Funkcije na nekaterih spletnih mestih morda ne bodo delovale.</translation>
@@ -5559,6 +5564,7 @@
 <translation id="6333170995003625229">Vašega e-poštnega naslova ali gesla ni bilo mogoče preveriti. Poskusite se znova prijaviti.</translation>
 <translation id="6335920438823100346">Če želite zagnati Linux, <ph name="MANAGER" /> zahteva, da varnostno kopirate podatke in ta Chromebook ponastavite na tovarniške nastavitve.</translation>
 <translation id="6336038146639916978">Domena <ph name="MANAGER" /> je onemogočila most za odpravljanje težav s sistemom Android (ADB). S tem bo naprava <ph name="DEVICE_TYPE" /> v 24 urah ponastavljena. Varnostno kopirajte datoteke, ki jih želite obdržati.</translation>
+<translation id="6338402296920404442">Priporočamo, da izbrišete datoteko <ph name="FILENAME" />, da drugi uporabniki te naprave ne bodo mogli videti vaših gesel.</translation>
 <translation id="6338981933082930623">Vsa spletna mesta vam lahko prikazujejo kakršne koli oglase</translation>
 <translation id="6339668969738228384">Ustvarjanje novega profila za uporabnika <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet Printing Protocol (IPPS)</translation>
@@ -6454,7 +6460,6 @@
 <translation id="7212097698621322584">Vnesite trenutno kodo PIN, da jo spremenite. Če kode PIN ne poznate, morate ponastaviti varnostni ključ, nato ustvarite novo kodo PIN.</translation>
 <translation id="7213903639823314449">Iskalnik, uporabljen v naslovni vrstici</translation>
 <translation id="721490496276866468">Uvoz gesel</translation>
-<translation id="7216595297012131718">Razvrstite jezike v želeni vrstni red</translation>
 <translation id="7219473482981809164">Našli smo več profilov, ki so na voljo za prenos. Preden nadaljujete, izberite tiste, ki jih želite prenesti.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Ni šibkih gesel}=1{1 šibko geslo}one{{NUM_WEAK} šibko geslo}two{{NUM_WEAK} šibki gesli}few{{NUM_WEAK} šibka gesla}other{{NUM_WEAK} šibkih gesel}}</translation>
 <translation id="7220019174139618249">Gesel ni mogoče izvoziti v »<ph name="FOLDER" />«</translation>
@@ -7638,6 +7643,7 @@
 <translation id="8338952601723052325">Spletno mesto za razvijalce</translation>
 <translation id="8339059274628563283">Lokalno shranjeni podatki za <ph name="SITE" /></translation>
 <translation id="833986336429795709">Če želite odpreti to povezavo, izberite aplikacijo</translation>
+<translation id="8340547030807793004">Več dejanj za <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Nisem poskusil(-a)</translation>
 <translation id="8342861492835240085">Izberi zbirko</translation>
 <translation id="8345848587667658367">Zdaj si lahko ogledate nedavne fotografije, predstavnost, obvestila in aplikacije telefona</translation>
diff --git a/chrome/app/resources/generated_resources_sq.xtb b/chrome/app/resources/generated_resources_sq.xtb
index 9d5089a..021e77e7 100644
--- a/chrome/app/resources/generated_resources_sq.xtb
+++ b/chrome/app/resources/generated_resources_sq.xtb
@@ -1331,6 +1331,7 @@
 <translation id="2241053333139545397">Lexo dhe ndrysho të dhënat e tua në një numër sajtesh uebi</translation>
 <translation id="2241634353105152135">Vetëm një herë</translation>
 <translation id="2242687258748107519">Informacioni i skedarit</translation>
+<translation id="2245296100676446525">Aktivizo sinkronizimin për të marrë faqeshënuesit, fjalëkalimet, historikun etj. në këtë pajisje dhe në çdo vend tjetër ku po sinkronizon.</translation>
 <translation id="2245603955208828424">Përdor tastet e shigjetave për të lëvizur nëpër artikuj sipas shkronjave</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> përditësohet automatikisht në sfond për të të dhënë përmirësimet më të fundit të veçorive dhe sigurisë. Mund t'i shqyrtosh preferencat e përditësimeve te "Cilësimet".</translation>
 <translation id="2246549592927364792">Të merren përshkrimet e imazhit nga Google?</translation>
@@ -6430,7 +6431,6 @@
 <translation id="7212097698621322584">Fut kodin PIN aktual për ta ndryshuar. Nëse nuk e di kodin PIN, duhet të rivendosësh çelësin e sigurisë, dhe më pas të krijosh një kod të ri PIN.</translation>
 <translation id="7213903639823314449">Motori i kërkimit i përdorur në shiritin e adresës</translation>
 <translation id="721490496276866468">Importo fjalëkalimet</translation>
-<translation id="7216595297012131718">Renditi gjuhët sipas preferencës tënde</translation>
 <translation id="7219473482981809164">Kemi gjetur disa profile të disponueshme për t'u shkarkuar. Zgjidh ata që dëshiron të shkarkosh përpara se të vazhdosh.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Asnjë fjalëkalim i dobët}=1{1 fjalëkalim i dobët}other{{NUM_WEAK} fjalëkalime të dobëta}}</translation>
 <translation id="7220019174139618249">Fjalëkalimet nuk mund të eksportohen te "<ph name="FOLDER" />"</translation>
diff --git a/chrome/app/resources/generated_resources_sr-Latn.xtb b/chrome/app/resources/generated_resources_sr-Latn.xtb
index 13f22c0..ce3bfcd 100644
--- a/chrome/app/resources/generated_resources_sr-Latn.xtb
+++ b/chrome/app/resources/generated_resources_sr-Latn.xtb
@@ -1068,6 +1068,7 @@
 <translation id="1997616988432401742">Vaši sertifikati</translation>
 <translation id="1999115740519098545">Pri pokretanju</translation>
 <translation id="2000419248597011803">Podrazumevanom pretraživaču šalje neke kolačiće i pretrage iz trake za adresu i okvira za pretragu</translation>
+<translation id="2001148512690747464">Nijedan uređaj za brzo uparivanje nije sačuvan na <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">U realnom vremenu</translation>
 <translation id="2003130567827682533">Da biste aktivirali podatke „<ph name="NAME" />“, prvo se povežite sa WiFi mrežom</translation>
 <translation id="2004697686368036666">Funkcije na nekim sajtovima mogu da ne rade</translation>
@@ -1332,6 +1333,7 @@
 <translation id="2241053333139545397">Čitanje i menjanje podataka na više veb-sajtova</translation>
 <translation id="2241634353105152135">Samo jednom</translation>
 <translation id="2242687258748107519">Informacije o datoteci</translation>
+<translation id="2245296100676446525">Uključite sinhronizaciju da biste preuzeli obeleživače, lozinke, istoriju i drugo na ovom uređaju i svuda gde sinhronizujete.</translation>
 <translation id="2245603955208828424">Koristite tastere sa strelicama da biste se kretali kroz stavke slovo po slovo</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> se automatski ažurira u pozadini da biste dobili najnovije funkcije i poboljšanja bezbednosti. Možete da pregledate podešavanja za ažuriranja u Podešavanjima.</translation>
 <translation id="2246549592927364792">Želite li da preuzimate opise slika sa Google-a?</translation>
@@ -1773,6 +1775,7 @@
 <translation id="2642111877055905627">Fudbalska lopta</translation>
 <translation id="2643698698624765890">Upravljajte dodacima klikom na stavku Dodaci u meniju Prozor.</translation>
 <translation id="2645047101481282803">Uređajem upravlja <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{Na ovaj uređaj je uvezena 1 lozinka}one{Na ovaj uređaj je uvezena {NUM_PASSWORDS} lozinka}few{Na ovaj uređaj su uvezene {NUM_PASSWORDS} lozinke}other{Na ovaj uređaj je uvezeno {NUM_PASSWORDS} lozinki}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">ASCII datoteka šifrovana metodom „Base64“, lanac sertifikata</translation>
 <translation id="2652129567809778422">Izaberite lozinku</translation>
@@ -2950,6 +2953,7 @@
 <translation id="3789841737615482174">Instaliraj</translation>
 <translation id="3790417903123637354">Nešto nije u redu. Probajte ponovo kasnije</translation>
 <translation id="379082410132524484">Kartica je istekla</translation>
+<translation id="3792973596468118484">Dodataka: <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome nije pronašao štetan softver na računaru • Provereno pre 1 dan}one{Chrome nije pronašao štetan softver na računaru • Provereno pre {NUM_DAYS} dan}few{Chrome nije pronašao štetan softver na računaru • Provereno pre {NUM_DAYS} dana}other{Chrome nije pronašao štetan softver na računaru • Provereno pre {NUM_DAYS} dana}}</translation>
 <translation id="379500251094592809">Da biste koristili Deljenje u blizini, uverite se da su oba uređaja otključana, blizu jedan drugom i da je uključen Bluetooth. Ako delite sa Chromebook-om, koji nije u kontaktima, uverite se da mu je uključena Vidljivost u blizini (otvorite oblast statusa tako što ćete izabrati vreme, pa uključite Vidljivost u blizini) <ph name="LINK_BEGIN" />Saznajte više<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Isključeno</translation>
@@ -4735,6 +4739,7 @@
 <translation id="5542750926112347543">Kolačići sa <ph name="DOMAIN" /> su blokirani</translation>
 <translation id="5542949973455282971">Povezuje se sa mrežom <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Provera statusa...</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_INDEX" />. uređaj od <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Prikazivač</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Dodaj karticu u grupu}one{Dodaj kartice u grupu}few{Dodaj kartice u grupu}other{Dodaj kartice u grupu}}</translation>
 <translation id="5545693483061321551">Sajtovi ne mogu da koriste kolačiće da bi videli vaše aktivnosti pregledanja na različitim sajtovima, na primer, za personalizaciju oglasa. Funkcije na nekim sajtovima mogu da ne rade.</translation>
@@ -5537,6 +5542,7 @@
 <translation id="6333170995003625229">Verifikacija imejl adrese ili lozinke nije uspela. Probajte ponovo da se prijavite.</translation>
 <translation id="6335920438823100346">Da biste pokrenuli Linux, <ph name="MANAGER" /> zahteva da napravite rezervnu kopiju podataka i resetujete ovaj Chromebook na fabrička podešavanja.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> je onemogućio ADB otklanjanje grešaka. To će resetovati <ph name="DEVICE_TYPE" /> za 24 sata. Napravite rezervne kopije svih fajlova koje želite da zadržite.</translation>
+<translation id="6338402296920404442">Razmislite o tome da izbrišete <ph name="FILENAME" /> da drugi koji koriste ovaj uređaj ne bi mogli da vide vaše lozinke.</translation>
 <translation id="6338981933082930623">Svi sajtovi mogu da prikazuju sve oglase</translation>
 <translation id="6339668969738228384">Otvori novi profil za <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Internet protokol za štampanje (IPPS)</translation>
@@ -6430,7 +6436,6 @@
 <translation id="7212097698621322584">Unesite aktuelni PIN da biste ga promenili. Ako ne znate PIN, morate da resetujete bezbednosni ključ, pa da napravite novi PIN.</translation>
 <translation id="7213903639823314449">Pretraživač koji se koristi na traci za adresu</translation>
 <translation id="721490496276866468">Uvezi lozinke</translation>
-<translation id="7216595297012131718">Rasporedite jezike po želji</translation>
 <translation id="7219473482981809164">Pronašli smo više profila dostupnih za preuzimanje. Izaberite one koje želite da preuzmete pre nego što nastavite.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Nema slabih lozinki}=1{1 slaba lozinka}one{{NUM_WEAK} slaba lozinka}few{{NUM_WEAK} slabe lozinke}other{{NUM_WEAK} slabih lozinki}}</translation>
 <translation id="7220019174139618249">Izvoz lozinki u datoteku „<ph name="FOLDER" />“ nije uspeo</translation>
@@ -7613,6 +7618,7 @@
 <translation id="8338952601723052325">Veb-sajt programera</translation>
 <translation id="8339059274628563283">Lokalno sačuvani podaci sa sajta <ph name="SITE" /></translation>
 <translation id="833986336429795709">Izaberite aplikaciju da biste otvorili ovaj link</translation>
+<translation id="8340547030807793004">Još radnji za <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Nisam pokušao/la</translation>
 <translation id="8342861492835240085">Izaberite kolekciju</translation>
 <translation id="8345848587667658367">Sada možete da pregledate nedavne slike, medije, obaveštenja i aplikacije na telefonu</translation>
diff --git a/chrome/app/resources/generated_resources_sr.xtb b/chrome/app/resources/generated_resources_sr.xtb
index ecb5a95c..d3fca8ee 100644
--- a/chrome/app/resources/generated_resources_sr.xtb
+++ b/chrome/app/resources/generated_resources_sr.xtb
@@ -1068,6 +1068,7 @@
 <translation id="1997616988432401742">Ваши сертификати</translation>
 <translation id="1999115740519098545">При покретању</translation>
 <translation id="2000419248597011803">Подразумеваном претраживачу шаље неке колачиће и претраге из траке за адресу и оквира за претрагу</translation>
+<translation id="2001148512690747464">Ниједан уређај за брзо упаривање није сачуван на <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">У реалном времену</translation>
 <translation id="2003130567827682533">Да бисте активирали податке „<ph name="NAME" />“, прво се повежите са WiFi мрежом</translation>
 <translation id="2004697686368036666">Функције на неким сајтовима могу да не раде</translation>
@@ -1332,6 +1333,7 @@
 <translation id="2241053333139545397">Читање и мењање података на више веб-сајтова</translation>
 <translation id="2241634353105152135">Само једном</translation>
 <translation id="2242687258748107519">Информације о датотеци</translation>
+<translation id="2245296100676446525">Укључите синхронизацију да бисте преузели обележиваче, лозинке, историју и друго на овом уређају и свуда где синхронизујете.</translation>
 <translation id="2245603955208828424">Користите тастере са стрелицама да бисте се кретали кроз ставке слово по слово</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> се аутоматски ажурира у позадини да бисте добили најновије функције и побољшања безбедности. Можете да прегледате подешавања за ажурирања у Подешавањима.</translation>
 <translation id="2246549592927364792">Желите ли да преузимате описе слика са Google-а?</translation>
@@ -1773,6 +1775,7 @@
 <translation id="2642111877055905627">Фудбалска лопта</translation>
 <translation id="2643698698624765890">Управљајте додацима кликом на ставку Додаци у менију Прозор.</translation>
 <translation id="2645047101481282803">Уређајем управља <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{На овај уређај је увезена 1 лозинка}one{На овај уређај је увезена {NUM_PASSWORDS} лозинка}few{На овај уређај су увезене {NUM_PASSWORDS} лозинке}other{На овај уређај је увезено {NUM_PASSWORDS} лозинки}}</translation>
 <translation id="2645435784669275700">Chrome ОС</translation>
 <translation id="2649045351178520408">ASCII датотека шифрована методом „Base64“, ланац сертификата</translation>
 <translation id="2652129567809778422">Изаберите лозинку</translation>
@@ -2950,6 +2953,7 @@
 <translation id="3789841737615482174">Инсталирај</translation>
 <translation id="3790417903123637354">Нешто није у реду. Пробајте поново касније</translation>
 <translation id="379082410132524484">Картица је истекла</translation>
+<translation id="3792973596468118484">Додатака: <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome није пронашао штетан софтвер на рачунару • Проверено пре 1 дан}one{Chrome није пронашао штетан софтвер на рачунару • Проверено пре {NUM_DAYS} дан}few{Chrome није пронашао штетан софтвер на рачунару • Проверено пре {NUM_DAYS} дана}other{Chrome није пронашао штетан софтвер на рачунару • Проверено пре {NUM_DAYS} дана}}</translation>
 <translation id="379500251094592809">Да бисте користили Дељење у близини, уверите се да су оба уређаја откључана, близу један другом и да је укључен Bluetooth. Ако делите са Chromebook-ом, који није у контактима, уверите се да му је укључена Видљивост у близини (отворите област статуса тако што ћете изабрати време, па укључите Видљивост у близини) <ph name="LINK_BEGIN" />Сазнајте више<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Искључено</translation>
@@ -4735,6 +4739,7 @@
 <translation id="5542750926112347543">Колачићи са <ph name="DOMAIN" /> су блокирани</translation>
 <translation id="5542949973455282971">Повезује се са мрежом <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Провера статуса...</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_INDEX" />. уређај од <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Приказивач</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Додај картицу у групу}one{Додај картице у групу}few{Додај картице у групу}other{Додај картице у групу}}</translation>
 <translation id="5545693483061321551">Сајтови не могу да користе колачиће да би видели ваше активности прегледања на различитим сајтовима, на пример, за персонализацију огласа. Функције на неким сајтовима могу да не раде.</translation>
@@ -5537,6 +5542,7 @@
 <translation id="6333170995003625229">Верификација имејл адресе или лозинке није успела. Пробајте поново да се пријавите.</translation>
 <translation id="6335920438823100346">Да бисте покренули Linux, <ph name="MANAGER" /> захтева да направите резервну копију података и ресетујете овај Chromebook на фабричка подешавања.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> је онемогућио ADB отклањање грешака. То ће ресетовати <ph name="DEVICE_TYPE" /> за 24 сата. Направите резервне копије свих фајлова које желите да задржите.</translation>
+<translation id="6338402296920404442">Размислите о томе да избришете <ph name="FILENAME" /> да други који користе овај уређај не би могли да виде ваше лозинке.</translation>
 <translation id="6338981933082930623">Сви сајтови могу да приказују све огласе</translation>
 <translation id="6339668969738228384">Отвори нови профил за <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Интернет протокол за штампање (IPPS)</translation>
@@ -6430,7 +6436,6 @@
 <translation id="7212097698621322584">Унесите актуелни PIN да бисте га променили. Ако не знате PIN, морате да ресетујете безбедносни кључ, па да направите нови PIN.</translation>
 <translation id="7213903639823314449">Претраживач који се користи на траци за адресу</translation>
 <translation id="721490496276866468">Увези лозинке</translation>
-<translation id="7216595297012131718">Распоредите језике по жељи</translation>
 <translation id="7219473482981809164">Пронашли смо више профила доступних за преузимање. Изаберите оне које желите да преузмете пре него што наставите.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Нема слабих лозинки}=1{1 слаба лозинка}one{{NUM_WEAK} слаба лозинка}few{{NUM_WEAK} слабе лозинке}other{{NUM_WEAK} слабих лозинки}}</translation>
 <translation id="7220019174139618249">Извоз лозинки у датотеку „<ph name="FOLDER" />“ није успео</translation>
@@ -7613,6 +7618,7 @@
 <translation id="8338952601723052325">Веб-сајт програмера</translation>
 <translation id="8339059274628563283">Локално сачувани подаци са сајта <ph name="SITE" /></translation>
 <translation id="833986336429795709">Изаберите апликацију да бисте отворили овај линк</translation>
+<translation id="8340547030807793004">Још радњи за <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Нисам покушао/ла</translation>
 <translation id="8342861492835240085">Изаберите колекцију</translation>
 <translation id="8345848587667658367">Сада можете да прегледате недавне слике, медије, обавештења и апликације на телефону</translation>
diff --git a/chrome/app/resources/generated_resources_sv.xtb b/chrome/app/resources/generated_resources_sv.xtb
index 3c1c3315..e5ddbcd5 100644
--- a/chrome/app/resources/generated_resources_sv.xtb
+++ b/chrome/app/resources/generated_resources_sv.xtb
@@ -1081,6 +1081,7 @@
 <translation id="1997616988432401742">Dina certifikat</translation>
 <translation id="1999115740519098545">Vid start</translation>
 <translation id="2000419248597011803">Skickar vissa cookies och sökningar från adressfältet och sökrutan till standardsökmotorn</translation>
+<translation id="2001148512690747464">Inga enheter med Snabb parkoppling har sparats i <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">Realtid</translation>
 <translation id="2003130567827682533">Om du vill aktivera data från <ph name="NAME" /> ansluter du först till ett wifi-nätverk</translation>
 <translation id="2004697686368036666">Vissa webbplatsers funktioner kanske inte fungerar</translation>
@@ -1345,6 +1346,7 @@
 <translation id="2241053333139545397">Läs och ändra dina uppgifter på ett antal webbplatser</translation>
 <translation id="2241634353105152135">Bara en gång</translation>
 <translation id="2242687258748107519">Filinformation</translation>
+<translation id="2245296100676446525">Aktivera synkronisering om du vill få dina bokmärken, lösenord, din historik med mera på den här enheten samt på alla enheter du synkroniserar.</translation>
 <translation id="2245603955208828424">Gå från bokstav till bokstav i objekt med piltangenterna</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> uppdateras automatiskt i bakgrunden så att du får de senaste funktionerna och säkerhetsförbättringarna. Du kan hantera uppdateringsalternativen i inställningarna.</translation>
 <translation id="2246549592927364792">Vill du hämta bildbeskrivningar från Google?</translation>
@@ -1789,6 +1791,7 @@
 <translation id="2642111877055905627">Fotboll</translation>
 <translation id="2643698698624765890">Hantera tillägg genom att klicka på Tillägg på menyn Fönster.</translation>
 <translation id="2645047101481282803">Enheten hanteras av <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 lösenord har importerats till den här enheten}other{{NUM_PASSWORDS} lösenord har importerats till den här enheten}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">Base64-kodad ASCII, certifikatkedja</translation>
 <translation id="2652129567809778422">Välj lösenord</translation>
@@ -2966,6 +2969,7 @@
 <translation id="3789841737615482174">Installera</translation>
 <translation id="3790417903123637354">Något gick fel. Försök igen senare</translation>
 <translation id="379082410132524484">Kortets giltighetstid har löpt ut</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> tillägg</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome har inte upptäckt skadlig programvara på datorn • Genomsöktes för 1 dag sedan}other{Chrome har inte upptäckt skadlig programvara på datorn • Genomsöktes för {NUM_DAYS} dagar sedan}}</translation>
 <translation id="379500251094592809">Om du vill använda Närdelning måste du se till att båda enheterna är upplåsta, att de är nära varandra och att Bluetooth är aktiverat. Om du delar med en Chromebook som inte finns i dina kontakter kontrollerar du att Synlighet i närheten har aktiverats (öppna statusfältet genom att välja klockan och aktivera sedan Synlighet i närheten) <ph name="LINK_BEGIN" />Läs mer<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Av</translation>
@@ -4753,6 +4757,7 @@
 <translation id="5542750926112347543">Cookies från <ph name="DOMAIN" /> blockeras</translation>
 <translation id="5542949973455282971">Ansluter till <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Kontrollerar status …</translation>
+<translation id="5544482392629385159">Enhet <ph name="DEVICE_INDEX" /> av <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Renderare</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Lägg till fliken i gruppen}other{Lägg till flikarna i gruppen}}</translation>
 <translation id="5545693483061321551">Webbplatser får inte se din webbaktivitet på olika webbplatser med hjälp av cookies, för att till exempel anpassa annonser. Vissa webbplatsers funktioner kanske inte fungerar.</translation>
@@ -5554,6 +5559,7 @@
 <translation id="6333170995003625229">Det gick inte att verifiera e-postadressen eller lösenordet. Testa att logga in igen.</translation>
 <translation id="6335920438823100346"><ph name="MANAGER" /> kräver att du säkerhetskopierar din data och återställer Chromebook-enheten till standardinställningarna innan du startar Linux.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> har inaktiverat felsökning med ADB. Detta återställer din <ph name="DEVICE_TYPE" /> inom 24 timmar. Säkerhetskopiera alla filer du vill spara.</translation>
+<translation id="6338402296920404442">Det kan vara bra att radera <ph name="FILENAME" /> så att andra som använder enheten inte kan se lösenorden.</translation>
 <translation id="6338981933082930623">Alla webbplatser får visa vilka annonser som helst för dig</translation>
 <translation id="6339668969738228384">Skapa en ny profil för <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Protokoll för internetutskrift (IPPS)</translation>
@@ -6443,7 +6449,6 @@
 <translation id="7212097698621322584">Ange den nuvarande pinkoden om du vill ändra den. Om du inte kan pinkoden måste du återställa säkerhetsnyckeln och sedan ställa in en ny pinkod.</translation>
 <translation id="7213903639823314449">Sökmotorn som används i adressfältet</translation>
 <translation id="721490496276866468">Importera lösenord</translation>
-<translation id="7216595297012131718">Sortera språk i prioriteringsordning</translation>
 <translation id="7219473482981809164">Vi har hittat flera profiler som är tillgängliga för nedladdning. Välj de profiler som du vill ladda ned innan du fortsätter.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Inga svaga lösenord}=1{1 svagt lösenord}other{{NUM_WEAK} svaga lösenord}}</translation>
 <translation id="7220019174139618249">Det gick inte att exportera lösenord till <ph name="FOLDER" /></translation>
@@ -7627,6 +7632,7 @@
 <translation id="8338952601723052325">Webbplats för utvecklare</translation>
 <translation id="8339059274628563283">Lokalt lagrad data för <ph name="SITE" /></translation>
 <translation id="833986336429795709">Välj en app för att öppna länken</translation>
+<translation id="8340547030807793004">Fler åtgärder för <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Jag försökte inte</translation>
 <translation id="8342861492835240085">Välj en samling</translation>
 <translation id="8345848587667658367">Nu kan du se de senaste bilderna, mediefilerna, aviseringarna och apparna från telefonen</translation>
diff --git a/chrome/app/resources/generated_resources_sw.xtb b/chrome/app/resources/generated_resources_sw.xtb
index 535af7e..e7c2844 100644
--- a/chrome/app/resources/generated_resources_sw.xtb
+++ b/chrome/app/resources/generated_resources_sw.xtb
@@ -136,7 +136,7 @@
 <translation id="1126809382673880764">Haikulindi dhidi ya tovuti, viendelezi na faili hatari zinazopakuliwa. Bado utapata ulinzi wa kipengele cha Kuvinjari Salama, kinapopatikana, katika huduma nyingine za Google kama vile Gmail na Tafuta na Google.</translation>
 <translation id="1128090040635299943">Programu ya Linux inawekewa mipangilio kwa sasa. Hatua ya kuweka mipangilio itachukua dakika chache.</translation>
 <translation id="1128591060186966949">Badilisha mtambo wa kutafuta</translation>
-<translation id="1129420403709586868">Angalia picha na maudhui ya simu yako</translation>
+<translation id="1129420403709586868">Kuangalia picha na maudhui ya simu yako</translation>
 <translation id="1129850422003387628">Dhibiti programu</translation>
 <translation id="113050636487300043">Chagua jina na rangi ili utofautishe kati ya wasifu mmoja na mwingine</translation>
 <translation id="1130589222747246278"><ph name="WINDOW_TITLE" /> - Sehemu ya kikundi cha <ph name="GROUP_NAME" /></translation>
@@ -1077,6 +1077,7 @@
 <translation id="1997616988432401742">Vyeti vyako</translation>
 <translation id="1999115740519098545">Wakati wa kuanza</translation>
 <translation id="2000419248597011803">Hutuma baadhi ya vidakuzi na utafutaji kutoka kwenye sehemu ya anwani na kisanduku cha kutafutia kwenye mtambo wako chaguomsingi wa kutafuta</translation>
+<translation id="2001148512690747464">Hakuna vifaa vya Kuoanisha Haraka vilivyohifadhiwa kwenye <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">Muda halisi</translation>
 <translation id="2003130567827682533">Ili uweke data ya '<ph name="NAME" />', unganisha kwanza kwenye mtandao wa Wi-Fi</translation>
 <translation id="2004697686368036666">Huenda vipengele kwenye baadhi ya tovuti visifanye kazi</translation>
@@ -1341,6 +1342,7 @@
 <translation id="2241053333139545397">Kusoma na kubadilisha data yako kwenye tovuti kadhaa</translation>
 <translation id="2241634353105152135">Mara moja tu</translation>
 <translation id="2242687258748107519">Maelezo ya Faili</translation>
+<translation id="2245296100676446525">Washa usawazishaji ili upate alamisho, manenosiri, historia na zaidi kwenye kifaa hiki na vifaa vingine unavyosawazisha.</translation>
 <translation id="2245603955208828424">Tumia vitufe vya vishale kusogeza katika vipengee herufi kwa herufi</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> yako husasisha kiotomatiki chinichini ili kukupatia vipengele vipya zaidi na maboresho ya usalama. Unaweza kukagua mapendeleo ya sasisho kwenye Mipangilio.</translation>
 <translation id="2246549592927364792">Ungependa kupata ufafanuzi wa picha kutoka Google?</translation>
@@ -1786,6 +1788,7 @@
 <translation id="2642111877055905627">Mpira wa soka</translation>
 <translation id="2643698698624765890">Dhibiti viendelezi vyako kwa kubofya Viendelezi katika menyu ya Window.</translation>
 <translation id="2645047101481282803">Kifaa chako kinadhibitiwa na <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{Nenosiri 1 limepakiwa kwenye kifaa hiki}other{Manenosiri {NUM_PASSWORDS} yamepakiwa kwenye kifaa hiki}}</translation>
 <translation id="2645435784669275700">Mfumo wa Uendeshaji wa Chrome</translation>
 <translation id="2649045351178520408">ASCII iliyosimbwa kwa Base64, msururu wa vyeti</translation>
 <translation id="2652129567809778422">Chagua nenosiri</translation>
@@ -2963,6 +2966,7 @@
 <translation id="3789841737615482174">Sakinisha</translation>
 <translation id="3790417903123637354">Hitilafu fulani imetokea. Jaribu tena baadaye</translation>
 <translation id="379082410132524484">Muda wa matumizi wa kadi yako umekwisha</translation>
+<translation id="3792973596468118484">Viendelezi <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome haikupata programu hatari kwenye kompyuta yako • Ilikaguliwa siku moja iliyopita}other{Chrome haikupata programu hatari kwenye kompyuta yako • Ilikaguliwa siku {NUM_DAYS} zilizopita}}</translation>
 <translation id="379500251094592809">Ili uweze kutumia kipengele cha Uhamishaji wa Karibu, hakikisha kuwa vifaa vyote viwili vimefunguliwa, vinakaribiana na Bluetooth imewashwa. Iwapo unashiriki na kifaa cha Chromebook ambacho hakipo kwenye anwani zako, hakikisha kwamba kipengele cha Uonekanaji wa karibu kimewashwa (fungua eneo la hali kwa kuchagua saa, kisha uwashe Uonekanaji wa karibu). <ph name="LINK_BEGIN" />Pata maelezo zaidi<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Imezimwa</translation>
@@ -4748,6 +4752,7 @@
 <translation id="5542750926112347543">Vidakuzi kutoka <ph name="DOMAIN" /> vimezuiwa</translation>
 <translation id="5542949973455282971">Inaunganisha kwenye <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Inakagua hali...</translation>
+<translation id="5544482392629385159">Kifaa cha <ph name="DEVICE_NAME" /> ni <ph name="DEVICE_INDEX" /> kati ya vifaa <ph name="DEVICE_COUNT" /></translation>
 <translation id="554517701842997186">Kitekelezaji</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Weka kichupo kwenye kikundi}other{Weka vichupo kwenye kikundi}}</translation>
 <translation id="5545693483061321551">Tovuti haziwezi kutumia vidakuzi vyako kuona shughuli zako za kuvinjari kwenye tovuti mbalimbali, kwa mfano, ili kukuonyesha matangazo yanayokufaa zaidi. Huenda vipengele kwenye baadhi ya tovuti visifanye kazi.</translation>
@@ -5549,6 +5554,7 @@
 <translation id="6333170995003625229">Imeshindwa kuthibitisha anwani ya barua pepe au nenosiri. Jaribu kuingia tena katika akaunti.</translation>
 <translation id="6335920438823100346">Ili uweze kufungua Linux, <ph name="MANAGER" /> inahitaji uhifadhi nakala ya data yako na urejeshe mipangilio ambayo Chromebook hii ilitoka nayo kiwandani.</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> imezima utatuzi wa ADB. Hatua hii itarejesha mipangilio ambayo <ph name="DEVICE_TYPE" /> yako ilitoka nayo kiwandani, baada ya saa 24. Hifadhi nakala za faili zozote ambazo ungependa zisipotee.</translation>
+<translation id="6338402296920404442">Unaweza kuamua kufuta faili la <ph name="FILENAME" />, ili watu wengine wanaotumia kifaa hiki wasione manenosiri yako.</translation>
 <translation id="6338981933082930623">Tovuti zote zinaweza kukuonyesha matangazo yoyote</translation>
 <translation id="6339668969738228384">Unda wasifu mpya wa <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Itifaki ya Kuchapisha ya Intaneti (IPPS)</translation>
@@ -6438,7 +6444,6 @@
 <translation id="7212097698621322584">Weka PIN yako ya sasa ili uibadilishe. Ikiwa hujui PIN yako, utahitaji kubadilisha ufunguo wako wa usalama, kisha uunde PIN mpya.</translation>
 <translation id="7213903639823314449">Mtambo wa kutafuta uliotumiwa kwenye sehemu ya anwani</translation>
 <translation id="721490496276866468">Pakia manenosiri</translation>
-<translation id="7216595297012131718">Panga lugha kulingana na mapendeleo yako</translation>
 <translation id="7219473482981809164">Tumepata wasifu kadhaa unaoweza kupakua. Chagua wasifu ambao ungependa kupakua kabla ya kuendelea.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Hamna manenosiri dhaifu}=1{Nenosiri moja dhaifu}other{Manenosiri {NUM_WEAK} dhaifu}}</translation>
 <translation id="7220019174139618249">Imeshindwa kuhamishia manenosiri kwenye "<ph name="FOLDER" />"</translation>
@@ -7623,6 +7628,7 @@
 <translation id="8338952601723052325">Tovuti ya msanidi programu</translation>
 <translation id="8339059274628563283">Data ya <ph name="SITE" /> iliyohifadhiwa kwenye kifaa</translation>
 <translation id="833986336429795709">Ili ufungue kiungo hiki, chagua programu</translation>
+<translation id="8340547030807793004">Vitendo zaidi vya <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">Sijajaribu</translation>
 <translation id="8342861492835240085">Chagua mkusanyiko</translation>
 <translation id="8345848587667658367">Sasa unaweza kuangalia picha, programu, maudhui na arifa za hivi karibuni za simu yako</translation>
diff --git a/chrome/app/resources/generated_resources_ta.xtb b/chrome/app/resources/generated_resources_ta.xtb
index 06a80f38..c87931e 100644
--- a/chrome/app/resources/generated_resources_ta.xtb
+++ b/chrome/app/resources/generated_resources_ta.xtb
@@ -1081,6 +1081,7 @@
 <translation id="1997616988432401742">உங்கள் சான்றிதழ்கள்</translation>
 <translation id="1999115740519098545">தொடக்கத்தில்</translation>
 <translation id="2000419248597011803">முகவரிப் பட்டியிலிருந்தும், தேடல் பெட்டியிலிருந்தும் சில குக்கீகளையும் தேடல்களையும் உங்கள் இயல்புத் தேடல் இன்ஜினுக்கு அனுப்பும்</translation>
+<translation id="2001148512690747464"><ph name="PRIMARY_EMAIL" /> கணக்கில் துரித இணைப்புச் சாதனங்கள் சேமிக்கப்படவில்லை</translation>
 <translation id="2002109485265116295">நிகழ்நேரம்</translation>
 <translation id="2003130567827682533">'<ph name="NAME" />' டேட்டாவைச் செயல்படுத்த, முதலில் ஒரு வைஃபை நெட்வொர்க்குடன் இணைக்கவும்</translation>
 <translation id="2004697686368036666">சில தளங்களில் உள்ள அம்சங்கள் செயல்படாமல் போகக்கூடும்</translation>
@@ -1790,6 +1791,7 @@
 <translation id="2642111877055905627">கால்பந்து</translation>
 <translation id="2643698698624765890">சாளரத்தின் மெனுவிலுள்ள நீட்டிப்புகள் என்பதைக் கிளிக் செய்து நீட்டிப்புகளை நிர்வகிக்கவும்.</translation>
 <translation id="2645047101481282803">உங்கள் சாதனத்தை <ph name="PROFILE_NAME" /> நிர்வகிக்கிறது</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{1 கடவுச்சொல் இந்தச் சாதனத்தில் இறக்கப்பட்டது}other{{NUM_PASSWORDS} கடவுச்சொற்கள் இந்தச் சாதனத்தில் இறக்கப்பட்டன}}</translation>
 <translation id="2645435784669275700">ChromeOS</translation>
 <translation id="2649045351178520408">Base64-குறியேற்றப்பட்ட ASCII, சான்றிதழ் சங்கிலி</translation>
 <translation id="2652129567809778422">கடவுச்சொல்லைத் தேர்ந்தெடுங்கள்</translation>
@@ -2967,6 +2969,7 @@
 <translation id="3789841737615482174">நிறுவுக</translation>
 <translation id="3790417903123637354">ஏதோ தவறாகிவிட்டது. பிறகு முயலவும்</translation>
 <translation id="379082410132524484">கார்டு காலாவதியாகிவிட்டது</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> நீட்டிப்புகள்</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{தீங்கிழைக்கும் மென்பொருளை உங்கள் கம்ப்யூட்டரில் Chrome கண்டறியவில்லை • சரிபார்க்கப்பட்டது: 1 நாளுக்கு முன்பு}other{தீங்கிழைக்கும் மென்பொருளை உங்கள் கம்ப்யூட்டரில் Chrome கண்டறியவில்லை • சரிபார்க்கப்பட்டது: {NUM_DAYS} நாட்களுக்கு முன்பு}}</translation>
 <translation id="379500251094592809">அருகிலுள்ளவற்றுடன் பகிர்தல் அம்சத்தைப் பயன்படுத்த, இரண்டு சாதனங்களும் அன்லாக் செய்யப்பட்டிருப்பதையும் அருகருகே இருப்பதையும் அவற்றில் புளூடூத் ஆன் செய்யப்பட்டிருப்பதையும் உறுதிசெய்துகொள்ளவும். உங்கள் தொடர்புகளில் இல்லாத Chromebookகுடன் பகிர்கிறீர்கள் எனில் அதில் 'அருகில் பகிர்தல்' தெரிவுநிலை ஆன் செய்யப்பட்டிருப்பதை உறுதிசெய்துகொள்ளவும் (நேரத்தைத் தேர்ந்தெடுத்து நிலைப் பகுதியைத் திறந்துவிட்டு 'அருகில் பகிர்தல்' தெரிவுநிலையை ஆன் செய்யவும்) <ph name="LINK_BEGIN" />மேலும் அறிக<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">ஆஃப்</translation>
@@ -4754,6 +4757,7 @@
 <translation id="5542750926112347543"><ph name="DOMAIN" /> இன் குக்கீகள் தடுக்கப்படுகின்றன</translation>
 <translation id="5542949973455282971"><ph name="CARRIER_NAME" /> உடன் இணைக்கிறது</translation>
 <translation id="5543983818738093899">நிலையைச் சரிபார்க்கிறது...</translation>
+<translation id="5544482392629385159"><ph name="DEVICE_INDEX" />/<ph name="DEVICE_COUNT" /> சாதனம்: <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">ரெண்டரர்</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{குழுவில் தாவலைச் சேர்}other{குழுவில் தாவல்களைச் சேர்}}</translation>
 <translation id="5545693483061321551">விளம்பரங்களைப் பிரத்தியேகமாக்குவது போன்ற செயல்களைச் செய்வதற்காக வெவ்வேறு தளங்களில் உங்கள் உலாவல் செயல்பாட்டைப் பார்க்க, தளங்களால் குக்கீகளைத் பயன்படுத்த முடியாது. சில தளங்களில் உள்ள குறிப்பிட்ட அம்சங்கள் செயல்படாமல் போகக்கூடும்.</translation>
@@ -5556,6 +5560,7 @@
 <translation id="6333170995003625229">உங்கள் மின்னஞ்சல் முகவரியையோ கடவுச்சொல்லையோ சரிபார்க்க முடியவில்லை. மீண்டும் உள்நுழையவும்.</translation>
 <translation id="6335920438823100346">Linuxஸைத் தொடங்க, உங்கள் தரவைக் காப்புப் பிரதி எடுத்துவிட்டு இந்த Chromebookகை ஆரம்பநிலை அமைப்புகளுக்கு மீட்டமைக்குமாறு <ph name="MANAGER" /> கோருகிறது.</translation>
 <translation id="6336038146639916978">ADB பிழைதிருத்தத்தை <ph name="MANAGER" /> முடக்கியுள்ளது. இதனால் <ph name="DEVICE_TYPE" /> சாதனம் 24 மணிநேரத்தில் மீட்டமைக்கப்படும். உங்களுக்குத் தேவையான கோப்புகளைக் காப்புப் பிரதி எடுத்துக்கொள்ளவும்.</translation>
+<translation id="6338402296920404442">இந்தச் சாதனத்தைப் பயன்படுத்தும் மற்றவர்கள் உங்கள் கடவுச்சொற்களைப் பார்க்காமல் இருக்க <ph name="FILENAME" /> ஃபைலை நீக்கும்படி பரிந்துரைக்கிறோம்.</translation>
 <translation id="6338981933082930623">எந்த விளம்பரங்களையும் காட்டுவதற்கு அனைத்துத் தளங்களையும் அனுமதி</translation>
 <translation id="6339668969738228384"><ph name="USER_EMAIL_ADDRESS" />க்குப் புதிய சுயவிவரத்தை உருவாக்கு</translation>
 <translation id="6340071272923955280">இன்டர்நெட் பிரிண்டிங் புரோட்டோகால் (IPPS)</translation>
@@ -6445,7 +6450,6 @@
 <translation id="7212097698621322584">தற்போதைய பின்னை மாற்ற அதை உள்ளிடவும். பின் தெரியவில்லை என்றால் புதிய பின்னை உருவாக்க பாதுகாப்பு விசையை மீட்டமைக்க வேண்டும்.</translation>
 <translation id="7213903639823314449">முகவரிப் பட்டியில் பயன்படுத்தப்படும் தேடல் இன்ஜின்</translation>
 <translation id="721490496276866468">கடவுச்சொற்களை ஏற்றுதல்</translation>
-<translation id="7216595297012131718">உங்கள் விருப்பத்தேர்வின் அடிப்படையில் மொழிகளை வரிசைப்படுத்தவும்</translation>
 <translation id="7219473482981809164">நீங்கள் பதிவிறக்கிக் கொள்ளப் பல்வேறு சுயவிவரங்கள் உள்ளன. தொடர்வதற்கு முன் பதிவிறக்க விரும்புபவற்றைத் தேர்ந்தெடுக்கவும்.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{வலுவற்ற கடவுச்சொற்கள் எதுவுமில்லை}=1{1 வலுவற்ற கடவுச்சொல்}other{{NUM_WEAK} வலுவற்ற கடவுச்சொற்கள்}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />" எனும் ஃபோல்டருக்குக் கடவுச்சொற்களை ஏற்ற முடியவில்லை</translation>
@@ -7629,6 +7633,7 @@
 <translation id="8338952601723052325">டெவெலப்பர் இணையதளம்</translation>
 <translation id="8339059274628563283">சாதனத்தில் சேமிக்கப்பட்ட <ph name="SITE" /> தரவு</translation>
 <translation id="833986336429795709">இந்த இணைப்பைத் திறக்க, ஆப்ஸைத் தேர்வுசெய்யும்</translation>
+<translation id="8340547030807793004"><ph name="DEVICE" /> சாதனத்திற்கான கூடுதல் செயல்கள்</translation>
 <translation id="8342221978608739536">பயன்படுத்திப் பார்க்கவில்லை</translation>
 <translation id="8342861492835240085">தொகுப்பைத் தேர்ந்தெடு</translation>
 <translation id="8345848587667658367">இப்போது, உங்கள் மொபைலில் உள்ள சமீபத்திய படங்கள், மீடியா, அறிவிப்புகள், ஆப்ஸ் ஆகியவற்றைப் பார்க்கலாம்</translation>
diff --git a/chrome/app/resources/generated_resources_te.xtb b/chrome/app/resources/generated_resources_te.xtb
index 18c9637..f12270b 100644
--- a/chrome/app/resources/generated_resources_te.xtb
+++ b/chrome/app/resources/generated_resources_te.xtb
@@ -1759,7 +1759,7 @@
 <translation id="2610260699262139870">&amp;సాధారణ పరిమాణం</translation>
 <translation id="2610780100389066815">Microsoft Trust List Signing</translation>
 <translation id="2611776654555141051">దీర్ఘచతురస్ర టూల్</translation>
-<translation id="2612676031748830579">కార్డ్ సంఖ్య</translation>
+<translation id="2612676031748830579">కార్డ్ నంబర్</translation>
 <translation id="2613210758071148851"><ph name="RESTRICTED_SITE" />‌లో ఎటువంటి ఎక్స్‌టెన్షన్‌లనూ అనుమతించకండి</translation>
 <translation id="2613535083491958306"><ph name="ORIGIN" />, <ph name="FILENAME" />‌ను ఎడిట్ చేయగలుగుతుంది</translation>
 <translation id="2616366145935564096"><ph name="WEBSITE_1" />లో ఉన్న మీ డేటాను చదవడం మరియు మార్చడం</translation>
@@ -2207,6 +2207,7 @@
 <translation id="3021065318976393105">బ్యాటరీలో ఉన్నప్పుడు</translation>
 <translation id="3021066826692793094">సీతాకోకచిలుక</translation>
 <translation id="3021678814754966447">ఫ్రేమ్ మూలాన్ని &amp;వీక్షించండి</translation>
+<translation id="3022361196600037287">ఈ Chromebook నుండి <ph name="DEVICE" /> తీసివేయబడుతుంది, అలాగే <ph name="PRIMARY_EMAIL" />కు సేవ్ చేయబడదు.</translation>
 <translation id="3022978424994383087">అది పూర్తి కాలేదు.</translation>
 <translation id="3023464535986383522">వినడానికి ఎంచుకోండి</translation>
 <translation id="3024374909719388945">24-గంటల గడియారాన్ని ఉపయోగించండి</translation>
@@ -3746,6 +3747,7 @@
 <translation id="4535127706710932914">డిఫాల్ట్ ప్రొఫైల్</translation>
 <translation id="4535767533210902251">మీ కీబోర్డ్‌లో పైన కుడివైపు గల కీపై వేలిముద్ర సెన్సార్ ఉంది. ఏదైనా వేలితో దానిపై మెల్లగా తాకండి.</translation>
 <translation id="4536140153723794651">కుక్కీలను ఉపయోగించే అనుమతి ఎల్లప్పుడూ ఉన్న సైట్‌లు</translation>
+<translation id="4536769240747010177">టెథరింగ్ సామర్థ్యాలు:</translation>
 <translation id="4538417792467843292">పదాన్ని తొలగించు</translation>
 <translation id="4538792345715658285">బిజినెస్ విధానం ద్వారా ఇన్‌స్టాల్ చేయబడింది.</translation>
 <translation id="4541123282641193691">మీ ఖాతాను వెరిఫై చేయడం సాధ్యపడలేదు. దయచేసి మళ్లీ ట్రై చేయండి లేదా మీ Chromebookను రీస్టార్ట్ చేయండి.</translation>
@@ -3773,6 +3775,7 @@
 <translation id="4561893854334016293">ఇటీవల మార్చిన అనుమతులు లేవు</translation>
 <translation id="4562155214028662640">వేలిముద్రను జోడించు</translation>
 <translation id="4563210852471260509">ప్రారంభ ఇన్‌పుట్ భాష చైనీస్</translation>
+<translation id="4563382028841851106">ఖాతా నుండి తీసివేయండి</translation>
 <translation id="4563880231729913339">మూడో వేలు</translation>
 <translation id="4564245002465020751">మీ ఫోన్‌లో సెటప్‌ను పూర్తి చేయండి</translation>
 <translation id="4565377596337484307">పాస్‌వర్డ్‌ను దాచిపెట్టు</translation>
@@ -6190,6 +6193,10 @@
 <translation id="6943939122536910181"><ph name="DEVICE" /> నుండి డిస్‌కనెక్ట్ చేయబడింది</translation>
 <translation id="6945221475159498467">ఎంచుకోండి</translation>
 <translation id="694592694773692225">మళ్ళింపు ఈ పేజీలో బ్లాక్ చేయబడింది.</translation>
+<translation id="6947015141909171112">వంటకాల కోసం మీరు చేసిన ఇటీవలి సెర్చ్ యాక్టివిటీ ఆధారంగా ఈ వంటకాలు మీకు కనిపిస్తున్నాయి.
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        మీరు కార్డ్ మెనూ నుండి సెట్టింగ్‌లను మేనేజ్ చేయవచ్చు లేదా, అనుకూలంగా మార్చిన Chromeలో మరిన్ని ఆప్షన్‌లను చూడండి.</translation>
 <translation id="6949434160682548041">పాస్‌వర్డ్ (ఐచ్ఛికం)</translation>
 <translation id="6950627417367801484">యాప్‌లను పునరుద్ధరించండి</translation>
 <translation id="6952242901357037157">మీ <ph name="BEGIN_LINK" />Google ఖాతా<ph name="END_LINK" /> నుండి మీరు పాస్‌వర్డ్‌లను ఇక్కడ కూడా చూపవచ్చు</translation>
@@ -6448,7 +6455,6 @@
 <translation id="7212097698621322584">మీ ప్రస్తుత పిన్‌ను మార్చడానికి దానిని నమోదు చేయండి. మీ పిన్ మీకు తెలియకుంటే, మీరు సెక్యూరిటీ కీని రీసెట్ చేసి, ఆపై కొత్త పిన్‌ను సృష్టించాలి.</translation>
 <translation id="7213903639823314449">అడ్రస్ బార్‌లో ఉపయోగిస్తున్న సెర్చ్ ఇంజిన్</translation>
 <translation id="721490496276866468">పాస్‌వర్డ్‌లను దిగుమతి చేయండి</translation>
-<translation id="7216595297012131718">భాషలను మీ ప్రాధాన్యత ఆధారంగా క్రమం చేస్తుంది</translation>
 <translation id="7219473482981809164">డౌన్‌లోడ్ చేయడానికి అనేక ప్రొఫైళ్లు అందుబాటులో ఉన్నాయని మేము కనుగొన్నము. కొనసాగే ముందు మీరు డౌన్‌లోడ్ చేయాలనుకునే వాటిని ఎంచుకోండి.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{బలహీనమైన పాస్‌వర్డ్‌లు ఏవీ లేవు}=1{1 బలహీనమైన పాస్‌వర్డ్}other{{NUM_WEAK} బలహీనమైన పాస్‌వర్డ్‌లు}}</translation>
 <translation id="7220019174139618249">"<ph name="FOLDER" />"కు పాస్‌వర్డ్‌‌లను ఎగుమతి చేయడం సాధ్యపడలేదు.</translation>
@@ -6984,6 +6990,7 @@
 <translation id="7737115349420013392">"<ph name="DEVICE_NAME" />"తో పెయిర్ చేస్తోంది ...</translation>
 <translation id="7737846262459425222">దీన్ని మీరు సెట్టింగ్‌లు &gt; Google Assistant &gt; స్క్రీన్ కాంటెక్ట్స్‌లో ఎప్పుడైనా మార్చవచ్చు.</translation>
 <translation id="7737948071472253612">మీ కెమెరాను ఉపయోగించడానికి అనుమతి లేదు</translation>
+<translation id="77381465218432215">యాక్సెంట్ గుర్తులు, ప్రత్యేక అక్షరాలను చూపించు</translation>
 <translation id="7740996059027112821">ప్రామాణికం</translation>
 <translation id="7741307896921365578">మీ చదవాల్సిన లిస్ట్, Bookmarksను యాక్సెస్ చేయడానికి ఉపయోగకరమైన, నిరంతర మార్గం కోసం బ్రౌజర్ స్థాయి సైడ్ ప్యానెల్‌ను ఎనేబుల్ చేస్తుంది.</translation>
 <translation id="7742558784808143689"><ph name="SITE_NAME" />, దానికి సంబంధించిన అన్ని సైట్‌లు, ఇంకా ఇన్‌స్టాల్ చేయబడిన యాప్‌లలో సైట్ డేటాను, ఇంకా అనుమతులను క్లియర్ చేయాలనుకుంటున్నారా?</translation>
@@ -7770,6 +7777,7 @@
 <translation id="8486666913807228950">కారణం: ఇన్‌వర్టెడ్ నియమం <ph name="REVERT_RULE" />ను "బ్రౌజర్‌లో ఫోర్స్ ఓపెన్ చేయండి" అనే లిస్ట్‌లో చూడవచ్చు.</translation>
 <translation id="848666842773560761">కెమెరాను యాక్సెస్ చేయడానికి ఒక యాప్ ట్రై చేస్తోంది. యాక్సెస్‌ను అనుమతించడానికి కెమెరా గోప్యతా స్విచ్‌ను ఆఫ్ చేయండి.</translation>
 <translation id="8487678622945914333">దగ్గరికి జూమ్ చేయి</translation>
+<translation id="8487699605742506766">హాట్‌స్పాట్</translation>
 <translation id="8489156414266187072">వ్యక్తిగత సూచనలు కేవలం మీ ఖాతాలో మాత్రమే చూపబడతాయి</translation>
 <translation id="8490896350101740396">కింది కియోస్క్ యాప్‌లు "<ph name="UPDATED_APPS" />" అప్‌డేట్ అయ్యాయి. దయచేసి అప్‌డేట్ ప్రాసెస్‌ను పూర్తి చేయడానికి పరికరాన్ని రీబూట్ చేయండి.</translation>
 <translation id="8492685019009920170">వేలిముద్ర సెన్సార్‌ను మీ వేలితో తాకండి. మీ డేటా సురక్షితంగా స్టోర్ చేయబడుతుంది, ఎప్పటికీ మీ <ph name="DEVICE_TYPE" />లోనే ఉంటుంది.</translation>
@@ -8263,6 +8271,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{"<ph name="TAB_TITLE" />"}=1{"<ph name="TAB_TITLE" />" ఇంకా 1 వేరే ట్యాబ్}other{"<ph name="TAB_TITLE" />" ఇంకా # వేరే ట్యాబ్‌లు}}</translation>
 <translation id="8977811652087512276">పాస్‌వర్డ్ తప్పు లేదా ఫైల్ పాడైంది</translation>
 <translation id="8978154919215542464">ఆన్‌లో ఉంది - ప్రతిదీ సింక్ చేస్తుంది</translation>
+<translation id="8978670037548431647">టెథరింగ్ సామర్థ్యాలను రిఫ్రెష్ చేయండి</translation>
 <translation id="897939795688207351"><ph name="ORIGIN" />లో</translation>
 <translation id="8980345560318123814">Feedback రిపోర్ట్‌లు</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - క్రాష్ అయ్యింది</translation>
@@ -8527,6 +8536,7 @@
 <translation id="935854577147268200">Smart Lock ఫోన్ మారింది. Smart Lockను అప్‌డేట్ చేయడానికి మీ పాస్‌వర్డ్‌ను నమోదు చేయండి. తదుపరిసారి, మీ ఫోన్ మీ <ph name="DEVICE_TYPE" />‌ను అన్‌లాక్ చేస్తుంది. మీరు సెట్టింగ్‌లలో Smart Lockను ఆఫ్ చేయవచ్చు</translation>
 <translation id="936646668635477464">కెమెరా &amp; మైక్రోఫోన్</translation>
 <translation id="936801553271523408">సిస్టమ్ విశ్లేషణ డేటా</translation>
+<translation id="937053962468712792"><ph name="PRIMARY_EMAIL" /> నుండి <ph name="DEVICE" />ను తీసివేయాలా?</translation>
 <translation id="93766956588638423">ఎక్స్‌టెన్షన్‌ను సరి చేయి</translation>
 <translation id="938568644810664664">"Ok Google, ఇది ఏ పాట?" లేదా "Ok Google, నా స్క్రీన్‌పై ఏముంది?" అని అడిగి చూడండి</translation>
 <translation id="938623846785894166">అసాధారణమైన ఫైల్</translation>
diff --git a/chrome/app/resources/generated_resources_th.xtb b/chrome/app/resources/generated_resources_th.xtb
index 365c32f..2721a19 100644
--- a/chrome/app/resources/generated_resources_th.xtb
+++ b/chrome/app/resources/generated_resources_th.xtb
@@ -895,6 +895,7 @@
 <translation id="1829129547161959350">นกเพนกวิน</translation>
 <translation id="1829192082282182671">ย่อ</translation>
 <translation id="1830550083491357902">ไม่ได้ลงชื่อเข้าใช้</translation>
+<translation id="1831848493690504725">เราเข้าถึง Google ผ่านเครือข่ายที่เชื่อมต่อไม่ได้ ลองเลือกเครือข่ายอื่นหรือตรวจสอบการตั้งค่าเครือข่ายหรือการตั้งค่าพร็อกซี (หากคุณใช้พร็อกซี)</translation>
 <translation id="1832459821645506983">เอาสิ ตกลง</translation>
 <translation id="1832511806131704864">อัปเดตการเปลี่ยนแปลงของโทรศัพท์แล้ว</translation>
 <translation id="1832848789136765277">โปรดยืนยันว่าเป็นคุณเพื่อให้เข้าถึงข้อมูลที่ซิงค์ไว้ได้ทุกเมื่อ</translation>
@@ -1069,6 +1070,7 @@
 <translation id="1997616988432401742">ใบรับรองของคุณ</translation>
 <translation id="1999115740519098545">เมื่อเริ่มต้นใช้งาน</translation>
 <translation id="2000419248597011803">ส่งคุกกี้และการค้นหาบางรายการจากแถบที่อยู่และช่องค้นหาไปยังเครื่องมือค้นหาเริ่มต้น</translation>
+<translation id="2001148512690747464">ไม่มีอุปกรณ์การจับคู่ด่วนที่บันทึกไว้ใน <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="2002109485265116295">เรียลไทม์</translation>
 <translation id="2003130567827682533">หากต้องการเปิดใช้งานเน็ตมือถือ "<ph name="NAME" />" ให้เชื่อมต่อกับเครือข่าย Wi-Fi ก่อน</translation>
 <translation id="2004697686368036666">ฟีเจอร์ในบางเว็บไซต์อาจใช้งานไม่ได้</translation>
@@ -1775,6 +1777,7 @@
 <translation id="2642111877055905627">ลูกฟุตบอล</translation>
 <translation id="2643698698624765890">จัดการส่วนขยายของคุณโดยคลิกที่ "ส่วนขยาย" ในเมนู "หน้าต่าง"</translation>
 <translation id="2645047101481282803">อุปกรณ์ของคุณจัดการโดย <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{นำเข้ารหัสผ่าน 1 รายการมายังอุปกรณ์นี้แล้ว}other{นำเข้ารหัสผ่าน {NUM_PASSWORDS} รายการมายังอุปกรณ์นี้แล้ว}}</translation>
 <translation id="2645435784669275700">Chrome OS</translation>
 <translation id="2649045351178520408">Base64-encoded ASCII, กลุ่มใบรับรอง (Certificate Chain)</translation>
 <translation id="2652129567809778422">เลือกรหัสผ่าน</translation>
@@ -2191,6 +2194,7 @@
 <translation id="3021065318976393105">ขณะใช้แบตเตอรี่</translation>
 <translation id="3021066826692793094">ผีเสื้อ</translation>
 <translation id="3021678814754966447">&amp;ดูแหล่งที่มาของเฟรม</translation>
+<translation id="3022361196600037287">ระบบจะนำ <ph name="DEVICE" /> ออกจาก Chromebook เครื่องนี้และจะไม่บันทึกไปยัง <ph name="PRIMARY_EMAIL" /></translation>
 <translation id="3022978424994383087">ฟังไม่เข้าใจ</translation>
 <translation id="3023464535986383522">เลือกเพื่อให้อ่าน</translation>
 <translation id="3024374909719388945">ใช้เวลารูปแบบ 24 ชั่วโมง</translation>
@@ -2952,6 +2956,7 @@
 <translation id="3789841737615482174">ติดตั้ง</translation>
 <translation id="3790417903123637354">เกิดข้อผิดพลาด ลองอีกครั้งภายหลัง</translation>
 <translation id="379082410132524484">บัตรของคุณหมดอายุแล้ว</translation>
+<translation id="3792973596468118484">ส่วนขยาย <ph name="NUM_EXTENSIONS" /> รายการ</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome ไม่พบซอฟต์แวร์ที่เป็นอันตรายในคอมพิวเตอร์ของคุณ • ตรวจสอบเมื่อ 1 วันที่ผ่านมา}other{Chrome ไม่พบซอฟต์แวร์ที่เป็นอันตรายในคอมพิวเตอร์ของคุณ • ตรวจสอบเมื่อ {NUM_DAYS} วันที่ผ่านมา}}</translation>
 <translation id="379500251094592809">หากต้องการใช้การแชร์ใกล้เคียง ให้ตรวจสอบว่าอุปกรณ์ทั้งคู่ปลดล็อกแล้ว อยู่ใกล้กัน และเปิดบลูทูธอยู่ หากจะแชร์กับ Chromebook ที่ไม่ได้อยู่ในรายชื่อติดต่อของคุณ ให้ตรวจสอบว่าอุปกรณ์ดังกล่าวเปิดการมองเห็นใกล้เคียงแล้ว (เปิดพื้นที่แสดงสถานะโดยเลือกเวลา แล้วเปิด "การมองเห็นใกล้เคียง") <ph name="LINK_BEGIN" />ดูข้อมูลเพิ่มเติม<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">ปิด</translation>
@@ -3728,6 +3733,7 @@
 <translation id="4535127706710932914">โปรไฟล์เริ่มต้น</translation>
 <translation id="4535767533210902251">เซ็นเซอร์ลายนิ้วมืออยู่ในแป้นด้านขวาบนของแป้นพิมพ์ โปรดแตะเบาๆ ด้วยนิ้วใดก็ได้</translation>
 <translation id="4536140153723794651">เว็บไซต์ที่ใช้คุกกี้ได้เสมอ</translation>
+<translation id="4536769240747010177">ความสามารถในการเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ</translation>
 <translation id="4538417792467843292">ลบคำ</translation>
 <translation id="4538792345715658285">ติดตั้งโดยนโยบายขององค์กร</translation>
 <translation id="4541123282641193691">ยืนยันบัญชีไม่ได้ โปรดลองอีกครั้งหรือรีสตาร์ท Chromebook</translation>
@@ -3755,6 +3761,7 @@
 <translation id="4561893854334016293">ไม่มีการเปลี่ยนแปลงสิทธิ์เมื่อเร็วๆ นี้</translation>
 <translation id="4562155214028662640">เพิ่มลายนิ้วมือ</translation>
 <translation id="4563210852471260509">ภาษาป้อนข้อมูลเบื้องต้นคือจีน</translation>
+<translation id="4563382028841851106">นำออกจากบัญชี</translation>
 <translation id="4563880231729913339">นิ้วที่ 3</translation>
 <translation id="4564245002465020751">ตั้งค่าโทรศัพท์ให้เสร็จ</translation>
 <translation id="4565377596337484307">ซ่อนรหัสผ่าน</translation>
@@ -4732,12 +4739,14 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> ต้องการที่จะ</translation>
 <translation id="5534304873398226603">ทิ้งรูปภาพหรือวิดีโอ</translation>
 <translation id="5537725057119320332">แคสต์</translation>
+<translation id="5539070192556911367">เข้าถึง Google ไม่ได้</translation>
 <translation id="5539221284352502426">เซิร์ฟเวอร์ปฏิเสธรหัสผ่านที่คุณป้อน สาเหตุที่เป็นไปได้คือรหัสผ่านสั้นเกินไป ทั้งนี้รหัสผ่านต้องมีตัวเลขหรือสัญลักษณ์อยู่ด้วย และต้องแตกต่างจากรหัสผ่านที่เคยใช้</translation>
 <translation id="5541694225089836610">ผู้ดูแลระบบของคุณปิดการทำงาน</translation>
 <translation id="5542132724887566711">โปรไฟล์</translation>
 <translation id="5542750926112347543">บล็อกคุกกี้จาก <ph name="DOMAIN" /></translation>
 <translation id="5542949973455282971">กำลังเชื่อมต่อกับ <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">กำลังตรวจสอบสถานะ...</translation>
+<translation id="5544482392629385159">อุปกรณ์ที่ <ph name="DEVICE_INDEX" /> จาก <ph name="DEVICE_COUNT" /> "<ph name="DEVICE_NAME" />"</translation>
 <translation id="554517701842997186">โปรแกรมแสดงภาพ</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{เพิ่มแท็บไปยังกลุ่ม}other{เพิ่มแท็บไปยังกลุ่ม}}</translation>
 <translation id="5545693483061321551">เว็บไซต์จะไม่สามารถใช้คุกกี้เพื่อดูกิจกรรมการท่องเว็บของคุณในเว็บไซต์ต่างๆ สำหรับวัตถุประสงค์อย่างเช่นการปรับโฆษณาตามโปรไฟล์ของคุณ ฟีเจอร์ในบางเว็บไซต์อาจใช้งานไม่ได้</translation>
@@ -4794,6 +4803,7 @@
 <translation id="5585912436068747822">การจัดรูปแบบล้มเหลว</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">กำลังโหลดแอป...</translation>
+<translation id="5590418976913374224">เล่นเสียงเมื่อเริ่มต้นใช้งานอุปกรณ์</translation>
 <translation id="5592595402373377407">ยังไม่มีข้อมูลเพียงพอ</translation>
 <translation id="5595307023264033512">พื้นที่เก็บข้อมูลทั้งหมดที่เว็บไซต์ต่างๆ ใช้: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">แก้ไขที่อยู่</translation>
@@ -5536,6 +5546,7 @@
 <translation id="6333170995003625229">ยืนยันอีเมลหรือรหัสผ่านของคุณไม่ได้ ลองลงชื่อเข้าใช้อีกครั้ง</translation>
 <translation id="6335920438823100346">ในการเริ่มต้น Linux นั้น <ph name="MANAGER" /> จะขอให้คุณสำรองข้อมูลและรีเซ็ต Chromebook เครื่องนี้เป็นการตั้งค่าเริ่มต้น</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> ปิดใช้การแก้ไขข้อบกพร่อง ADB ซึ่งจะเป็นการรีเซ็ต <ph name="DEVICE_TYPE" /> ของคุณใน 24 ชั่วโมง โปรดสำรองข้อมูลไฟล์ที่ต้องการเก็บไว้</translation>
+<translation id="6338402296920404442">คุณจะลบไฟล์ <ph name="FILENAME" /> ทิ้งไปก็ได้ เพื่อให้ผู้อื่นที่ใช้อุปกรณ์นี้ไม่เห็นรหัสผ่าน</translation>
 <translation id="6338981933082930623">เว็บไซต์ทั้งหมดแสดงโฆษณาใดก็ตามให้คุณเห็นได้</translation>
 <translation id="6339668969738228384">สร้างโปรไฟล์ใหม่สำหรับ <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">โปรโตคอลการพิมพ์ผ่านอินเทอร์เน็ต (IPPS)</translation>
@@ -6167,6 +6178,10 @@
 <translation id="6943939122536910181">ยกเลิกการเชื่อมต่อกับ <ph name="DEVICE" /> แล้ว</translation>
 <translation id="6945221475159498467">เลือก</translation>
 <translation id="694592694773692225">มีการบล็อกการเปลี่ยนเส้นทางในหน้านี้</translation>
+<translation id="6947015141909171112">สิ่งที่เห็นนี้คือสูตรอาหารตามกิจกรรมการค้นหาสูตรอาหารครั้งล่าสุดของคุณ
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        คุณสามารถจัดการการตั้งค่าจากเมนูการ์ดหรือดูตัวเลือกเพิ่มเติมได้ใน "ปรับแต่ง Chrome"</translation>
 <translation id="6949434160682548041">รหัสผ่าน (ไม่บังคับ)</translation>
 <translation id="6950627417367801484">คืนค่าแอป</translation>
 <translation id="6952242901357037157">คุณแสดงรหัสผ่านจาก<ph name="BEGIN_LINK" />บัญชี Google<ph name="END_LINK" /> ที่นี่ได้เช่นกัน</translation>
@@ -6334,6 +6349,7 @@
 <translation id="7102687220333134671">การอัปเดตอัตโนมัติเปิดอยู่</translation>
 <translation id="7102832101143475489">คำขอหมดเวลาแล้ว</translation>
 <translation id="710640343305609397">เปิดการตั้งค่าเครือข่าย</translation>
+<translation id="7107609441453408294">เล่นเสียงเหมือนกันผ่านลำโพงทุกตัว</translation>
 <translation id="7108338896283013870">ซ่อน</translation>
 <translation id="7108668606237948702">Enter</translation>
 <translation id="7108933416628942903">ล็อกเลย</translation>
@@ -6425,7 +6441,6 @@
 <translation id="7212097698621322584">ป้อน PIN ปัจจุบันเพื่อเปลี่ยน PIN หากไม่ทราบ PIN คุณจะต้องรีเซ็ตคีย์ความปลอดภัย แล้วสร้าง PIN ใหม่</translation>
 <translation id="7213903639823314449">เครื่องมือค้นหาที่ใช้ในแถบที่อยู่</translation>
 <translation id="721490496276866468">นำเข้ารหัสผ่าน</translation>
-<translation id="7216595297012131718">เรียงลำดับภาษาตามความต้องการของคุณ</translation>
 <translation id="7219473482981809164">พบหลายโปรไฟล์พร้อมให้ดาวน์โหลด เลือกโปรไฟล์ที่ต้องการก่อนดำเนินการต่อ</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{ไม่มีรหัสผ่านที่ไม่รัดกุม}=1{มีรหัสผ่านที่ไม่รัดกุม 1 รายการ}other{มีรหัสผ่านที่ไม่รัดกุม {NUM_WEAK} รายการ}}</translation>
 <translation id="7220019174139618249">ส่งออกรหัสผ่านไปยัง "<ph name="FOLDER" />" ไม่ได้</translation>
@@ -6565,6 +6580,7 @@
 <translation id="7364745943115323529">แคสต์...</translation>
 <translation id="7364796246159120393">เลือกไฟล์</translation>
 <translation id="7365076891350562061">ขนาดจอภาพ</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - ปักหมุดแล้ว</translation>
 <translation id="7366316827772164604">กำลังสแกนหาอุปกรณ์ที่อยู่ใกล้เคียง…</translation>
 <translation id="7366415735885268578">เพิ่มเว็บไซต์</translation>
 <translation id="7366909168761621528">ข้อมูลการท่องเว็บ</translation>
@@ -6961,6 +6977,7 @@
 <translation id="7737115349420013392">กำลังจับคู่กับ "<ph name="DEVICE_NAME" />" ...</translation>
 <translation id="7737846262459425222">คุณเปลี่ยนได้ทุกเมื่อในการตั้งค่า &gt; Google Assistant &gt; บริบทบนหน้าจอ</translation>
 <translation id="7737948071472253612">ไม่ได้รับอนุญาตให้ใช้กล้อง</translation>
+<translation id="77381465218432215">แสดงเครื่องหมายกำกับการออกเสียงและสัญลักษณ์พิเศษ</translation>
 <translation id="7740996059027112821">มาตรฐาน</translation>
 <translation id="7741307896921365578">ทำให้แผงด้านข้างระดับเบราว์เซอร์เป็นช่องทางที่ใช้เข้าถึงเรื่องรออ่านและบุ๊กมาร์กได้ทุกเมื่อ</translation>
 <translation id="7742558784808143689">ล้างข้อมูลเว็บไซต์และสิทธิ์ของ <ph name="SITE_NAME" /> รวมถึงเว็บไซต์ทั้งหมดภายใต้เว็บไซต์นี้และแอปที่ติดตั้งไว้ใช่ไหม</translation>
@@ -7608,6 +7625,7 @@
 <translation id="8338952601723052325">เว็บไซต์สำหรับนักพัฒนาซอฟต์แวร์</translation>
 <translation id="8339059274628563283">ข้อมูล <ph name="SITE" /> ที่เก็บไว้ในเครื่อง</translation>
 <translation id="833986336429795709">เลือกแอปที่จะเปิดลิงก์นี้</translation>
+<translation id="8340547030807793004">การดำเนินการเพิ่มเติมสำหรับ <ph name="DEVICE" /></translation>
 <translation id="8342221978608739536">ไม่ได้ลอง</translation>
 <translation id="8342861492835240085">เลือกคอลเล็กชัน</translation>
 <translation id="8345848587667658367">ตอนนี้คุณดูรูปภาพ สื่อ การแจ้งเตือน และแอปล่าสุดของโทรศัพท์ได้แล้ว</translation>
@@ -7749,6 +7767,7 @@
 <translation id="8486666913807228950">เหตุผล: พบกฎ <ph name="REVERT_RULE" /> ที่มีการสลับในรายการ "บังคับเปิดใน"</translation>
 <translation id="848666842773560761">มีแอปพยายามเข้าถึงกล้อง ปิดสวิตช์ความเป็นส่วนตัวของกล้องเพื่ออนุญาตการเข้าถึง</translation>
 <translation id="8487678622945914333">ขยาย</translation>
+<translation id="8487699605742506766">ฮอตสปอต</translation>
 <translation id="8489156414266187072">คำแนะนำส่วนบุคคลจะแสดงเฉพาะในบัญชีของคุณเท่านั้น</translation>
 <translation id="8490896350101740396">แอปคีออสก์ต่อไปนี้ "<ph name="UPDATED_APPS" />" ได้รับการอัปเดตแล้ว โปรดรีบูตอุปกรณ์เพื่อดำเนินการอัปเดตให้เสร็จสมบูรณ์</translation>
 <translation id="8492685019009920170">ใช้นิ้วแตะเซ็นเซอร์ลายนิ้วมือ ข้อมูลจะจัดเก็บไว้อย่างปลอดภัยและอยู่ใน <ph name="DEVICE_TYPE" /> ของคุณเสมอ</translation>
@@ -8242,6 +8261,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{"<ph name="TAB_TITLE" />"}=1{"<ph name="TAB_TITLE" />" และแท็บอื่นอีก 1 แท็บ}other{"<ph name="TAB_TITLE" />" และแท็บอื่นอีก # แท็บ}}</translation>
 <translation id="8977811652087512276">รหัสผ่านไม่ถูกต้องหรือไฟล์เสียหาย</translation>
 <translation id="8978154919215542464">เปิด - ซิงค์ทุกอย่าง</translation>
+<translation id="8978670037548431647">รีเฟรชความสามารถในการเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ</translation>
 <translation id="897939795688207351">ใน <ph name="ORIGIN" /></translation>
 <translation id="8980345560318123814">รายงานความคิดเห็น</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - ขัดข้อง</translation>
@@ -8506,6 +8526,7 @@
 <translation id="935854577147268200">เปลี่ยนโทรศัพท์ที่เปิด Smart Lock แล้ว โปรดป้อนรหัสผ่านเพื่ออัปเดต Smart Lock โทรศัพท์จะปลดล็อก <ph name="DEVICE_TYPE" /> ของคุณในครั้งถัดไป คุณปิด Smart Lock ได้ในการตั้งค่า</translation>
 <translation id="936646668635477464">กล้องถ่ายรูปและไมโครโฟน</translation>
 <translation id="936801553271523408">ข้อมูลวินิจฉัยระบบ</translation>
+<translation id="937053962468712792">นำ <ph name="DEVICE" /> ออกจาก <ph name="PRIMARY_EMAIL" /> ใช่ไหม</translation>
 <translation id="93766956588638423">ซ่อมส่วนขยาย</translation>
 <translation id="938568644810664664">ลองถามว่า "Ok Google นี่เพลงอะไร" หรือ "Ok Google มีอะไรบนหน้าจอของฉัน"</translation>
 <translation id="938623846785894166">ไฟล์ที่ไม่แพร่หลาย</translation>
diff --git a/chrome/app/resources/generated_resources_tr.xtb b/chrome/app/resources/generated_resources_tr.xtb
index fe77377..960b818 100644
--- a/chrome/app/resources/generated_resources_tr.xtb
+++ b/chrome/app/resources/generated_resources_tr.xtb
@@ -3504,7 +3504,7 @@
 <translation id="431076611119798497">&amp;Ayrıntılar</translation>
 <translation id="4312701113286993760">{COUNT,plural, =1{1 Google Hesabı}other{<ph name="EXTRA_ACCOUNTS" /> Google Hesabı}}</translation>
 <translation id="4312866146174492540">Engelle (varsayılan)</translation>
-<translation id="4314497418046265427">Telefonunuzu <ph name="DEVICE_TYPE" /> cihazınıza bağladığınızda daha üretken olun</translation>
+<translation id="4314497418046265427">Telefonunuzu <ph name="DEVICE_TYPE" /> cihazınıza bağlayarak üretkenliğinizi artırın</translation>
 <translation id="4314815835985389558">Senkronizasyonu yönetin</translation>
 <translation id="4315933848520197627">Hesabın Bağlantısını Kaldırın</translation>
 <translation id="4316850752623536204">Geliştirici Web Sitesi</translation>
@@ -5674,7 +5674,7 @@
 <translation id="6466258437571594570">Sitelerin bildirim gönderme isteğinde bulunarak işinizi bölmesi engellenir</translation>
 <translation id="6466988389784393586">Tüm Yer İşaretlerini &amp;Aç</translation>
 <translation id="6467304607960172345">Tam ekran videoları optimize et</translation>
-<translation id="6467377768028664108">O zaman <ph name="DEVICE_TYPE" /> cihazınız:</translation>
+<translation id="6467377768028664108">Bağlantı kurduğunuzda <ph name="DEVICE_TYPE" /> cihazınızla şunları yapabilirsiniz:</translation>
 <translation id="6468485451923838994">Yazı tipleri</translation>
 <translation id="6468773105221177474"><ph name="FILE_COUNT" /> Dosya</translation>
 <translation id="6469557521904094793">Hücresel ağı aç</translation>
@@ -6432,7 +6432,6 @@
 <translation id="7212097698621322584">Değiştirmek için geçerli PIN'inizi girin. PIN'inizi bilmiyorsanız güvenlik anahtarınızı sıfırlayarak yeni bir PIN oluşturmanız gerekir.</translation>
 <translation id="7213903639823314449">Adres çubuğunda kullanılan arama motoru</translation>
 <translation id="721490496276866468">Şifreleri içe aktar</translation>
-<translation id="7216595297012131718">Dilleri tercihinize göre sıralayın</translation>
 <translation id="7219473482981809164">İndirilebilecek birden fazla profil bulduk. Devam etmeden önce indirmek istediklerinizi seçin.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Zayıf şifre yok}=1{1 zayıf şifre}other{{NUM_WEAK} zayıf şifre}}</translation>
 <translation id="7220019174139618249">Şifreler "<ph name="FOLDER" />" klasörüne aktarılamıyor</translation>
@@ -7295,7 +7294,7 @@
 <translation id="8037357227543935929">Sor (varsayılan)</translation>
 <translation id="803771048473350947">Dosya</translation>
 <translation id="8041089156583427627">Görüş bildirin</translation>
-<translation id="8041267120753677077">Telefonunuzun uygulamalarını akışla aktarın</translation>
+<translation id="8041267120753677077">Telefonunuzun uygulamalarını yayınlayın</translation>
 <translation id="8042142357103597104">Metin opaklığı</translation>
 <translation id="8042331986490021244">Şifreleriniz Google Şifre Yöneticisi'ne kaydedilmeden önce cihazınızda şifrelenir</translation>
 <translation id="8044262338717486897"><ph name="LINUX_APP_NAME" /> yanıt vermiyor</translation>
diff --git a/chrome/app/resources/generated_resources_uk.xtb b/chrome/app/resources/generated_resources_uk.xtb
index 47e6d2e0..beb4df9 100644
--- a/chrome/app/resources/generated_resources_uk.xtb
+++ b/chrome/app/resources/generated_resources_uk.xtb
@@ -1084,6 +1084,7 @@
 <translation id="1997616988432401742">Ваші сертифікати</translation>
 <translation id="1999115740519098545">Після запуску</translation>
 <translation id="2000419248597011803">Надсилає деякі файли cookie й пошукові запити з адресного рядка та вікна пошуку в пошукову систему за умовчанням</translation>
+<translation id="2001148512690747464">В обліковому записі <ph name="PRIMARY_EMAIL" /> не збережено жодного пристрою для швидкої пари</translation>
 <translation id="2002109485265116295">У реальному часі</translation>
 <translation id="2003130567827682533">Щоб активувати дані служби "<ph name="NAME" />", спершу під’єднайтеся до мережі Wi-Fi</translation>
 <translation id="2004697686368036666">Функції на деяких сайтах можуть не працювати</translation>
@@ -1348,6 +1349,7 @@
 <translation id="2241053333139545397">Читати та змінювати свої дані на декількох веб-сайтах</translation>
 <translation id="2241634353105152135">Лише цього разу</translation>
 <translation id="2242687258748107519">Інформація про файл</translation>
+<translation id="2245296100676446525">Увімкніть синхронізацію, щоб мати доступ до закладок, паролів, історії й решти даних на цьому та інших ваших пристроях.</translation>
 <translation id="2245603955208828424">Натискайте клавіші зі стрілками, щоб переміщати курсор веб-сторінкою по літерах</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> оновлюється автоматично у фоновому режимі, щоб надавати вам доступ до останніх функцій і покращень безпеки. Параметри оновлення можна переглянути в налаштуваннях.</translation>
 <translation id="2246549592927364792">Отримувати описи зображень від Google?</translation>
@@ -1792,6 +1794,7 @@
 <translation id="2642111877055905627">Футбольний м’яч</translation>
 <translation id="2643698698624765890">Керуйте своїми розширеннями, натиснувши вкладку "Розширення" в меню Window (Вікно).</translation>
 <translation id="2645047101481282803">Вашим пристроєм керує <ph name="PROFILE_NAME" /></translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{На цей пристрій імпортовано 1 пароль}one{На цей пристрій імпортовано {NUM_PASSWORDS} пароль}few{На цей пристрій імпортовано {NUM_PASSWORDS} паролі}many{На цей пристрій імпортовано {NUM_PASSWORDS} паролів}other{На цей пристрій імпортовано {NUM_PASSWORDS} пароля}}</translation>
 <translation id="2645435784669275700">ОС Chrome</translation>
 <translation id="2649045351178520408">ASCII Base64-кодування, ланцюжок сертифікатів</translation>
 <translation id="2652129567809778422">Вибрати пароль</translation>
@@ -2969,6 +2972,7 @@
 <translation id="3789841737615482174">Установити</translation>
 <translation id="3790417903123637354">Сталася помилка. Спробуйте пізніше</translation>
 <translation id="379082410132524484">Ваша картка недійсна</translation>
+<translation id="3792973596468118484">Розширень: <ph name="NUM_EXTENSIONS" /></translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Веб-переглядач Chrome не виявив шкідливого програмного забезпечення на вашому комп'ютері • Перевірено 1 день тому}one{Веб-переглядач Chrome не виявив шкідливого програмного забезпечення на вашому комп'ютері • Перевірено {NUM_DAYS} день тому}few{Веб-переглядач Chrome не виявив шкідливого програмного забезпечення на вашому комп'ютері • Перевірено {NUM_DAYS} дні тому}many{Веб-переглядач Chrome не виявив шкідливого програмного забезпечення на вашому комп'ютері • Перевірено {NUM_DAYS} днів тому}other{Веб-переглядач Chrome не виявив шкідливого програмного забезпечення на вашому комп'ютері • Перевірено {NUM_DAYS} дня тому}}</translation>
 <translation id="379500251094592809">Щоб скористатися функцією "Передавання поблизу", переконайтеся, що обидва пристрої розблоковані, розташовані поруч і на них увімкнено Bluetooth. Якщо ви хочете надіслати файли на комп'ютер Chromebook, якого немає у ваших контактах, відкрийте на ньому панель стану, натиснувши час, і ввімкніть "Видимість поблизу". <ph name="LINK_BEGIN" />Докладніше<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">Вимкнено</translation>
@@ -4756,6 +4760,7 @@
 <translation id="5542750926112347543">Файли cookie із сайту <ph name="DOMAIN" /> заблоковано</translation>
 <translation id="5542949973455282971">З'єднання з <ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">Перевірка статусу…</translation>
+<translation id="5544482392629385159">Пристрій <ph name="DEVICE_INDEX" /> з <ph name="DEVICE_COUNT" />, <ph name="DEVICE_NAME" /></translation>
 <translation id="554517701842997186">Засіб обробки відео</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{Додати вкладку в групу}one{Додати вкладки в групу}few{Додати вкладки в групу}many{Додати вкладки в групу}other{Додати вкладки в групу}}</translation>
 <translation id="5545693483061321551">Сайти не можуть використовувати файли cookie для перегляду ваших дій у веб-переглядачі, зокрема, щоб персоналізувати рекламу. Функції на деяких сайтах можуть не працювати.</translation>
@@ -5554,6 +5559,7 @@
 <translation id="6333170995003625229">Не вдалося підтвердити електронну адресу або пароль. Повторіть спробу.</translation>
 <translation id="6335920438823100346">Для запуску Linux адміністратор домену <ph name="MANAGER" /> вимагає, щоб ви створили резервні копії своїх даних і відновили заводські налаштування цього комп'ютера Chromebook.</translation>
 <translation id="6336038146639916978">Адміністратор домену <ph name="MANAGER" /> вимкнув налагодження ADB. Тому через 24 години <ph name="DEVICE_TYPE" /> скине всі налаштування. Створіть резервні копії потрібних вам файлів.</translation>
+<translation id="6338402296920404442">Радимо видалити файл "<ph name="FILENAME" />", щоб інші користувачі цього пристрою не бачили ваші паролі.</translation>
 <translation id="6338981933082930623">Усі сайти можуть показувати рекламу</translation>
 <translation id="6339668969738228384">Створити новий профіль для облікового запису <ph name="USER_EMAIL_ADDRESS" /></translation>
 <translation id="6340071272923955280">Протокол друку через Інтернет (IPPS)</translation>
@@ -6449,7 +6455,6 @@
 <translation id="7212097698621322584">Введіть поточний PIN-код, щоб змінити його. Якщо ви не знаєте його, необхідно скинути ключ безпеки, а тоді створити новий PIN-код.</translation>
 <translation id="7213903639823314449">Пошукова система, яка використовується в адресному рядку</translation>
 <translation id="721490496276866468">Імпортувати паролі</translation>
-<translation id="7216595297012131718">Розмістіть мови в бажаному порядку</translation>
 <translation id="7219473482981809164">Ми виявили кілька профілів, які можна завантажити. Перш ніж продовжити, виберіть потрібний.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Немає ненадійних паролів}=1{1 ненадійний пароль}one{{NUM_WEAK} ненадійний пароль}few{{NUM_WEAK} ненадійні паролі}many{{NUM_WEAK} ненадійних паролів}other{{NUM_WEAK} ненадійного пароля}}</translation>
 <translation id="7220019174139618249">Не вдається експортувати паролі в папку "<ph name="FOLDER" />"</translation>
@@ -7633,6 +7638,7 @@
 <translation id="8338952601723052325">Веб-сайт розробника</translation>
 <translation id="8339059274628563283">Локально збережені дані сайту <ph name="SITE" /></translation>
 <translation id="833986336429795709">Виберіть додаток, щоб відкрити посилання</translation>
+<translation id="8340547030807793004">Інші дії для пристрою "<ph name="DEVICE" />"</translation>
 <translation id="8342221978608739536">Не доводилося перевіряти</translation>
 <translation id="8342861492835240085">Виберіть колекцію</translation>
 <translation id="8345848587667658367">Тепер ви можете переглядати нещодавні фотографії, медіафайли, сповіщення й додатки з телефона</translation>
diff --git a/chrome/app/resources/generated_resources_ur.xtb b/chrome/app/resources/generated_resources_ur.xtb
index 5ca8fab..5b8fb0c 100644
--- a/chrome/app/resources/generated_resources_ur.xtb
+++ b/chrome/app/resources/generated_resources_ur.xtb
@@ -895,6 +895,7 @@
 <translation id="1829129547161959350">پینگوئن</translation>
 <translation id="1829192082282182671">زوم &amp;آؤٹ کریں</translation>
 <translation id="1830550083491357902">سائن ان نہیں</translation>
+<translation id="1831848493690504725">‏ہم منسلک نیٹ ورک کے ذریعے Google تک نہیں پہنچ سکتے۔ کسی مختلف نیٹ ورک کا انتخاب کرنے یا اپنے نیٹ ورک کی ترتیبات یا پراکسی ترتیبات (اگر آپ پراکسی استعمال کر رہے ہیں) کو چیک کرنے کی کوشش کریں۔</translation>
 <translation id="1832459821645506983">ہاں، میں تیار ہوں</translation>
 <translation id="1832511806131704864">فون کی تبدیلی کو اپ ڈیٹ کر دیا گیا</translation>
 <translation id="1832848789136765277">یقینی بنانے کیلئے کہ آپ اپنے مطابقت پذیر ڈیٹا تک ہمیشہ رسائی حاصل کر سکتے ہیں، توثیق کریں کہ یہ آپ ہیں</translation>
@@ -2195,6 +2196,7 @@
 <translation id="3021065318976393105">بیٹری کا استعمال کرتے وقت</translation>
 <translation id="3021066826692793094">تتلی</translation>
 <translation id="3021678814754966447">فریم ماخذ &amp;دیکھیں</translation>
+<translation id="3022361196600037287">‏<ph name="DEVICE" /> کو اس Chromebook سے ہٹا دیا جائے گا اور <ph name="PRIMARY_EMAIL" /> میں محفوظ نہیں کیا جائے گا۔</translation>
 <translation id="3022978424994383087">سمجھ نہیں آئی۔</translation>
 <translation id="3023464535986383522">سننے کیلئے منتخب کریں</translation>
 <translation id="3024374909719388945">24 گھنٹے کی گھڑی استعمال کریں</translation>
@@ -3733,6 +3735,7 @@
 <translation id="4535127706710932914">ڈیفالٹ پروفائل</translation>
 <translation id="4535767533210902251">فنگر پرنٹ سینسر آپ کے کی بورڈ پر سب سے اوپر دائیں ہاتھ کی کلید ہے۔ اسے کسی بھی انگلی سے ہلکے سے ٹچ کریں۔</translation>
 <translation id="4536140153723794651">وہ سائٹس جو ہمیشہ کوکیز کا استعمال کر سکتی ہیں</translation>
+<translation id="4536769240747010177">ٹیدرنگ کی صلاحیتیں:</translation>
 <translation id="4538417792467843292">لفظ حذف کریں</translation>
 <translation id="4538792345715658285">انٹرپرائز پالیسی کے ذریعے انسٹال کیا گیا۔</translation>
 <translation id="4541123282641193691">‏آپ کے اکاؤنٹ کی تصدیق نہیں ہو سکی۔ براہ کرم دوبارہ کوشش کریں یا اپنا Chromebook ری سٹارٹ کریں۔</translation>
@@ -3760,6 +3763,7 @@
 <translation id="4561893854334016293">حال میں کسی اجازت کو تبدیل نہیں کیا گیا</translation>
 <translation id="4562155214028662640">فنگر پرنٹ شامل کریں</translation>
 <translation id="4563210852471260509">ان پٹ کی ابتدائی زبان چینی ہے</translation>
+<translation id="4563382028841851106">اکاؤنٹ سے ہٹائیں</translation>
 <translation id="4563880231729913339">انگلی 3</translation>
 <translation id="4564245002465020751">اپنے فون پر ترتیب مکمل کریں</translation>
 <translation id="4565377596337484307">پاس ورڈ چھپائیں</translation>
@@ -4736,6 +4740,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" /> چاہتی ہے کہ</translation>
 <translation id="5534304873398226603">تصویر یا ویڈیو مسترد کریں</translation>
 <translation id="5537725057119320332">کاسٹ کریں</translation>
+<translation id="5539070192556911367">‏Google تک رسائی نہیں ہو سکتی</translation>
 <translation id="5539221284352502426">آپ کا درج کردہ پاس ورڈ سرور کی طرف سے مسترد کر دیا گیا۔ ممکنہ وجوہات میں شامل ہیں: پاس ورڈ کافی چھوٹا ہے۔ پاس ورڈ میں نمبرز یا علامتوں کا شامل ہونا ضروری ہے۔ پاس ورڈ کا پرانے پاس ورڈز سے مختلف ہونا ضروری ہے۔</translation>
 <translation id="5541694225089836610">آپ کے منتظم نے کارروائی کو غیر فعال کر دیا ہے</translation>
 <translation id="5542132724887566711">پروفائل</translation>
@@ -4799,6 +4804,7 @@
 <translation id="5585912436068747822">فارمیٹنگ ناکام ہو گئی</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">ایپس لوڈ ہو رہی ہیں…</translation>
+<translation id="5590418976913374224">آلے کے اسٹارٹ اپ پر آواز چلائیں</translation>
 <translation id="5592595402373377407">ابھی تک کافی ڈیٹا دستیاب نہیں ہے۔</translation>
 <translation id="5595307023264033512">سائٹس کے ذریعے استعمال کردہ کل اسٹوریج: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">پتے میں ترمیم کریں</translation>
@@ -6176,6 +6182,10 @@
 <translation id="6943939122536910181"><ph name="DEVICE" /> سے غیر منسلک ہو گيا</translation>
 <translation id="6945221475159498467">منتخب کریں</translation>
 <translation id="694592694773692225">اس صفحے پر ری ڈائریکٹ مسدود ہے۔</translation>
+<translation id="6947015141909171112">‏آپ تراکیب کیلئے اپنی حالیہ تلاش کی سرگرمی کی بنیاد پر تراکیب کو دیکھ رہے ہیں۔
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        آپ کارڈ مینو سے ترتیبات کا نظم کر سکتے یا حسب ضرورت Chrome میں مزید اختیارات دیکھ سکتے ہیں۔</translation>
 <translation id="6949434160682548041">پاس ورڈ (اختیاری)</translation>
 <translation id="6950627417367801484">ایپس بحال کریں</translation>
 <translation id="6952242901357037157">‏آپ اپنے <ph name="BEGIN_LINK" />Google اکاؤنٹ<ph name="END_LINK" /> سے یہاں پاس ورڈز کو بھی دکھا سکتے ہیں</translation>
@@ -6343,6 +6353,7 @@
 <translation id="7102687220333134671">خود کار اپ ڈیٹس آن ہیں</translation>
 <translation id="7102832101143475489">درخواست کا وقت ختم ہو گیا</translation>
 <translation id="710640343305609397">نیٹ ورک کی ترتیبات کھولیں</translation>
+<translation id="7107609441453408294">سبھی اسپیکرز سے ایک ہی آڈیو چلائیں</translation>
 <translation id="7108338896283013870">چھپائیں</translation>
 <translation id="7108668606237948702">انٹر</translation>
 <translation id="7108933416628942903">ابھی مقفل کریں</translation>
@@ -6434,7 +6445,6 @@
 <translation id="7212097698621322584">‏PIN تبدیل کرنے کیلئے، اپنا موجودہ PIN درج کریں۔ اگر آپ کو اپنا PIN نہیں معلوم ہے تو آپ کو پہلے اپنی سیکیورٹی کلید دوبارہ ترتیب دینی ہوگی اور پھر ایک نیا PIN تخلیق کرنا ہوگا۔</translation>
 <translation id="7213903639823314449">پتہ بار میں سرچ انجن کا استعمال کیا جاتا ہے</translation>
 <translation id="721490496276866468">پاس ورڈز درآمد کریں</translation>
-<translation id="7216595297012131718">اپنی ترجیح کی بنیاد پر زبانوں کو ترتیب دیں</translation>
 <translation id="7219473482981809164">ہمیں ڈاؤن لوڈ کے لیے متعدد دستیاب پروفائلز ملی ہیں۔ آگے بڑھنے سے پہلے اس ایک کو منتخب کریں جسے آپ ڈاؤن لوڈ کرنا چاہتے ہیں۔</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{کوئی کمزور پاس ورڈ نہیں}=1{1 کمزور پاس ورڈ}other{{NUM_WEAK} کمزور پاس ورڈز}}</translation>
 <translation id="7220019174139618249">پاس ورڈ کو "<ph name="FOLDER" />" پر برآمد نہیں کر سکتے</translation>
@@ -6574,6 +6584,7 @@
 <translation id="7364745943115323529">کاسٹ کریں…</translation>
 <translation id="7364796246159120393">فائل کا انتخاب کریں</translation>
 <translation id="7365076891350562061">مانیٹر کا سائز</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - پن کردہ</translation>
 <translation id="7366316827772164604">قریبی آلات کو اسکین کیا جا رہا ہے…</translation>
 <translation id="7366415735885268578">ایک سائٹ شامل کریں</translation>
 <translation id="7366909168761621528">براؤزنگ ڈیٹا</translation>
@@ -6970,6 +6981,7 @@
 <translation id="7737115349420013392">"<ph name="DEVICE_NAME" />" کے ساتھ جوڑا بنایا جا رہا ہے ...</translation>
 <translation id="7737846262459425222">‏آپ اسے کسی بھی وقت ترتیبات &gt; Google اسسٹنٹ &gt; اسکرین کے سیاق و سباق میں تبدیل کر سکتے ہیں۔</translation>
 <translation id="7737948071472253612">آپ کا کیمرا استعمال کرنے کی اجازت نہیں ہے</translation>
+<translation id="77381465218432215">ایکسینٹ مارکس اور مخصوص حروف دکھائیں</translation>
 <translation id="7740996059027112821">معیاری</translation>
 <translation id="7741307896921365578">اپنی پڑھنے کی فہرست اور بُک مارکس تک رسائی کے مفید اور مستحکم طریقے کے لیے، براؤزر کی سطح کے سائیڈ پینل کو آن کریں۔</translation>
 <translation id="7742558784808143689"><ph name="SITE_NAME" /> اور اس کے ماتحت سبھی سائٹس، اور انسٹال کردہ ایپس کے لیے سائٹ کا ڈیٹا اور اجازتیں صاف کریں؟</translation>
@@ -7758,6 +7770,7 @@
 <translation id="8486666913807228950">وجہ: "اسے زبردستی کھولیں" کی فہرست میں معکوس اصول <ph name="REVERT_RULE" /> پایا گیا۔</translation>
 <translation id="848666842773560761">ایک ایپ کیمرے تک رسائی حاصل کرنے کی کوشش کر رہی ہے۔ رسائی کی اجازت دینے کیلئے کیمرا کی رازداری کا سوئچ آف کریں۔</translation>
 <translation id="8487678622945914333">زوم ان</translation>
+<translation id="8487699605742506766">ہاٹ اسپاٹ</translation>
 <translation id="8489156414266187072">ذاتی تجاویز صرف آپ کے اکاؤنٹ پر دکھائی جاتی ہیں</translation>
 <translation id="8490896350101740396">مندرجہ ذیل کیوسک ایپس "<ph name="UPDATED_APPS" />" کو اپ ڈیٹ کر دیا گیا ہے۔ اپ ڈیٹ کی کارروائی کو مکمل کرنے کیلئے براہ کرم آلہ کو ریبوٹ کریں۔</translation>
 <translation id="8492685019009920170">اپنی انگلی سے فنگر پرنٹ سینسر کو ٹچ کریں۔ آپ کے ڈیٹا کو محفوظ طریقے سے اسٹور کیا جاتا ہے اور یہ کبھی بھی آپ کے <ph name="DEVICE_TYPE" /> سے باہر نہیں جاتا۔</translation>
@@ -8251,6 +8264,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{"<ph name="TAB_TITLE" />"}=1{"<ph name="TAB_TITLE" />" اور 1 دوسرا ٹیب}other{"<ph name="TAB_TITLE" />" اور # دیگر ٹیبز}}</translation>
 <translation id="8977811652087512276">غلط پاس ورڈ یا خراب فائل</translation>
 <translation id="8978154919215542464">آن - ہر چیز کی مطابقت پذیری کریں</translation>
+<translation id="8978670037548431647">ٹیدرنگ کی صلاحیتیں ریفریش کریں</translation>
 <translation id="897939795688207351"><ph name="ORIGIN" /> پر</translation>
 <translation id="8980345560318123814">تاثرات کی رپورٹس</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> - کریش ہو گیا</translation>
@@ -8515,6 +8529,7 @@
 <translation id="935854577147268200">‏Smart Lock کا فون تبدیل ہو گيا ہے۔ Smart Lock اپ ڈیٹ کرنے کے لیے اپنا پاس ورڈ درج کریں۔ اگلی بار آپ کے فون سے آپ کا <ph name="DEVICE_TYPE" /> غیر مقفل ہوگا۔ آپ ترتیبات میں Smart Lock کو آف کر سکتے ہیں</translation>
 <translation id="936646668635477464">کیمرا اور مائیکروفون</translation>
 <translation id="936801553271523408">سسٹم ڈائیگناسٹک ڈیٹا</translation>
+<translation id="937053962468712792"><ph name="PRIMARY_EMAIL" /> سے <ph name="DEVICE" /> ہٹائیں؟</translation>
 <translation id="93766956588638423">ایکسٹینشن کو درست کریں</translation>
 <translation id="938568644810664664">‏"Ok Google یہ کون سا گانا ہے؟" یا "Ok Google میری اسکرین پر کیا ہے؟"</translation>
 <translation id="938623846785894166">خلاف معمول فائل</translation>
diff --git a/chrome/app/resources/generated_resources_uz.xtb b/chrome/app/resources/generated_resources_uz.xtb
index 53c1b7d..45fa31ca 100644
--- a/chrome/app/resources/generated_resources_uz.xtb
+++ b/chrome/app/resources/generated_resources_uz.xtb
@@ -2195,6 +2195,7 @@
 <translation id="3021065318976393105">Batareya quvvatida ishlayotganda</translation>
 <translation id="3021066826692793094">Kapalak</translation>
 <translation id="3021678814754966447">Freym kodini ko‘rish</translation>
+<translation id="3022361196600037287"><ph name="DEVICE" /> qurilmasi bu Chromebookdan olib tashlanadi va <ph name="PRIMARY_EMAIL" /> hisobiga saqlanmaydi.</translation>
 <translation id="3022978424994383087">Yana bir marta qaytaring</translation>
 <translation id="3023464535986383522">Teginib tinglash</translation>
 <translation id="3024374909719388945">24 soatli vaqt formatidan foydalanish</translation>
@@ -3734,6 +3735,7 @@
 <translation id="4535127706710932914">Birlamchi profil</translation>
 <translation id="4535767533210902251">Barmoq izi sensori klaviaturaning tepa oʻng burchagidagi tugma. Istalgan barmoq bilan unga asta tegining.</translation>
 <translation id="4536140153723794651">Har doim cookie fayllarini ishlata oladigan saytlar</translation>
+<translation id="4536769240747010177">Modem rejimi imkoniyati:</translation>
 <translation id="4538417792467843292">So‘zni o‘chirish</translation>
 <translation id="4538792345715658285">Korporativ siyosatga ko‘ra o‘rnatilgan.</translation>
 <translation id="4541123282641193691">Hisobingizni tekshirib bo‘lmadi. Qayta urinib ko‘ring yoki Chromebook qurilmangizni o‘chirib yoqing.</translation>
@@ -3761,6 +3763,7 @@
 <translation id="4561893854334016293">Yaqin orada ruxsatlar oʻzgarmagan</translation>
 <translation id="4562155214028662640">Barmoq izi qo‘shish</translation>
 <translation id="4563210852471260509">Boshlang‘ich matn kiritish tili xitoycha</translation>
+<translation id="4563382028841851106">Hisobdan olib tashlash</translation>
 <translation id="4563880231729913339">3-barmoq</translation>
 <translation id="4564245002465020751">Telefoningizni sozlashni tamomlang</translation>
 <translation id="4565377596337484307">Parolni berkitish</translation>
@@ -6178,6 +6181,10 @@
 <translation id="6943939122536910181"><ph name="DEVICE" /> qurilmasidan uzildi</translation>
 <translation id="6945221475159498467">Tanlash</translation>
 <translation id="694592694773692225">Bu sahifada yo‘naltirish bloklandi.</translation>
+<translation id="6947015141909171112">Retseptlar oxirgi qidiruv tarixi asosida chiqyapti.
+        <ph name="BREAK" />
+        <ph name="BREAK" />
+        Sozlamalarni kartochka menyusidan boshqarishingiz yoki boshqa sozlamalarnini “Chromeni moslash” orqali koʻrishingiz mumkin.</translation>
 <translation id="6949434160682548041">Parol (ixtiyoriy)</translation>
 <translation id="6950627417367801484">Ilovalarni tiklash</translation>
 <translation id="6952242901357037157">Shuningdek, bu yerda <ph name="BEGIN_LINK" />Google hisobingizdagi<ph name="END_LINK" /> parollarni chiqarish mumkin</translation>
@@ -6436,7 +6443,6 @@
 <translation id="7212097698621322584">PIN kodni oʻzgartirish uchun joriy kodni kiriting. PIN kodni bilmasangiz, avval elektron kalit sozlamalarini qayta tiklab, keyingina yangi PIN belgilash mumkin.</translation>
 <translation id="7213903639823314449">Qidiruv tizimi manzillar qatorida ishlatiladi</translation>
 <translation id="721490496276866468">Parollarni import qilish</translation>
-<translation id="7216595297012131718">Tillar tartibi parametrlaringizga asoslangan</translation>
 <translation id="7219473482981809164">Yuklab olish mumkin bir necha profil topildi. Yuklab olish uchun ulardan birini tanlang.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Hech qaysi parolingiz kuchsiz emas}=1{1 ta kuchsiz parol aniqlandi}other{{NUM_WEAK} ta kuchsiz parol aniqlandi}}</translation>
 <translation id="7220019174139618249">Parollar “<ph name="FOLDER" />” jildiga eksport qilinmadi</translation>
@@ -6972,6 +6978,7 @@
 <translation id="7737115349420013392">“<ph name="DEVICE_NAME" />” bilan ulanmoqda...</translation>
 <translation id="7737846262459425222">Buni istalgan vaqt Sozlamalar &gt; Google Assistent &gt; Ekran konteksti orqali oʻzgartirish mumkin.</translation>
 <translation id="7737948071472253612">Kamerangizdan foydalanish taqiqlangan</translation>
+<translation id="77381465218432215">Urgʻu va maxsus belgilarni chiqarish</translation>
 <translation id="7740996059027112821">Standart</translation>
 <translation id="7741307896921365578">Mutolaa roʻyxati va bukmarklarni qulay ochish uchun brauzer darajasidagi yon panelni yoqadi.</translation>
 <translation id="7742558784808143689"><ph name="SITE_NAME" /> saytlari, ruxsatlari, unga kiruvchi saytlar va oʻrnatilgan ilovalar tozalansinmi?</translation>
@@ -7760,6 +7767,7 @@
 <translation id="8486666913807228950">Sababi: “Majburiy ochish” roʻyxatida <ph name="REVERT_RULE" /> teskari qoida topildi.</translation>
 <translation id="848666842773560761">Ilova kameradan foydalanmoqchi. Ruxsat berish uchun kamera maxfiylik qoidasini faolsizlantiring.</translation>
 <translation id="8487678622945914333">Yaqinlashtirish</translation>
+<translation id="8487699605742506766">Hotspot</translation>
 <translation id="8489156414266187072">Shaxsiy takliflar faqat sizning hisobda chiqadi</translation>
 <translation id="8490896350101740396">Quyidagi kiosk ilovalar "<ph name="UPDATED_APPS" />" yangilandi. Yangilash jarayonini tugallash uchun qurilmani qayta yuklang.</translation>
 <translation id="8492685019009920170">Barmoq izi skaneriga barmoqni tekizing. Maʼlumotlaringiz himoya ostida va faqat <ph name="DEVICE_TYPE" /> qurilmangizda saqlanadi.</translation>
@@ -8253,6 +8261,7 @@
 <translation id="8975562453115131273">{NUM_OTHER_TABS,plural, =0{“<ph name="TAB_TITLE" />”}=1{“<ph name="TAB_TITLE" />” va yana 1 ta varaq}other{“<ph name="TAB_TITLE" />” va yana # ta varaq}}</translation>
 <translation id="8977811652087512276">Parol xato yoki fayl shikastlangan</translation>
 <translation id="8978154919215542464">Yoniq (hamma narsani sinxronlash)</translation>
+<translation id="8978670037548431647">Modem rejimi imkoniyatlarini yangilash</translation>
 <translation id="897939795688207351"><ph name="ORIGIN" /> saytida</translation>
 <translation id="8980345560318123814">Fikr va mulohaza hisobotlari</translation>
 <translation id="8980951173413349704"><ph name="WINDOW_TITLE" /> – ishdan chiqdi</translation>
@@ -8517,6 +8526,7 @@
 <translation id="935854577147268200">Smart Lock funksiyasi yoqilgan telefon oʻzgardi. Smart Lock funksiyasini yangilash uchun parolni kiriting. Keyingi safar telefoningiz <ph name="DEVICE_TYPE" /> qurilmasini qulfdan chiqara oladi. Sozlamalar orqali Smart Lock funksiyasini faolsizlantirish mumkin.</translation>
 <translation id="936646668635477464">Kamera va mikrofon</translation>
 <translation id="936801553271523408">Tizim diagnostik ma’lumotlari</translation>
+<translation id="937053962468712792"><ph name="DEVICE" /> qurilmasi <ph name="PRIMARY_EMAIL" /> hisobidan olib tashlansinmi?</translation>
 <translation id="93766956588638423">Kengaytmani ta’mirlash</translation>
 <translation id="938568644810664664">“Ok Google, bu qaysi tarona?” yoki “Ok Google, ekranimda nima bor?” deb soʻrashingiz mumkin</translation>
 <translation id="938623846785894166">Shubhali fayl</translation>
diff --git a/chrome/app/resources/generated_resources_vi.xtb b/chrome/app/resources/generated_resources_vi.xtb
index 94348f4..f0e20e0aa 100644
--- a/chrome/app/resources/generated_resources_vi.xtb
+++ b/chrome/app/resources/generated_resources_vi.xtb
@@ -6449,7 +6449,6 @@
 <translation id="7212097698621322584">Nhập mã PIN hiện tại của bạn để thay đổi. Nếu không nhớ mã PIN, thì bạn cần đặt lại khóa bảo mật rồi tạo mã PIN mới.</translation>
 <translation id="7213903639823314449">Công cụ tìm kiếm được dùng trong thanh địa chỉ</translation>
 <translation id="721490496276866468">Nhập mật khẩu</translation>
-<translation id="7216595297012131718">Sắp xếp ngôn ngữ dựa trên lựa chọn ưu tiên của bạn</translation>
 <translation id="7219473482981809164">Chúng tôi phát hiện có nhiều hồ sơ cho bạn tải xuống. Hãy chọn những hồ sơ mà bạn muốn tải xuống trước khi tiếp tục.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Không có mật khẩu yếu}=1{1 mật khẩu yếu}other{{NUM_WEAK} mật khẩu yếu}}</translation>
 <translation id="7220019174139618249">Không thể xuất mật khẩu sang "<ph name="FOLDER" />"</translation>
diff --git a/chrome/app/resources/generated_resources_zh-CN.xtb b/chrome/app/resources/generated_resources_zh-CN.xtb
index c1efd9ef..29e4773 100644
--- a/chrome/app/resources/generated_resources_zh-CN.xtb
+++ b/chrome/app/resources/generated_resources_zh-CN.xtb
@@ -1062,6 +1062,7 @@
 <translation id="1997616988432401742">您的证书</translation>
 <translation id="1999115740519098545">启动时</translation>
 <translation id="2000419248597011803">将一些 Cookie 以及地址栏和搜索框中的搜索字词发送给您的默认搜索引擎</translation>
+<translation id="2001148512690747464">没有任何已保存到 <ph name="PRIMARY_EMAIL" /> 的快速配对设备</translation>
 <translation id="2002109485265116295">实时</translation>
 <translation id="2003130567827682533">若想激活“<ph name="NAME" />”的数据流量服务,请先连接到 Wi-Fi 网络</translation>
 <translation id="2004697686368036666">某些网站上的功能可能无法正常运行</translation>
@@ -1326,6 +1327,7 @@
 <translation id="2241053333139545397">读取和更改您在一些网站上的数据</translation>
 <translation id="2241634353105152135">仅一次</translation>
 <translation id="2242687258748107519">文件信息</translation>
+<translation id="2245296100676446525">开启同步功能后,您便可在此设备上以及任何其他保持同步的位置获取您的书签、密码、历史记录等信息。</translation>
 <translation id="2245603955208828424">使用箭头键可在各项内容之间逐字母移动</translation>
 <translation id="2246129643805925002">您的 <ph name="DEVICE_TYPE" /> 会自动在后台更新,以便为您提供最新的功能和安全性方面的改进。您可在“设置”中查看更新偏好设置。</translation>
 <translation id="2246549592927364792">要从 Google 获取图片说明吗?</translation>
@@ -1766,6 +1768,7 @@
 <translation id="2642111877055905627">足球</translation>
 <translation id="2643698698624765890">您可以通过点击“窗口”菜单中的“扩展程序”,管理您的扩展程序。</translation>
 <translation id="2645047101481282803">您的设备由 <ph name="PROFILE_NAME" /> 管理</translation>
+<translation id="2645270499129074468">{NUM_PASSWORDS,plural, =1{已将 1 个密码导入此设备}other{已将 {NUM_PASSWORDS} 个密码导入此设备}}</translation>
 <translation id="2645435784669275700">Chrome 操作系统</translation>
 <translation id="2649045351178520408">Base64 编码 ASCII,证书链</translation>
 <translation id="2652129567809778422">选择密码</translation>
@@ -2943,6 +2946,7 @@
 <translation id="3789841737615482174">安装</translation>
 <translation id="3790417903123637354">出了点问题。请稍后重试</translation>
 <translation id="379082410132524484">您的卡已过期</translation>
+<translation id="3792973596468118484"><ph name="NUM_EXTENSIONS" /> 个扩展程序</translation>
 <translation id="3793588272211751505">{NUM_DAYS,plural, =1{Chrome 在您的计算机上未发现有害软件 • 1 天前检查过}other{Chrome 在您的计算机上未发现有害软件 • {NUM_DAYS} 天前检查过}}</translation>
 <translation id="379500251094592809">若要使用“附近分享”功能,请确保两部设备均已解锁、相距很近且均已开启蓝牙。如果您的分享对象是一部不在您通讯录中的 Chromebook,请确保已为它开启“附近分享”的高可见度模式(先选择时间,打开状态区,然后开启“附近分享”的高可见度模式)。<ph name="LINK_BEGIN" />了解详情<ph name="LINK_END" /></translation>
 <translation id="379509625511193653">已关闭</translation>
@@ -4726,6 +4730,7 @@
 <translation id="5542750926112347543">已拦截来自 <ph name="DOMAIN" /> 的 Cookie</translation>
 <translation id="5542949973455282971">正在连接到<ph name="CARRIER_NAME" /></translation>
 <translation id="5543983818738093899">正在检查状态…</translation>
+<translation id="5544482392629385159">第 <ph name="DEVICE_INDEX" /> 部设备(共 <ph name="DEVICE_COUNT" /> 部),设备名称为“<ph name="DEVICE_NAME" />”</translation>
 <translation id="554517701842997186">渲染程序</translation>
 <translation id="5545335608717746497">{NUM_TABS,plural, =1{向群组中添加标签页}other{向群组中添加标签页}}</translation>
 <translation id="5545693483061321551">网站无法使用 Cookie 查看您在各个不同网站上的浏览活动,因而无法实现某些功能或目的(例如为您展示个性化广告)。某些网站上的功能可能无法正常运行。</translation>
@@ -5524,6 +5529,7 @@
 <translation id="6333170995003625229">无法验证您的电子邮件地址或密码。请尝试重新登录。</translation>
 <translation id="6335920438823100346">根据 <ph name="MANAGER" /> 的要求,您必须先备份自己的数据并将此 Chromebook 恢复出厂设置,然后才能启动 Linux。</translation>
 <translation id="6336038146639916978"><ph name="MANAGER" /> 已停用 ADB 调试。这会导致您的 <ph name="DEVICE_TYPE" /> 在 24 小时后重置。请备份您想保留的所有文件。</translation>
+<translation id="6338402296920404442">不妨考虑删除“<ph name="FILENAME" />”,让使用此设备的他人看不到您的密码。</translation>
 <translation id="6338981933082930623">所有网站都可以向您显示任何广告</translation>
 <translation id="6339668969738228384">为 <ph name="USER_EMAIL_ADDRESS" /> 创建新的个人资料</translation>
 <translation id="6340071272923955280">互联网打印协议 (IPPS)</translation>
@@ -6413,7 +6419,6 @@
 <translation id="7212097698621322584">请输入您的当前 PIN 码以更改它。如果您不知道 PIN 码,则需要重置安全密钥,然后创建新 PIN 码。</translation>
 <translation id="7213903639823314449">地址栏中使用的搜索引擎</translation>
 <translation id="721490496276866468">导入密码</translation>
-<translation id="7216595297012131718">根据您的偏好设置对语言进行排序</translation>
 <translation id="7219473482981809164">我们找到了多份可供下载的个人资料。请先选择您想下载的个人资料,然后继续操作。</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{没有任何安全系数低的密码}=1{有 1 个安全系数低的密码}other{有 {NUM_WEAK} 个安全系数低的密码}}</translation>
 <translation id="7220019174139618249">无法将密码导出到“<ph name="FOLDER" />”</translation>
@@ -7596,6 +7601,7 @@
 <translation id="8338952601723052325">开发者网站</translation>
 <translation id="8339059274628563283"><ph name="SITE" /> 本地存储的数据</translation>
 <translation id="833986336429795709">要打开此链接,请选择一个应用</translation>
+<translation id="8340547030807793004">显示可对“<ph name="DEVICE" />”执行的更多操作</translation>
 <translation id="8342221978608739536">没试过</translation>
 <translation id="8342861492835240085">选择一个集合</translation>
 <translation id="8345848587667658367">您现在可以查看手机中近期的照片、媒体、通知和应用</translation>
diff --git a/chrome/app/resources/generated_resources_zh-HK.xtb b/chrome/app/resources/generated_resources_zh-HK.xtb
index 8b489cb..cdfd122 100644
--- a/chrome/app/resources/generated_resources_zh-HK.xtb
+++ b/chrome/app/resources/generated_resources_zh-HK.xtb
@@ -1347,7 +1347,7 @@
 <translation id="2241053333139545397">讀取及變更您在多個網站上的資料</translation>
 <translation id="2241634353105152135">只有這一次</translation>
 <translation id="2242687258748107519">檔案資料</translation>
-<translation id="2245296100676446525">開啟同步功能後,你就可以在這部裝置及任何其他保持同步的位置上取得你的書籤、密碼、歷史記錄等等。</translation>
+<translation id="2245296100676446525">開啟同步功能後,您便可在此裝置及任何其他保持同步的位置上取得書籤、密碼、記錄等等。</translation>
 <translation id="2245603955208828424">使用方向鍵即可在各項目中逐個字母移動</translation>
 <translation id="2246129643805925002"><ph name="DEVICE_TYPE" /> 會在背景中自動更新,為您提供最新功能並改善安全性。您可在「設定」中查看更新偏好設定。</translation>
 <translation id="2246549592927364792">要從 Google 取得圖片說明嗎?</translation>
@@ -6451,7 +6451,6 @@
 <translation id="7212097698621322584">請輸入目前的 PIN 以進行變更。如果您不知道自己的 PIN,請重設安全密鑰,然後建立新的 PIN。</translation>
 <translation id="7213903639823314449">網址列中使用的搜尋引擎</translation>
 <translation id="721490496276866468">匯入密碼</translation>
-<translation id="7216595297012131718">根據您的偏好為語言排序</translation>
 <translation id="7219473482981809164">我們發現多個設定檔可供下載。請先選取�要下載的設定檔再繼續。</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{沒有安全性弱的密碼}=1{1 個安全性弱的密碼}other{{NUM_WEAK} 個安全性弱的密碼}}</translation>
 <translation id="7220019174139618249">無法將密碼匯出至「<ph name="FOLDER" />」</translation>
diff --git a/chrome/app/resources/generated_resources_zh-TW.xtb b/chrome/app/resources/generated_resources_zh-TW.xtb
index b95485be..95452f3 100644
--- a/chrome/app/resources/generated_resources_zh-TW.xtb
+++ b/chrome/app/resources/generated_resources_zh-TW.xtb
@@ -895,6 +895,7 @@
 <translation id="1829129547161959350">企鵝</translation>
 <translation id="1829192082282182671">縮小(&amp;O)</translation>
 <translation id="1830550083491357902">未登入</translation>
+<translation id="1831848493690504725">系統無法透過已連線的網路連上 Google,建議你選擇其他網路,或是檢查網路設定或 Proxy 設定 (如果使用 Proxy 的話)。</translation>
 <translation id="1832459821645506983">是,我同意</translation>
 <translation id="1832511806131704864">手機變更已更新</translation>
 <translation id="1832848789136765277">為確保你可以隨時存取同步處理的資料,請驗證你的身分</translation>
@@ -4734,6 +4735,7 @@
 <translation id="5533001281916885985"><ph name="SITE_NAME" />要求下列權限:</translation>
 <translation id="5534304873398226603">捨棄相片或影片</translation>
 <translation id="5537725057119320332">投放</translation>
+<translation id="5539070192556911367">無法連上 Google</translation>
 <translation id="5539221284352502426">輸入的密碼遭到伺服器拒絕。可能的原因包括:密碼長度不足、密碼必須包含數字或符號、新舊密碼必須有所不同。</translation>
 <translation id="5541694225089836610">你的管理員停用了這個動作</translation>
 <translation id="5542132724887566711">設定檔</translation>
@@ -4797,6 +4799,7 @@
 <translation id="5585912436068747822">無法格式化</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">正在載入應用程式...</translation>
+<translation id="5590418976913374224">裝置開啟時播放音效</translation>
 <translation id="5592595402373377407">目前還沒有足夠的資料。</translation>
 <translation id="5595307023264033512">網站使用的總儲存空間:<ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">編輯地址</translation>
@@ -6338,6 +6341,7 @@
 <translation id="7102687220333134671">自動更新功能已開啟</translation>
 <translation id="7102832101143475489">要求逾時</translation>
 <translation id="710640343305609397">開啟網路設定</translation>
+<translation id="7107609441453408294">透過所有揚聲器播放相同的音訊</translation>
 <translation id="7108338896283013870">隱藏</translation>
 <translation id="7108668606237948702">輸入</translation>
 <translation id="7108933416628942903">立即鎖定</translation>
@@ -6429,7 +6433,6 @@
 <translation id="7212097698621322584">請輸入目前的 PIN 碼以進行變更。如果你不知道自己的 PIN 碼,請重設安全金鑰,然後建立新的 PIN 碼。</translation>
 <translation id="7213903639823314449">網址列中使用的搜尋引擎</translation>
 <translation id="721490496276866468">匯入密碼</translation>
-<translation id="7216595297012131718">根據你的偏好設定排列語言順序</translation>
 <translation id="7219473482981809164">我們發現多個可供下載的設定檔。請先選取你要下載的設定檔再繼續。</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{未發現低強度密碼}=1{有 1 組低強度密碼}other{有 {NUM_WEAK} 組低強度密碼}}</translation>
 <translation id="7220019174139618249">無法將密碼匯出到「<ph name="FOLDER" />」</translation>
@@ -6569,6 +6572,7 @@
 <translation id="7364745943115323529">投放...</translation>
 <translation id="7364796246159120393">選擇檔案</translation>
 <translation id="7365076891350562061">顯示器大小</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - 已固定</translation>
 <translation id="7366316827772164604">正在尋找附近的裝置...</translation>
 <translation id="7366415735885268578">新增網站</translation>
 <translation id="7366909168761621528">瀏覽資料</translation>
diff --git a/chrome/app/resources/generated_resources_zu.xtb b/chrome/app/resources/generated_resources_zu.xtb
index a879766..d8c9d82 100644
--- a/chrome/app/resources/generated_resources_zu.xtb
+++ b/chrome/app/resources/generated_resources_zu.xtb
@@ -905,6 +905,7 @@
 <translation id="1829129547161959350">I-penguin</translation>
 <translation id="1829192082282182671">&amp;Hlehlisa isithombe</translation>
 <translation id="1830550083491357902">Ayingenile ngemvume</translation>
+<translation id="1831848493690504725">Asikwazi ukufinyelela i-Google ngenethiwekhi exhunyiwe. Zama ukukhetha inethiwekhi ehlukile noma ukuhlola amasethingi enethiwekhi yakho noma amasethingi ommeleli (uma usebenzisa ummeleli).</translation>
 <translation id="1832459821645506983">Yebo, ngingenile</translation>
 <translation id="1832511806131704864">Ukuguqulwa kwefoni kubuyekeziwe</translation>
 <translation id="1832848789136765277">Ukuze uqiniseke ukuthi uhlala ufinyelela idatha yakho yokuvumelanisa, qinisekisa ukuthi uwena</translation>
@@ -4753,6 +4754,7 @@
 <translation id="5533001281916885985">I-<ph name="SITE_NAME" /> ifuna</translation>
 <translation id="5534304873398226603">Lahla isithombe noma ividiyo</translation>
 <translation id="5537725057119320332">Sakaza</translation>
+<translation id="5539070192556911367">Ayikwazi ukufinyelela i-Google</translation>
 <translation id="5539221284352502426">Iphasiwedi oyifakile inqatshwe yiseva. Izizathu ezingenzeka zibandakanya: Iphasiwedi yifushane kakhulu. Iphasiwedi kufanele ibandakanye izinombolo noma izimpawu. Iphasiwedi kufanele yehluke kunamaphasiwedi wangaphambilini.</translation>
 <translation id="5541694225089836610">Isenzo sikhutshazwe umlawuli wakho</translation>
 <translation id="5542132724887566711">Iphrofayela</translation>
@@ -4816,6 +4818,7 @@
 <translation id="5585912436068747822">Ukufometha kuhlulekile</translation>
 <translation id="5588033542900357244">(<ph name="RATING_COUNT" />)</translation>
 <translation id="558918721941304263">Ilayisha izinhlelo zokusebenza...</translation>
+<translation id="5590418976913374224">Dlala umsindo ekuqalisweni kwedivayisi</translation>
 <translation id="5592595402373377407">Ayikho idatha eyanele etholakalayo okwamanje.</translation>
 <translation id="5595307023264033512">Ingqikithi yesitoreji esisetshenziswe amasayithi: <ph name="TOTAL_USAGE" /></translation>
 <translation id="5595485650161345191">Hlela ikheli</translation>
@@ -6363,6 +6366,7 @@
 <translation id="7102687220333134671">Izibuyekezo zokuzenzakalela zivuliwe</translation>
 <translation id="7102832101143475489">Isicelo siphelelwe isikhathi</translation>
 <translation id="710640343305609397">Vula izilungiselelo zenethiwekhi</translation>
+<translation id="7107609441453408294">Dlala umsindo ofanayo kuzo zonke izipikha</translation>
 <translation id="7108338896283013870">Fihla</translation>
 <translation id="7108668606237948702">i-enter</translation>
 <translation id="7108933416628942903">Khiya manje</translation>
@@ -6454,7 +6458,6 @@
 <translation id="7212097698621322584">Faka i-PIN yakho yamanje ukuze uyishintshe. Uma ungazi i-PIN yakho, uzodinga ukusetha kabusha ukhiye wokuqinisekisa ubunikazi, bese udale i-PIN entsha.</translation>
 <translation id="7213903639823314449">Injini yokusesha isetshenziswe kubha lekheli</translation>
 <translation id="721490496276866468">Ngenisa amaphasiwedi</translation>
-<translation id="7216595297012131718">Landelanisa izilimi kusukela kokuncamelayo</translation>
 <translation id="7219473482981809164">Sithole amaphrofayela amaningi atholakalela ukulandwa. Khetha lawo ongathanda ukuwalanda ngaphambi kokuqhubeka.</translation>
 <translation id="7219762788664143869">{NUM_WEAK,plural, =0{Awekho amaphasiwedi angaqinile}=1{iphasiwedi engaqinile e-1}one{amaphasiwedi angaqinile angu-{NUM_WEAK}}other{amaphasiwedi angaqinile angu-{NUM_WEAK}}}</translation>
 <translation id="7220019174139618249">Ayikwazi ukukhiphela amaphasiwedi ku-"<ph name="FOLDER" />"</translation>
@@ -6594,6 +6597,7 @@
 <translation id="7364745943115323529">Sakaza...</translation>
 <translation id="7364796246159120393">Khetha ifayela</translation>
 <translation id="7365076891350562061">Usayizi wemonitha</translation>
+<translation id="7365995455115045224"><ph name="WINDOW_TITLE" /> - Kuphiniwe</translation>
 <translation id="7366316827772164604">Iskenela amadivayisi aseduze…</translation>
 <translation id="7366415735885268578">Engeza isayithi</translation>
 <translation id="7366909168761621528">Idatha yokuphequlula</translation>
diff --git a/chrome/app/resources/google_chrome_strings_af.xtb b/chrome/app/resources/google_chrome_strings_af.xtb
index 172efee..db6bfd59 100644
--- a/chrome/app/resources/google_chrome_strings_af.xtb
+++ b/chrome/app/resources/google_chrome_strings_af.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Kan nie Chrome opdateer nie</translation>
 <translation id="1152920704813762236">Meer oor Chrome-bedryfstelsel</translation>
 <translation id="1154147086299354128">&amp;Maak in Chrome oop</translation>
-<translation id="1178374936842835197">Kyk in jou Chrome OS Flex-instellings as ’n instelling <ph name="LINK_BEGIN" />
-        nie op jou bladsy wys nie<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Dankie dat jy geïnstalleer het. Jy moet jou blaaier herbegin voordat jy <ph name="BUNDLE_NAME" /> gebruik.</translation>
 <translation id="1278833599417554002">Begin weer om &amp;Chrome op te dateer</translation>
 <translation id="1302523850133262269">Wag asseblief terwyl Chrome die jongste stelselopdaterings installeer.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Hou aan om agtergrondprogramme te laat loop wanneer Google Chrome toe is</translation>
 <translation id="3089968997497233615">Daar is 'n nuwe, veiliger weergawe van Google Chrome beskikbaar.</translation>
 <translation id="3100998948628680988">Gee jou Chrome-profiel 'n naam</translation>
-<translation id="3103390129666310801">Gaan na <ph name="LINK_BEGIN" />Chrome OS Flex-instellings<ph name="LINK_END" /> om te kyk of jou toestel bygewerk is.</translation>
 <translation id="3114643501466072395"><ph name="BEGIN_LINK" />Meld by Chrome aan<ph name="END_LINK" /> om te kyk of jou ander wagwoorde teen dataskendings en ander sekuriteitkwessies beveilig word.</translation>
 <translation id="3140883423282498090">Jou veranderinge sal die volgende keer wanneer jy Google Chrome herbegin, in werking tree.</translation>
 <translation id="3149510190863420837">Chrome-programme</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Kanarie</translation>
 <translation id="5037581483200764584">Jy het macOS 10.13 of nuwer nodig om in die toekoms Google Chrome-opdaterings te kry. Hierdie rekenaar gebruik OS X 10.11.</translation>
 <translation id="5098668839038261629">Wanneer dit aan is, sal jy ook by Chrome afgemeld word</translation>
-<translation id="5112116809696021727">Gaan na <ph name="LINK_BEGIN" />Chrome-bedryfstelselinstellings<ph name="LINK_END" /> om te sien of jou toestel bygewerk is</translation>
 <translation id="5132929315877954718">Ontdek wonderlike programme, speletjies, uitbreidings en temas vir Google Chrome.</translation>
 <translation id="5139423532931106058">Pasmaak jou Chrome-profiel</translation>
 <translation id="5163087008893166964">Welkom by Chrome; nuwe blaaiervenster is oopgemaak</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Jou web, boekmerke en ander Chrome-goed woon hier.</translation>
 <translation id="5941711191222866238">Maak kleiner</translation>
 <translation id="5941830788786076944">Maak Google Chrome die verstekblaaier</translation>
-<translation id="5959292945051687759">As ’n instelling nie op hierdie bIadsy verskyn nie, kan jy in jou <ph name="LINK_BEGIN" />
-        Chrome-bedryfstelselinstellings<ph name="LINK_END" /> kyk</translation>
 <translation id="6003112304606738118">Laai tans af … <ph name="HOURS" /> uur oor</translation>
 <translation id="6040143037577758943">Maak toe</translation>
 <translation id="6070348360322141662">Google Chrome sal jou data enkripteer vir bykomende sekuriteit</translation>
diff --git a/chrome/app/resources/google_chrome_strings_am.xtb b/chrome/app/resources/google_chrome_strings_am.xtb
index 1ee850b7..dfc3a38 100644
--- a/chrome/app/resources/google_chrome_strings_am.xtb
+++ b/chrome/app/resources/google_chrome_strings_am.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Chromeን ማዘመን አልተቻለም</translation>
 <translation id="1152920704813762236">ስለChromeOS</translation>
 <translation id="1154147086299354128">&amp;በChrome ውስጥ ክፈት</translation>
-<translation id="1178374936842835197">በዚህ ገጽ ላይ አንድ ቅንብር ካልታየ በእርስዎ <ph name="LINK_BEGIN" />የChromeOS Flex ቅንብሮች<ph name="LINK_END" /> ውስጥ ይመልከቱ</translation>
 <translation id="1203500561924088507">ሰለተጫኑ እናመሰግናለን። <ph name="BUNDLE_NAME" />ን ከመጠቀምዎ በፊት አሳሽዎን እንደገና ማስጀመር አለብዎት።</translation>
 <translation id="1278833599417554002">&amp;Chromeን ለማዘመን ዳግም ያስነሱት</translation>
 <translation id="1302523850133262269">እባክዎ Chrome የቅርብ ጊዜዎቹን ዝማኔዎች እስኪጭን ድረስ ይጠብቁ።</translation>
@@ -122,7 +121,6 @@
 <translation id="3080151273017101988">Google Chrome ሲዘጋ የጀርባ መተግበሪያዎችን ማሂዱን ይቀጥሉ</translation>
 <translation id="3089968997497233615">አዲስና ደህንነቱ ይበልጥ የተጠበቀ የGoogle Chrome ስሪት ይገኛል።</translation>
 <translation id="3100998948628680988">የChrome መገለጫዎን ይሰይሙ</translation>
-<translation id="3103390129666310801">መሣሪያዎ ወቅታዊ መሆኑን ለማየት ወደ <ph name="LINK_BEGIN" />የChromeOS Flex ቅንብሮች ይሂዱ<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">የእርስዎ ሌሎች የይለፍ ቃላት ከውሂብ ጥሰቶች እና ሌሎች የደህንነት ችግሮች ነጻ መሆናቸውን ለማረጋገጥ <ph name="BEGIN_LINK" />በመለያ ወደ Chrome ይግቡ<ph name="END_LINK" />።</translation>
 <translation id="3140883423282498090">ለውጦችዎ Google Chrome ዳግም በሚያስጀምሩበት ቀጣዩ ጊዜ ላይ ይተገበራሉ።</translation>
 <translation id="3149510190863420837">Chrome መተግበሪያዎች</translation>
@@ -213,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">የወደፊት የGoogle Chrome ዝመኔዎችን ለማግኘት፣ macOS 10.13 ወይም ከዚያ በኋላ ያለው ያስፈልግዎታል። ይህ ኮምፒተር OS X 10.11 እየተጠቀመ ነው።</translation>
 <translation id="5098668839038261629">ሲበራ ከChrome ዘግተው እንዲወጡም ይደረጋሉ</translation>
-<translation id="5112116809696021727">መሣሪያዎ የተዘመነ ከሆነ ለማየት ወደ <ph name="LINK_BEGIN" />የChromeOS ቅንብሮች ይሂዱ<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">ለGoogle Chrome ምርጥ መተግበሪያዎችን፣ ጨዋታዎችን፣ ቅጥያዎችን እና ገጽታዎችን ያግኙ።</translation>
 <translation id="5139423532931106058">የChrome መገለጫዎን ያብጁ</translation>
 <translation id="5163087008893166964">እንኳን ወደ Chrome በደህና መጡ፤ አዲስ የአሳሽ መስኮት ተከፍቷል።</translation>
@@ -253,7 +250,6 @@
 <translation id="5940385492829620908">የእርስዎ ድር፣ ዕልባቶች እና ሌሎች የChrome ነገሮች እዚህ ይኖራሉ።</translation>
 <translation id="5941711191222866238">አሳንስ</translation>
 <translation id="5941830788786076944">Google Chromeን መነሻ ማሰሻ አድርግ</translation>
-<translation id="5959292945051687759">በዚህ ገጽ ላይ አንድ ቅንብር ካልታየ በእርስዎ <ph name="LINK_BEGIN" />የChromeOS ቅንብሮች<ph name="LINK_END" /> ውስጥ ይመልከቱ</translation>
 <translation id="6003112304606738118">በማውረድ ላይ... <ph name="HOURS" /> ሰዓት(ታት) ይቀራል(ሉ)</translation>
 <translation id="6040143037577758943">ዝጋ</translation>
 <translation id="6070348360322141662">ለተጨማሪ ደህንነት ሲባል Google Chrome ውሂብዎን ያመሰጥረዋል</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ar.xtb b/chrome/app/resources/google_chrome_strings_ar.xtb
index c666a8e..7b5f87e 100644
--- a/chrome/app/resources/google_chrome_strings_ar.xtb
+++ b/chrome/app/resources/google_chrome_strings_ar.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">‏تعذّرت إعادة التحميل Chrome</translation>
 <translation id="1152920704813762236">‏لمحة عن ChromeOS</translation>
 <translation id="1154147086299354128">‏&amp;فتح في Chrome</translation>
-<translation id="1178374936842835197">‏في حال عدم عرض أحد الإعدادات على هذه الصفحة، انتقِل إلى <ph name="LINK_BEGIN" />
-        إعدادات نظام التشغيل ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">شكرًا على التثبيت. عليك إعادة تشغيل المتصفِّح قبل استخدام <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">‏إعادة تشغيل متصفِّح Chrome لتحديثه</translation>
 <translation id="1302523850133262269">‏يُرجى الانتظار لحين تثبيت Chrome لآخر تحديثات النظام.</translation>
@@ -122,7 +120,6 @@
 <translation id="3080151273017101988">‏استمرار تشغيل تطبيقات الخلفية عند إغلاق Google Chrome</translation>
 <translation id="3089968997497233615">‏يتوفر إصدار جديد وأكثر أمانًا لمتصفح Google Chrome.</translation>
 <translation id="3100998948628680988">‏تسمية ملفك الشخصى على Chrome</translation>
-<translation id="3103390129666310801">‏للتأكُّد من أنّ جهازك يستخدم أحدث إصدار، انتقِل إلى <ph name="LINK_BEGIN" />إعدادات نظام التشغيل ChromeOS Flex<ph name="LINK_END" />.</translation>
 <translation id="3114643501466072395">‏للتحقُّق مما إذا كانت كلمات المرور الأخرى آمنة من عمليات اختراق البيانات ومشاكل الأمان الأخرى، يُرجى <ph name="BEGIN_LINK" />تسجيل الدخول إلى متصفِّح Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">‏ستسري التغييرات في المرة التالية التي تعيد فيها تشغيل Google Chrome.</translation>
 <translation id="3149510190863420837">‏تطبيقات Chrome</translation>
@@ -213,7 +210,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">‏للحصول على تحديثات Google Chrome في المستقبل، يجب استخدام جهاز يعمل بنظام التشغيل macOS 10.13 أو إصدار أحدث. يعمل هذا الكمبيوتر بنظام التشغيل OS X 10.11.</translation>
 <translation id="5098668839038261629">‏عند تفعيل هذا الخيار، سيتم تسجيل خروجك أيضًا من Chrome.</translation>
-<translation id="5112116809696021727">‏للتأكّد من أنّ جهازك يستخدم أحدث إصدار من نظام التشغيل، يُرجى الانتقال إلى <ph name="LINK_BEGIN" />إعدادات نظام التشغيل Chrome<ph name="LINK_END" />.</translation>
 <translation id="5132929315877954718">‏يمكنك اكتشاف تطبيقات، وألعاب، وإضافات، ومظاهر رائعة لمتصفح Google Chrome.</translation>
 <translation id="5139423532931106058">‏تخصيص ملفك الشخصي في Chrome</translation>
 <translation id="5163087008893166964">‏مرحبًا بك في Chrome. تم فتح نافذة متصفّح جديدة.</translation>
@@ -251,8 +247,6 @@
 <translation id="5940385492829620908">‏الويب والإشارات المرجعية وغيرها من عناصر Chrome توجد هنا.</translation>
 <translation id="5941711191222866238">تصغير</translation>
 <translation id="5941830788786076944">‏جعل Google Chrome المتصفّح التلقائي</translation>
-<translation id="5959292945051687759">‏في حال عدم عرض إعدادات على هذه الصفحة، انتقِل إلى <ph name="LINK_BEGIN" />
-      إعدادات نظام التشغيل Chrome<ph name="LINK_END" />.</translation>
 <translation id="6003112304606738118">جارٍ التنزيل… الساعات المتبقّية: <ph name="HOURS" /></translation>
 <translation id="6040143037577758943">إغلاق</translation>
 <translation id="6070348360322141662">‏لمزيد من الأمان، سيشفِّر Google Chrome بياناتك</translation>
diff --git a/chrome/app/resources/google_chrome_strings_as.xtb b/chrome/app/resources/google_chrome_strings_as.xtb
index 89dff056..a373c34 100644
--- a/chrome/app/resources/google_chrome_strings_as.xtb
+++ b/chrome/app/resources/google_chrome_strings_as.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome আপডে’ট কৰিব নোৱাৰি</translation>
 <translation id="1152920704813762236">ChromeOSৰ বিষয়ে</translation>
 <translation id="1154147086299354128">Chromeত &amp;খোলক</translation>
-<translation id="1178374936842835197">যদি কোনো ছেটিং এই পৃষ্ঠাখনত দেখা পোৱা নাযায়, তেন্তে আপোনাৰ <ph name="LINK_BEGIN" />
-        ChromeOS Flexৰ ছেটিঙ<ph name="LINK_END" />ত চাওক</translation>
 <translation id="1203500561924088507">ইনষ্টল কৰাৰ বাবে ধন্যবাদ। আপুনি <ph name="BUNDLE_NAME" /> ব্যৱহাৰ কৰাৰ পূৰ্বে আপোনাৰ ব্ৰাউজাৰটো ৰিষ্টাৰ্ট কৰিবই লাগিব।</translation>
 <translation id="1278833599417554002">&amp;Chrome আপডে'ট কৰিবলৈ পুনৰ লঞ্চ কৰক</translation>
 <translation id="1302523850133262269">Chromeএ শেহতীয়া ছিষ্টেম আপডে’ট ইনষ্টল কৰালৈ অপেক্ষা কৰক।</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Google Chrome বন্ধ কৰাৰ পিছতো নেপথ্যত এপ্‌সমূহ চলি থাকিবলৈ দিয়ক</translation>
 <translation id="3089968997497233615">Google Chromeৰ এটি নতুন, অধিক সুৰক্ষিত সংস্কৰণ উপলব্ধ।</translation>
 <translation id="3100998948628680988">আপোনাৰ Chrome প্ৰ'ফাইলৰ নাম দিয়ক</translation>
-<translation id="3103390129666310801">আপোনাৰ ডিভাইচটো আপ-টু-ডে’ট হৈ আছেনে নাই সেয়া চাবলৈ <ph name="LINK_BEGIN" />ChromeOS Flexৰ ছেটিঙ<ph name="LINK_END" />লৈ যাওক</translation>
 <translation id="3114643501466072395">আপোনাৰ অন্য পাছৱৰ্ডসমূহ ডেটা উলংঘন আৰু আন সুৰক্ষা সম্পৰ্কীয় সমস্যাৰ পৰা নিৰাপদে আছেনে নাই পৰীক্ষা কৰিবলৈ <ph name="BEGIN_LINK" />Chromeত ছাইন ইন কৰক<ph name="END_LINK" />।</translation>
 <translation id="3140883423282498090">আপুনি পৰৱৰ্তী সময়ত Google Chrome পুনৰ লঞ্চ কৰিলে আপুনি কৰা সলনিসমূহ কাৰ্যকৰী হ’ব।</translation>
 <translation id="3149510190863420837">Chromeৰ এপ্‌</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chromeৰ ভৱিষ্যতৰ আপডে’টসমূহ পাবলৈ আপোনাক macOS 10.13 অথবা তাৰ পাছৰ সংস্কৰণৰ আৱশ্যক হ’ব। এই কম্পিউটাৰটোৱে OS X 10.11 ব্যৱহাৰ কৰি আছে।</translation>
 <translation id="5098668839038261629">অন হৈ থাকিলে, আপোনাক Chromeৰ পৰাও ছাইন আউট কৰোৱা হ'ব</translation>
-<translation id="5112116809696021727">আপোনাৰ ডিভাইচটো আপ-টু-ডে’ট হৈ আছেনে নাই সেয়া চাবলৈ <ph name="LINK_BEGIN" />ChromeOSৰ ছেটিঙ<ph name="LINK_END" />লৈ যাওক</translation>
 <translation id="5132929315877954718">Google Chromeৰ বাবে উত্তম এপ্, গে’ম, এক্সটেনশ্বন আৰু থীম বিচাৰক৷</translation>
 <translation id="5139423532931106058">আপোনাৰ Chromeৰ প্ৰ’ফাইল কাষ্টমাইজ কৰক</translation>
 <translation id="5163087008893166964">Chromeলৈ স্বাগতম; নতুন ব্ৰাউজাৰৰ ৱিণ্ড’ খোলা হৈছে</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">আপোনাৰ ৱেব, বুকমার্ক আৰু Chromeৰ অন্য বস্তুবোৰ ইয়াত থাকে৷</translation>
 <translation id="5941711191222866238">সৰু কৰক</translation>
 <translation id="5941830788786076944">Google Chromeক ডিফ'ল্ট ব্ৰাউজাৰ হিচাপে ছেট কৰক</translation>
-<translation id="5959292945051687759">এই পৃষ্ঠাখনত যদি কোনো ছেটিং দেখা পোৱা নাযায়, তেন্তে আপোনাৰ <ph name="LINK_BEGIN" />
-        ChromeOSৰ ছেটিঙ<ph name="LINK_END" />ত চাওক</translation>
 <translation id="6003112304606738118">ডাউনল’ড হৈ আছে... <ph name="HOURS" /> ঘণ্টা বাকী আছে</translation>
 <translation id="6040143037577758943">বন্ধ কৰক</translation>
 <translation id="6070348360322141662">অতিৰিক্ত সুৰক্ষাৰ বাবে Google Chromeএ আপোনাৰ ডেটা এনক্ৰিপ্ট কৰিব</translation>
diff --git a/chrome/app/resources/google_chrome_strings_az.xtb b/chrome/app/resources/google_chrome_strings_az.xtb
index c3d4b79..e0403bf 100644
--- a/chrome/app/resources/google_chrome_strings_az.xtb
+++ b/chrome/app/resources/google_chrome_strings_az.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome'u güncəlləmək alınmadı</translation>
 <translation id="1152920704813762236">ChromeOS haqqında</translation>
 <translation id="1154147086299354128">&amp;Chrome'da açın</translation>
-<translation id="1178374936842835197">Ayar bu səhifədə göstərilməsə, <ph name="LINK_BEGIN" />
-      ChromeOS Flex ayarlarına<ph name="LINK_END" /> baxın</translation>
 <translation id="1203500561924088507">Quraşdırdığınız üçün təşəkkür edirik. <ph name="BUNDLE_NAME" /> istifadə etməzdən əvvəl brauzerinizi yenidən başlatmalısınız.</translation>
 <translation id="1278833599417554002">&amp;Chrome'u güncəlləmək üçün yenidən başladın</translation>
 <translation id="1302523850133262269">Chrome'un ən son sistem güncəlləşmələrini quraşdırmasını gözləyin.</translation>
@@ -121,7 +119,6 @@
 <translation id="3080151273017101988">Google Chrome bağlı olduqda arxa fon tətbiqləri davam etdirilsin</translation>
 <translation id="3089968997497233615">Google Chrome'un yeni, güvənli versiyası əlçatandır.</translation>
 <translation id="3100998948628680988">Chrome profilinizə ad verin</translation>
-<translation id="3103390129666310801">Cihazınızın güncəl olub-olmadığına baxmaq üçün <ph name="LINK_BEGIN" />ChromeOS Flex Ayarlarına<ph name="LINK_END" /> keçin</translation>
 <translation id="3114643501466072395">Digər parollarınızın data pozuntuları və digər güvənlik məsələlərinə qarşı güvəndə olduğunu yoxlamaq üçün <ph name="BEGIN_LINK" />Chrome'a daxil olun<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Dəyişiklikləriniz gələn dəfə Google Chrome'u başlatdıqda qüvvəyə minəcək.</translation>
 <translation id="3149510190863420837">Chrome Tətbiqləri</translation>
@@ -212,7 +209,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chrome güncəlləmələrini əldə etmək üçün macOS 10.13 və ya daha yeni versiya tələb olunur. Bu kompüter OS X 10.11 istifadə edir.</translation>
 <translation id="5098668839038261629">Aktiv olduqda, Chrome'dan da çıxacaqsınız</translation>
-<translation id="5112116809696021727">Cihazınızın güncəl olub-olmadığına baxmaq üçün <ph name="LINK_BEGIN" />ChromeOS Ayarlarına<ph name="LINK_END" /> keçin</translation>
 <translation id="5132929315877954718">Google Chrome üçün möhtəşəm tətbiqlər, artırmalar və temalar kəşf edin.</translation>
 <translation id="5139423532931106058">Chrome profilinizi fərdiləşdirin</translation>
 <translation id="5163087008893166964">Chrome'a xoş gəlmisiniz; yeni brauzer pəncərəsi açılıb</translation>
@@ -250,8 +246,6 @@
 <translation id="5940385492829620908">Veb, əlfəcinlər və Chrome'a aid hər şeyiniz buradadır.</translation>
 <translation id="5941711191222866238">Minimallaşdırın</translation>
 <translation id="5941830788786076944">Google Chrome'u defolt brauzer edin</translation>
-<translation id="5959292945051687759">Hər hansı ayar bu səhifədə göstərilməsə, <ph name="LINK_BEGIN" />
-      ChromeOS ayarlarına<ph name="LINK_END" /> baxın</translation>
 <translation id="6003112304606738118">Endirilir... <ph name="HOURS" /> saat qalıb</translation>
 <translation id="6040143037577758943">Qapat</translation>
 <translation id="6070348360322141662">Əlavə təhlükəsizlik üçün Google Chrome datanı şifrələyəcək</translation>
diff --git a/chrome/app/resources/google_chrome_strings_be.xtb b/chrome/app/resources/google_chrome_strings_be.xtb
index dca5df3..2710fac 100644
--- a/chrome/app/resources/google_chrome_strings_be.xtb
+++ b/chrome/app/resources/google_chrome_strings_be.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Не ўдаецца абнавіць Chrome</translation>
 <translation id="1152920704813762236">Пра Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Адкрыць у браўзеры Chrome</translation>
-<translation id="1178374936842835197">Калі налада адсутнічае на гэтай старонцы, перайдзіце ў <ph name="LINK_BEGIN" />налады Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Дзякуй, што ўсталявалі <ph name="BUNDLE_NAME" />. Каб завяршыць усталяванне, перазапусціце браўзер.</translation>
 <translation id="1278833599417554002">Перазапусціць, каб абнавіць &amp;Chrome</translation>
 <translation id="1302523850133262269">Пачакайце, пакуль Chrome усталюе апошнія абнаўленні сістэмы.</translation>
@@ -122,7 +121,6 @@
 <translation id="3080151273017101988">Працягваць выконваць фонавыя праграмы, калі Google Chrome закрыты</translation>
 <translation id="3089968997497233615">Ёсць новая, больш бяспечная версія Google Chrome.</translation>
 <translation id="3100998948628680988">Дайце назву свайму профілю Chrome</translation>
-<translation id="3103390129666310801">Каб даведацца, ці абноўлена прылада, адкрыйце <ph name="LINK_BEGIN" />Налады Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Каб праверыць, ці не пагражае вашым іншым паролям раскрыццё ў выніку ўцечкі даных або іншых праблем з бяспекай, <ph name="BEGIN_LINK" />увайдзіце ў Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Змены ўступяць у сілу пасля перазапуску Google Chrome.</translation>
 <translation id="3149510190863420837">Праграмы Chrome</translation>
@@ -213,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Каб атрымліваць наступныя абнаўленні Google Chrome, вам патрэбная версія macOS 10.13 ці пазнейшая. На гэтым камп'ютары выкарыстоўваецца OS X 10.11.</translation>
 <translation id="5098668839038261629">Калі гэты параметр уключаны, будзе выконвацца таксама выхад з вашага ўліковага запісу ў Chrome</translation>
-<translation id="5112116809696021727">Каб даведацца, ці знаходзіцца прылада ў актуальным стане, адкрыйце <ph name="LINK_BEGIN" />Налады Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Адкрывайце для сябе выдатныя праграмы, гульні, пашырэнні і тэмы для Google Chrome.</translation>
 <translation id="5139423532931106058">Наладзьце свой профіль Chrome</translation>
 <translation id="5163087008893166964">Вітаем у Chrome! Адкрыта новае акно браўзера</translation>
@@ -253,7 +250,6 @@
 <translation id="5940385492829620908">Тут знаходзяцца вашы вэб-старонкі, закладкі і іншыя даныя браўзера Chrome.</translation>
 <translation id="5941711191222866238">Згарнуць</translation>
 <translation id="5941830788786076944">Зрабіць Google Chrome стандартным браўзерам</translation>
-<translation id="5959292945051687759">Калі налада адсутнічае на гэтай старонцы, перайдзіце ў <ph name="LINK_BEGIN" />налады Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Ідзе спампоўванне… Застаецца <ph name="HOURS" /> гадз</translation>
 <translation id="6040143037577758943">Закрыць</translation>
 <translation id="6070348360322141662">Для дадатковай бяспекі Google Chrome будзе шыфраваць вашы даныя</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bg.xtb b/chrome/app/resources/google_chrome_strings_bg.xtb
index d10397d..bd467ba8 100644
--- a/chrome/app/resources/google_chrome_strings_bg.xtb
+++ b/chrome/app/resources/google_chrome_strings_bg.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chrome не може да се актуализира</translation>
 <translation id="1152920704813762236">Всичко за Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Отваряне в Chrome</translation>
-<translation id="1178374936842835197">Ако дадена настройка не се показва на тази страница, потърсете в
-<ph name="LINK_BEGIN" />настройките на ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Благодарим ви, че инсталирахте <ph name="BUNDLE_NAME" />. Трябва да рестартирате браузъра си, преди да използвате това приложение.</translation>
 <translation id="1278833599417554002">Повторно стартиране за актуализиране на &amp;Chrome</translation>
 <translation id="1302523850133262269">Моля, изчакайте, докато Chrome инсталира най-новите системни актуализации.</translation>
@@ -122,7 +120,6 @@
 <translation id="3080151273017101988">Изпълняване на приложения на заден план при затворен браузър Google Chrome</translation>
 <translation id="3089968997497233615">Налице е нова, по-сигурна версия на Google Chrome.</translation>
 <translation id="3100998948628680988">Наименуване на потребителския ви профил в Chrome</translation>
-<translation id="3103390129666310801">За да проверите дали устройството ви е актуално, отворете <ph name="LINK_BEGIN" />настройките на ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">За да проверите дали другите ви пароли не са компрометирани при нарушения на сигурността на данните и други проблеми със сигурността, <ph name="BEGIN_LINK" />влезте в Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Промените ви ще влязат в сила следващия път, когато стартирате отново Google Chrome.</translation>
 <translation id="3149510190863420837">Приложения в Chrome</translation>
@@ -213,7 +210,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">За да получавате бъдещи актуализации на Google Chrome, трябва да използвате macOS 10.13 или по-нова версия. Компютърът ви работи с OS X 10.11.</translation>
 <translation id="5098668839038261629">Когато е включено, ще излезете и от Chrome</translation>
-<translation id="5112116809696021727">За да разберете дали устройството ви е актуално, отворете <ph name="LINK_BEGIN" />настройките на Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Открийте отлични приложения, игри, разширения и теми за Google Chrome.</translation>
 <translation id="5139423532931106058">Персонализиране на потребителския ви профил в Chrome</translation>
 <translation id="5163087008893166964">Добре дошли в Chrome. Отворен е нов прозорец на браузъра</translation>
@@ -249,7 +245,6 @@
 <translation id="5940385492829620908">Тук ще намерите посещаваните от вас места в мрежата, отметките и другите си неща в Chrome.</translation>
 <translation id="5941711191222866238">Намаляване</translation>
 <translation id="5941830788786076944">Искам Google Chrome да бъде браузърът по подразбиране</translation>
-<translation id="5959292945051687759">Ако дадена настройка не се показва на тази страница, потърсете в <ph name="LINK_BEGIN" />настройките на Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Изтегля се... Оставащо време: <ph name="HOURS" /> ч</translation>
 <translation id="6040143037577758943">Затваряне</translation>
 <translation id="6070348360322141662">За повишаване на сигурността Google Chrome ще шифрова данните ви</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bn.xtb b/chrome/app/resources/google_chrome_strings_bn.xtb
index 2a78441b..411e7ad 100644
--- a/chrome/app/resources/google_chrome_strings_bn.xtb
+++ b/chrome/app/resources/google_chrome_strings_bn.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chrome আপডেট করা যাচ্ছে না</translation>
 <translation id="1152920704813762236">ChromeOS সম্পর্কে</translation>
 <translation id="1154147086299354128">&amp;Chrome এ খুলুন</translation>
-<translation id="1178374936842835197">এই পৃষ্ঠাতে কোনও একটি সেটিং দেখা না গেলে, আপনার <ph name="LINK_BEGIN" />
-        ChromeOS Flex সেটিংস<ph name="LINK_END" /> বিকল্পটি দেখুন</translation>
 <translation id="1203500561924088507">ইনস্টল করার জন্য ধন্যবাদ। <ph name="BUNDLE_NAME" /> ব্যবহার করার আগে আপনাকে অবশ্যই ব্রাউজার রিস্টার্ট করতে হবে।</translation>
 <translation id="1278833599417554002">&amp;Chrome আপডেট করতে আবার লঞ্চ করুন</translation>
 <translation id="1302523850133262269">Chrome যখন সাম্প্রতিক সিস্টেম আপডেটগুলিকে ইনস্টল করে তখন দয়া করে অপেক্ষা করুন৷</translation>
@@ -122,7 +120,6 @@
 <translation id="3080151273017101988">Google Chrome বন্ধ হলে পশ্চাদপট অ্যাপ্লিকেশানের চলা অবিরত রাখুন</translation>
 <translation id="3089968997497233615">Google Chrome-এর একটি নতুন, তুলনামূলক নিরাপদ ভার্সন উপলব্ধ৷</translation>
 <translation id="3100998948628680988">আপনার Chrome প্রোফাইলের নাম লিখুন</translation>
-<translation id="3103390129666310801">আপনার ডিভাইস আপ-টু-ডেট আছে কিনা তা দেখার জন্য <ph name="LINK_BEGIN" />ChromeOS Flex সেটিংস<ph name="LINK_END" /> বিকল্পে যান</translation>
 <translation id="3114643501466072395">আপনার অন্যান্য পাসওয়ার্ড ডেটার নিরাপত্তা লঙ্ঘন এবং অন্যান্য নিরাপত্তা সংক্রান্ত সমস্যা থেকে সুরক্ষিত কিনা তা চেক করতে <ph name="BEGIN_LINK" />Chrome-এ সাইন-ইন করুন<ph name="END_LINK" />।</translation>
 <translation id="3140883423282498090">আপনি পরবর্তী সময়ে যখন Google Chrome আবার লঞ্চ করবেন আপনার পরিবর্তনগুলি কার্যকর হবে৷</translation>
 <translation id="3149510190863420837">Chrome অ্যাপগুলি</translation>
@@ -213,7 +210,6 @@
 <translation id="4990567037958725628">Google Chrome  ক্যানারি</translation>
 <translation id="5037581483200764584">ভবিষ্যতে Google Chrome আপডেট পেতে হলে, আপনার macOS 10.13 বা এর পরবর্তী ভার্সন থাকতে হবে। এই কম্পিউটারে OS X 10.11 ভার্সন ব্যবহার করা হচ্ছে।</translation>
 <translation id="5098668839038261629">চালু হলে, আপনি Chrome থেকেও সাইন-আউট হয়ে যাবেন</translation>
-<translation id="5112116809696021727">আপনার ডিভাইস আপ-টু-ডেট আছে কিনা তা দেখতে <ph name="LINK_BEGIN" />ChromeOS সেটিংস<ph name="LINK_END" /> বিকল্পে যান</translation>
 <translation id="5132929315877954718">Google Chrome-এর দুর্দান্ত অ্যাপ্লিকেশান, গেম, এক্সটেনশান এবং থিম আবিষ্কার করুন৷</translation>
 <translation id="5139423532931106058">আপনার Chrome প্রোফাইল কাস্টমাইজ করুন</translation>
 <translation id="5163087008893166964">Chrome-এ স্বাগতম; নতুন ব্রাউজার উইন্ডো খোলা হয়েছে</translation>
@@ -251,8 +247,6 @@
 <translation id="5940385492829620908">আপনার ওয়েব, বুকমার্ক এবং Chrome-এর অন্যান্য জিনিস এখানে রয়েছে৷</translation>
 <translation id="5941711191222866238">ছোট করুন</translation>
 <translation id="5941830788786076944">Google Chrome-কে ডিফল্ট ব্রাউজার করুন</translation>
-<translation id="5959292945051687759">এই পৃষ্ঠাতে কোনও একটি সেটিং দেখা না গেলে, আপনার <ph name="LINK_BEGIN" />
-      ChromeOS সেটিংস<ph name="LINK_END" /> বিকল্পটি দেখুন</translation>
 <translation id="6003112304606738118">ডাউনলোড হচ্ছে... <ph name="HOURS" /> ঘণ্টা বাকি আছে</translation>
 <translation id="6040143037577758943">বন্ধ</translation>
 <translation id="6070348360322141662">অতিরিক্ত নিরাপত্তার জন্য, Google Chrome আপনার ডেটা এনক্রিপ্ট করবে</translation>
diff --git a/chrome/app/resources/google_chrome_strings_bs.xtb b/chrome/app/resources/google_chrome_strings_bs.xtb
index d1576a0..5af522e 100644
--- a/chrome/app/resources/google_chrome_strings_bs.xtb
+++ b/chrome/app/resources/google_chrome_strings_bs.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Nije moguće ažurirati Chrome</translation>
 <translation id="1152920704813762236">O ChromeOS-u</translation>
 <translation id="1154147086299354128">&amp;Otvori u Chromeu</translation>
-<translation id="1178374936842835197">Ako se postavka ne prikazuje na ovoj stranici, pogledajte u <ph name="LINK_BEGIN" />postavkama ChromeOS Flexa<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Hvala što ste instalirali. Morate ponovo pokrenuti preglednik prije nego što možete koristiti <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Ponovo pokrenite da ažurirate Chrome</translation>
 <translation id="1302523850133262269">Sačekajte dok Chrome instalira najnovija sistemska ažuriranja.</translation>
@@ -123,7 +122,6 @@
 <translation id="3080151273017101988">Ostavi aplikacije da rade u pozadini kada se Google Chrome zatvori</translation>
 <translation id="3089968997497233615">Dostupna je nova, sigurnija verzija Google Chromea.</translation>
 <translation id="3100998948628680988">Dajte naziv Chrome profilu</translation>
-<translation id="3103390129666310801">Da vidite je li uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Postavke ChromeOS Flexa<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Da provjerite jesu li vaše ostale lozinke zaštićene od narušavanja podataka i drugih sigurnosnih problema, <ph name="BEGIN_LINK" />prijavite se u Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Promjene će stupiti na snagu kada sljedeći put pokrenete Google Chrome.</translation>
 <translation id="3149510190863420837">Chromeove aplikacije</translation>
@@ -214,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Da primate buduća ažuriranja za Google Chrome, trebat će vam macOS 10.13 ili novija verzija. Ovaj računar koristi OS X 10.11.</translation>
 <translation id="5098668839038261629">Kada je uključeno, također ćete biti odjavljeni iz Chroma</translation>
-<translation id="5112116809696021727">Da vidite je li vaš uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Postavke ChromeOS-a<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Otkrijte odlične aplikacije, igre, ekstenzije i teme za Google Chrome.</translation>
 <translation id="5139423532931106058">Prilagodite svoj Chrome profil</translation>
 <translation id="5163087008893166964">Dobro došli u Chrome. Otvoren je novi prozor preglednika</translation>
@@ -252,8 +249,6 @@
 <translation id="5940385492829620908">Vaša aktivnost na webu, oznake i drugi sadržaji s Chromea se nalaze ovdje.</translation>
 <translation id="5941711191222866238">Minimiziraj</translation>
 <translation id="5941830788786076944">Postavite Google Chrome kao zadani preglednik</translation>
-<translation id="5959292945051687759">Ako se postavka ne prikazuje na ovoj stranici, pogledajte u <ph name="LINK_BEGIN" />
-        postavkama ChromeOS-a<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Preuzimanje… Preostalo je <ph name="HOURS" /> h</translation>
 <translation id="6040143037577758943">Zatvori</translation>
 <translation id="6070348360322141662">Za dodatnu sigurnost, Google Chrome će šifrirati vaše podatke</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ca.xtb b/chrome/app/resources/google_chrome_strings_ca.xtb
index e7bb086..d94ce3e 100644
--- a/chrome/app/resources/google_chrome_strings_ca.xtb
+++ b/chrome/app/resources/google_chrome_strings_ca.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">Chrome no es pot actualitzar</translation>
 <translation id="1152920704813762236">Sobre Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Obre a Chrome</translation>
-<translation id="1178374936842835197">Si alguna opció de configuració no es mostra en aquesta pàgina, consulta la <ph name="LINK_BEGIN" />configuració de ChromeOS Flex<ph name="LINK_END" />.</translation>
 <translation id="1203500561924088507">T'agraïm la instal·lació. Has de reiniciar el navegador abans d'utilitzar <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Reinicia per actualitzar &amp;Chrome</translation>
 <translation id="1302523850133262269">Espereu mentre Chrome instal·la les actualitzacions més recents del sistema.</translation>
@@ -119,7 +118,6 @@
 <translation id="3080151273017101988">Continua executant aplicacions de segon pla en tancar Google Chrome</translation>
 <translation id="3089968997497233615">Hi ha disponible una nova versió més segura de Google Chrome.</translation>
 <translation id="3100998948628680988">Posa nom al teu perfil de Chrome</translation>
-<translation id="3103390129666310801">Per veure si el dispositiu està actualitzat, ves a la <ph name="LINK_BEGIN" />configuració de ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Per comprovar si les teves altres contrasenyes estan protegides contra violacions de les dades i contra altres problemes de seguretat, <ph name="BEGIN_LINK" />inicia la sessió a Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Els canvis es faran efectius la propera vegada que reinicieu Google Chrome.</translation>
 <translation id="3149510190863420837">Aplicacions de Chrome</translation>
@@ -210,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Per obtenir actualitzacions de Google Chrome en un futur, necessitaràs macOS 10.13 o una versió posterior. Aquest ordinador utilitza OS X 10.11.</translation>
 <translation id="5098668839038261629">Si aquesta opció està activada, també se't tancarà la sessió de Chrome</translation>
-<translation id="5112116809696021727">Per veure si el dispositiu està actualitzat, ves a la <ph name="LINK_BEGIN" />configuració de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Descobriu aplicacions, jocs, extensions i temes genials per a Google Chrome.</translation>
 <translation id="5139423532931106058">Personalitza el teu perfil de Chrome</translation>
 <translation id="5163087008893166964">Et donem la benvinguda a Chrome; s'ha obert una altra finestra del navegador</translation>
@@ -246,8 +243,6 @@
 <translation id="5940385492829620908">El vostre web, les adreces d'interès i altres coses de Chrome resideixen aquí.</translation>
 <translation id="5941711191222866238">Minimitza</translation>
 <translation id="5941830788786076944">Estableix Google Chrome com el navegador predeterminat</translation>
-<translation id="5959292945051687759">Si alguna opció de configuració no es mostra en aquesta pàgina, consulta la <ph name="LINK_BEGIN" />
-        configuració de Chrome OS<ph name="LINK_END" />.</translation>
 <translation id="6003112304606738118">S'està baixant… Queden <ph name="HOURS" /> hores</translation>
 <translation id="6040143037577758943">Tanca</translation>
 <translation id="6070348360322141662">Per a més seguretat, Google Chrome encriptarà les teves dades</translation>
diff --git a/chrome/app/resources/google_chrome_strings_cs.xtb b/chrome/app/resources/google_chrome_strings_cs.xtb
index 6955bea..146c3e8 100644
--- a/chrome/app/resources/google_chrome_strings_cs.xtb
+++ b/chrome/app/resources/google_chrome_strings_cs.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Chrome nelze aktualizovat</translation>
 <translation id="1152920704813762236">O systému ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Otevřít v Chromu</translation>
-<translation id="1178374936842835197">Pokud některé nastavení na této stránce není zobrazeno, podívejte se do <ph name="LINK_BEGIN" />nastavení systému ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Děkujeme za instalaci aplikace <ph name="BUNDLE_NAME" />. Před jejím použitím je potřeba restartovat prohlížeč.</translation>
 <translation id="1278833599417554002">Znovu spustit a aktualizovat &amp;Chrome</translation>
 <translation id="1302523850133262269">Počkejte prosím, než Chrome nainstaluje nejnovější aktualizace systému.</translation>
@@ -123,7 +122,6 @@
 <translation id="3080151273017101988">Po ukončení prohlížeče Google Chrome nechat aplikace na pozadí spuštěné</translation>
 <translation id="3089968997497233615">K dispozici je nová, bezpečnější verze prohlížeče Google Chrome.</translation>
 <translation id="3100998948628680988">Zadejte název profilu Chrome</translation>
-<translation id="3103390129666310801">Chcete-li se podívat, zda je zařízení aktualizované, přejděte do <ph name="LINK_BEGIN" />Nastavení systému ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Chcete-li zkontrolovat, zda jsou ostatní hesla v bezpečí před porušením zabezpečení údajů a ostatními bezpečnostními hrozbami, <ph name="BEGIN_LINK" />přihlaste se do Chromu<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Změny se projeví po příštím restartu prohlížeče Google Chrome.</translation>
 <translation id="3149510190863420837">Aplikace Chrome</translation>
@@ -214,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Pokud chcete v budoucnu dostávat aktualizace prohlížeče Google Chrome, budete potřebovat systém MacOS 10.13 nebo novější. Tento počítač používá systém OS X 10.11.</translation>
 <translation id="5098668839038261629">Když zapnete tuto možnost, budete také odhlášeni z Chromu</translation>
-<translation id="5112116809696021727">Pokud se chcete podívat, zda je zařízení aktualizované, přejděte do <ph name="LINK_BEGIN" />Nastavení ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Objevte skvělé aplikace, hry, rozšíření a motivy prohlížeče Google Chrome.</translation>
 <translation id="5139423532931106058">Upravit profil Chrome</translation>
 <translation id="5163087008893166964">Vítá vás Chrome; bylo otevřeno nové okno prohlížeče</translation>
@@ -254,7 +251,6 @@
 <translation id="5940385492829620908">Zde jsou k dispozici vaše weby, záložky a další obsah Chromu.</translation>
 <translation id="5941711191222866238">Minimalizovat</translation>
 <translation id="5941830788786076944">Nastavit Google Chrome jako výchozí prohlížeč</translation>
-<translation id="5959292945051687759">Pokud některé nastavení na této stránce není zobrazeno, podívejte se do <ph name="LINK_BEGIN" />nastavení systému ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Stahování… Zbývající čas: <ph name="HOURS" /> h.</translation>
 <translation id="6040143037577758943">Zavřít</translation>
 <translation id="6070348360322141662">V zájmu lepšího zabezpečení bude Google Chrome vaše data šifrovat</translation>
diff --git a/chrome/app/resources/google_chrome_strings_cy.xtb b/chrome/app/resources/google_chrome_strings_cy.xtb
index c4bac60..1765788f 100644
--- a/chrome/app/resources/google_chrome_strings_cy.xtb
+++ b/chrome/app/resources/google_chrome_strings_cy.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Ni ellir diweddaru Chrome</translation>
 <translation id="1152920704813762236">Ynghylch ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Agor yn Chrome</translation>
-<translation id="1178374936842835197">Os nad yw gosodiad yn ymddangos ar y dudalen hon, edrychwch yn eich <ph name="LINK_BEGIN" />
-      gosodiadau ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Diolch am osod. Rhaid i chi ailgychwyn eich porwr cyn defnyddio <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Ail-lansiwch i ddiweddaru &amp;Chrome</translation>
 <translation id="1302523850133262269">Arhoswch dra bod Chrome yn gosod y diweddariadau system diweddaraf.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Parhau i redeg apiau cefndir pan fydd Google Chrome ar gau</translation>
 <translation id="3089968997497233615">Mae fersiwn newydd, fwy diogel o Google Chrome ar gael.</translation>
 <translation id="3100998948628680988">Enwch eich proffil Chrome</translation>
-<translation id="3103390129666310801">I weld a yw'ch dyfais yn gyfredol, ewch i <ph name="LINK_BEGIN" />Osodiadau ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">I wirio a yw'ch cyfrineiriau eraill yn ddiogel rhag toriadau data a phroblemau diogelwch eraill, <ph name="BEGIN_LINK" />mewngofnodwch i Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Bydd eich newidiadau yn dod i rym y tro nesaf y byddwch yn ail-lansio Google Chrome.</translation>
 <translation id="3149510190863420837">Apiau Chrome</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">I gael diweddariadau Google Chrome yn y dyfodol, bydd angen macOS 10.13 neu'n hwyrach arnoch. Mae'r cyfrifiadur hwn yn defnyddio OS X 10.11.</translation>
 <translation id="5098668839038261629">Pan fydd ymlaen, byddwch hefyd yn cael eich allgofnodi o Chrome</translation>
-<translation id="5112116809696021727">I weld a yw'ch dyfais yn gyfredol, ewch i <ph name="LINK_BEGIN" />Osodiadau ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Darganfyddwch apiau, gemau, estyniadau a themâu gwych ar gyfer Google Chrome.</translation>
 <translation id="5139423532931106058">Personoleiddio'ch proffil Chrome</translation>
 <translation id="5163087008893166964">Croeso i Chrome; agorwyd ffenestr porwr newydd</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Mae'ch gwe, nodau tudalen, a phethau Chrome eraill yn byw yma.</translation>
 <translation id="5941711191222866238">Lleihau</translation>
 <translation id="5941830788786076944">Gwneud Google Chrome y porwr diofyn</translation>
-<translation id="5959292945051687759">Os nad yw gosodiad yn ymddangos ar y dudalen hon, edrychwch yn eich <ph name="LINK_BEGIN" />
-      gosodiadau ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Wrthi'n lawrlwytho... Mae <ph name="HOURS" /> awr ar ôl</translation>
 <translation id="6040143037577758943">Cau</translation>
 <translation id="6070348360322141662">Er mwyn sicrhau mwy o ddiogelwch, bydd Google Chrome yn amgryptio eich data</translation>
diff --git a/chrome/app/resources/google_chrome_strings_da.xtb b/chrome/app/resources/google_chrome_strings_da.xtb
index 8885b27..b2083c71 100644
--- a/chrome/app/resources/google_chrome_strings_da.xtb
+++ b/chrome/app/resources/google_chrome_strings_da.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chrome kan ikke opdateres</translation>
 <translation id="1152920704813762236">Om Chrome OS</translation>
 <translation id="1154147086299354128">Åbn i Chr&amp;ome</translation>
-<translation id="1178374936842835197">Hvis en indstilling ikke vises på denne side, kan du kigge i <ph name="LINK_BEGIN" />
-        indstillingerne for ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Tak for installationen. Du skal genstarte browseren, før du bruger <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Genstart og opdater &amp;Chrome</translation>
 <translation id="1302523850133262269">Vent, mens Chrome installerer de nyeste systemopdateringer.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Fortsæt med at køre baggrundsapps, når Google Chrome er lukket</translation>
 <translation id="3089968997497233615">Der findes en ny, sikker version af Google Chrome.</translation>
 <translation id="3100998948628680988">Navngiv din Chrome-profil</translation>
-<translation id="3103390129666310801">Du kan se, om din enhed er opdateret, ved at gå til <ph name="LINK_BEGIN" />indstillingerne for ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Du kan tjekke, om dine andre adgangskoder er beskyttet mod brud på datasikkerheden og andre sikkerhedsproblemer, ved at <ph name="BEGIN_LINK" />logge ind på Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Dine ændringer træder i kraft, næste gang du åbner Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome-apps</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Hvis du vil have fremtidige Google Chrome-opdateringer, skal du have macOS 10.13 eller nyere. Denne computer anvender OS X 10.11.</translation>
 <translation id="5098668839038261629">Når den er slået til, bliver du også logget ud af Chrome</translation>
-<translation id="5112116809696021727">Du kan se, om en enhed er opdateret, ved at gå til <ph name="LINK_BEGIN" />indstillingerne for Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Find fantastiske apps, spil, udvidelser og temaer til Google Chrome.</translation>
 <translation id="5139423532931106058">Tilpas din Chrome-profil</translation>
 <translation id="5163087008893166964">Velkommen til Chrome – Et nyt browservindue er åbnet</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">Dit webindhold, dine bogmærker og andre Chrome-ting kan findes her.</translation>
 <translation id="5941711191222866238">Minimer</translation>
 <translation id="5941830788786076944">Gør Google Chrome til din standardbrowser</translation>
-<translation id="5959292945051687759">Hvis en indstilling ikke vises på denne side, kan du kigge i <ph name="LINK_BEGIN" />
-        indstillingerne for Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Downloader… Der er <ph name="HOURS" /> timer tilbage</translation>
 <translation id="6040143037577758943">Luk</translation>
 <translation id="6070348360322141662">Som et ekstra sikkerhedsniveau krypterer Google Chrome dine data</translation>
diff --git a/chrome/app/resources/google_chrome_strings_de.xtb b/chrome/app/resources/google_chrome_strings_de.xtb
index b483205..98919284 100644
--- a/chrome/app/resources/google_chrome_strings_de.xtb
+++ b/chrome/app/resources/google_chrome_strings_de.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">Chrome kann nicht aktualisiert werden</translation>
 <translation id="1152920704813762236">Über Chrome OS</translation>
 <translation id="1154147086299354128">In Chr&amp;ome öffnen</translation>
-<translation id="1178374936842835197">Wenn du auf dieser Seite eine Einstellung nicht finden kannst, sieh in den <ph name="LINK_BEGIN" />Einstellungen von Chrome OS Flex<ph name="LINK_END" /> nach</translation>
 <translation id="1203500561924088507">Vielen Dank für die Installation. Du musst deinen Browser neu starten, bevor du <ph name="BUNDLE_NAME" /> verwenden kannst.</translation>
 <translation id="1278833599417554002">Neu starten, um &amp;Chrome zu aktualisieren</translation>
 <translation id="1302523850133262269">Bitte warte, bis die aktuellen Systemupdates von Chrome installiert wurden.</translation>
@@ -119,7 +118,6 @@
 <translation id="3080151273017101988">Apps im Hintergrund ausführen, wenn Google Chrome geschlossen ist</translation>
 <translation id="3089968997497233615">Es gibt eine neue, sicherere Version von Google Chrome.</translation>
 <translation id="3100998948628680988">Chrome-Profil benennen</translation>
-<translation id="3103390129666310801">Du kannst anhand der <ph name="LINK_BEGIN" />Einstellungen von Chrome OS Flex<ph name="LINK_END" /> sehen, ob dein Gerät auf dem neuesten Stand ist</translation>
 <translation id="3114643501466072395">Wenn du prüfen möchtest, ob deine anderen Passwörter von Datenpannen und anderen Sicherheitsproblemen betroffen sind, <ph name="BEGIN_LINK" />melde dich in Chrome an<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Deine Änderungen werden beim nächsten Neustart von Google Chrome wirksam.</translation>
 <translation id="3149510190863420837">Chrome-Apps</translation>
@@ -210,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Du benötigst macOS 10.13 oder höher, um zukünftige Google Chrome-Updates zu erhalten. Auf diesem Computer wird OS X 10.11 ausgeführt.</translation>
 <translation id="5098668839038261629">Wenn aktiviert, wirst du auch aus Chrome abgemeldet</translation>
-<translation id="5112116809696021727">Du kannst anhand der <ph name="LINK_BEGIN" />Einstellungen von Chrome OS<ph name="LINK_END" /> sehen, ob dein Gerät auf dem neuesten Stand ist</translation>
 <translation id="5132929315877954718">Entdecke tolle Apps, Spiele, Erweiterungen und Designs für Google Chrome.</translation>
 <translation id="5139423532931106058">Chrome-Profil personalisieren</translation>
 <translation id="5163087008893166964">Willkommen bei Chrome; neues Browserfenster geöffnet</translation>
@@ -246,7 +243,6 @@
 <translation id="5940385492829620908">Hier kannst du im Web surfen und deine Lesezeichen und andere Chrome-Inhalte speichern.</translation>
 <translation id="5941711191222866238">Minimieren</translation>
 <translation id="5941830788786076944">Google Chrome als Standardbrowser festlegen</translation>
-<translation id="5959292945051687759">Wenn du auf dieser Seite eine Einstellung nicht finden kannst, sieh in den <ph name="LINK_BEGIN" />Einstellungen von Chrome OS<ph name="LINK_END" /> nach</translation>
 <translation id="6003112304606738118">Wird heruntergeladen… Noch <ph name="HOURS" /> Stunde(n)</translation>
 <translation id="6040143037577758943">Schließen</translation>
 <translation id="6070348360322141662">Zur Erhöhung der Sicherheit verschlüsselt Google Chrome deine Daten</translation>
diff --git a/chrome/app/resources/google_chrome_strings_el.xtb b/chrome/app/resources/google_chrome_strings_el.xtb
index a05e406..426adb9 100644
--- a/chrome/app/resources/google_chrome_strings_el.xtb
+++ b/chrome/app/resources/google_chrome_strings_el.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Δεν είναι δυνατή η ενημέρωση του Chrome</translation>
 <translation id="1152920704813762236">Σχετικά με το Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Άνοιγμα στο Chrome</translation>
-<translation id="1178374936842835197">Εάν μια ρύθμιση δεν εμφανίζεται σε αυτήν τη σελίδα, αναζητήστε τη στις <ph name="LINK_BEGIN" />
-        ρυθμίσεις του ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Ευχαριστούμε για την εγκατάσταση. Πρέπει να επανεκκινήσετε το πρόγραμμα περιήγησής σας πριν από τη χρήση του <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Επανεκκίνηση για ενημέρωση του &amp;Chrome</translation>
 <translation id="1302523850133262269">Περιμένετε μέχρι να γίνει εγκατάσταση των πιο πρόσφατων ενημερώσεων συστήματος από το Chrome.</translation>
@@ -122,7 +120,6 @@
 <translation id="3080151273017101988">Να συνεχίζεται η εκτέλεση εφαρμογών παρασκηνίου όταν το Google Chrome είναι κλειστό</translation>
 <translation id="3089968997497233615">Υπάρχει μια νέα, ασφαλέστερη έκδοση του Google Chrome.</translation>
 <translation id="3100998948628680988">Ονομάστε το προφίλ σας στο Chrome</translation>
-<translation id="3103390129666310801">Για να δείτε αν η συσκευή σας είναι ενημερωμένη, μεταβείτε στις <ph name="LINK_BEGIN" />Ρυθμίσεις του ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Για να ελέγξετε αν οι άλλοι κωδικοί πρόσβασής σας είναι ασφαλείς από παραβιάσεις δεδομένων και άλλα ζητήματα ασφαλείας, <ph name="BEGIN_LINK" />συνδεθείτε στο Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Οι αλλαγές που πραγματοποιήσατε θα ισχύσουν την επόμενη φορά που θα επανεκκινήσετε το Google Chrome.</translation>
 <translation id="3149510190863420837">Εφαρμογές Chrome</translation>
@@ -213,7 +210,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Για τη λήψη μελλοντικών ενημερώσεων του Google Chrome, θα χρειαστείτε macOS 10.13 ή νεότερη έκδοση. Αυτός ο υπολογιστής χρησιμοποιεί OS X 10.11.</translation>
 <translation id="5098668839038261629">Όταν είναι ενεργή η επιλογή, θα αποσυνδεθείτε και από το Chrome</translation>
-<translation id="5112116809696021727">Για να διαπιστώσετε εάν η συσκευή σας είναι ενημερωμένη, μεταβείτε στις <ph name="LINK_BEGIN" />Ρυθμίσεις του Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Ανακαλύψτε υπέροχες εφαρμογές, παιχνίδια, επεκτάσεις και θέματα για το Google Chrome.</translation>
 <translation id="5139423532931106058">Προσαρμόστε το προφίλ σας Chrome</translation>
 <translation id="5163087008893166964">Καλωσορίσατε στο Chrome. Ένα νέο παράθυρο προγράμματος περιήγησης έχει ανοίξει.</translation>
@@ -251,8 +247,6 @@
 <translation id="5940385492829620908">Εδώ μπορείτε να βρείτε τις ιστοσελίδες, τους σελιδοδείκτες σας και άλλα δεδομένα του Chrome.</translation>
 <translation id="5941711191222866238">Ελαχιστοποίηση</translation>
 <translation id="5941830788786076944">Ορισμός Google Chrome ως προεπιλεγμένο πρόγραμμα περιήγησης</translation>
-<translation id="5959292945051687759">Εάν μια ρύθμιση δεν εμφανίζεται σε αυτήν τη σελίδα, αναζητήστε τη στις <ph name="LINK_BEGIN" />
-        ρυθμίσεις του Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Λήψη… Απομένουν <ph name="HOURS" /> ώρες</translation>
 <translation id="6040143037577758943">Κλείσιμο</translation>
 <translation id="6070348360322141662">Για επιπλέον ασφάλεια, το Google Chrome θα κρυπτογραφήσει τα δεδομένα σας</translation>
diff --git a/chrome/app/resources/google_chrome_strings_en-GB.xtb b/chrome/app/resources/google_chrome_strings_en-GB.xtb
index ddbce32..536fdee 100644
--- a/chrome/app/resources/google_chrome_strings_en-GB.xtb
+++ b/chrome/app/resources/google_chrome_strings_en-GB.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Can't update Chrome</translation>
 <translation id="1152920704813762236">About Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Open in Chrome</translation>
-<translation id="1178374936842835197">If a setting doesn't show on this page, look in your <ph name="LINK_BEGIN" />
-        Chrome OS Flex settings<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Thanks for installing. You must restart your browser before using <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Relaunch to update &amp;Chrome</translation>
 <translation id="1302523850133262269">Please wait while Chrome installs the latest system updates.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">Continue running background apps when Google Chrome is closed</translation>
 <translation id="3089968997497233615">There's a new, safer version of Google Chrome available.</translation>
 <translation id="3100998948628680988">Name your Chrome profile</translation>
-<translation id="3103390129666310801">To see if your device is up to date, go to <ph name="LINK_BEGIN" />Chrome OS Flex settings<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">To check if your other passwords are safe from data breaches and other security issues, <ph name="BEGIN_LINK" />sign in to Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Your changes will take effect the next time you relaunch Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">To get future Google Chrome updates, you'll need macOS 10.13 or later. This computer is using OS X 10.11.</translation>
 <translation id="5098668839038261629">When on, you'll also be signed out of Chrome</translation>
-<translation id="5112116809696021727">To see if your device is up to date, go to <ph name="LINK_BEGIN" />Chrome OS Settings<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Discover great apps, games, extensions and themes for Google Chrome.</translation>
 <translation id="5139423532931106058">Customise your Chrome profile</translation>
 <translation id="5163087008893166964">Welcome to Chrome; new browser window opened</translation>
@@ -254,8 +250,6 @@
 <translation id="5940385492829620908">Your web, bookmarks and other Chrome stuff live here.</translation>
 <translation id="5941711191222866238">Minimise</translation>
 <translation id="5941830788786076944">Make Google Chrome the default browser</translation>
-<translation id="5959292945051687759">If a setting doesn't show on this page, look in your <ph name="LINK_BEGIN" />
-        Chrome OS settings<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Downloading… <ph name="HOURS" /> hour(s) remaining</translation>
 <translation id="6040143037577758943">Close</translation>
 <translation id="6070348360322141662">For added security, Google Chrome will encrypt your data</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es-419.xtb b/chrome/app/resources/google_chrome_strings_es-419.xtb
index 2265732..e11bbef5 100644
--- a/chrome/app/resources/google_chrome_strings_es-419.xtb
+++ b/chrome/app/resources/google_chrome_strings_es-419.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">No se puede actualizar Chrome</translation>
 <translation id="1152920704813762236">Acerca de Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Abrir en Chrome</translation>
-<translation id="1178374936842835197">Si no ves un parámetro de configuración en esta página, consulta la <ph name="LINK_BEGIN" />
-        configuración de Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Gracias por instalar <ph name="BUNDLE_NAME" />. Debes reiniciar tu navegador antes de usarlo.</translation>
 <translation id="1278833599417554002">Reiniciar para actualizar &amp;Chrome</translation>
 <translation id="1302523850133262269">Espera mientras Chrome instala las últimas actualizaciones del sistema.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Seguir ejecutando aplicaciones en segundo plano al cerrar Google Chrome</translation>
 <translation id="3089968997497233615">Hay disponible una versión de Google Chrome más nueva y más segura.</translation>
 <translation id="3100998948628680988">Asígnale un nombre a tu perfil de Chrome</translation>
-<translation id="3103390129666310801">Para saber si tu dispositivo está actualizado, ve a la <ph name="LINK_BEGIN" />configuración de Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Para comprobar si tus otras contraseñas están a salvo de violaciones de la seguridad de los datos y otros problemas de seguridad, <ph name="BEGIN_LINK" />accede a Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Los cambios se aplicarán la próxima vez que reinicies Google Chrome.</translation>
 <translation id="3149510190863420837">Aplicaciones de Chrome</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canario</translation>
 <translation id="5037581483200764584">Para recibir las próximas actualizaciones de Google Chrome, necesitarás macOS 10.13 o versiones posteriores. Esta computadora usa OS X 10.11.</translation>
 <translation id="5098668839038261629">Si activas esta opción, saldrás de Chrome</translation>
-<translation id="5112116809696021727">Para saber si tu dispositivo está actualizado, ve a la <ph name="LINK_BEGIN" />configuración de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Descubre aplicaciones, juegos, extensiones y temas geniales para Google Chrome.</translation>
 <translation id="5139423532931106058">Personalizar tu perfil de Chrome</translation>
 <translation id="5163087008893166964">Te damos la bienvenida a Chrome; se abrió una nueva ventana del navegador</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">Aquí puedes encontrar tus páginas web, favoritos y otros contenidos de Chrome.</translation>
 <translation id="5941711191222866238">Minimizar</translation>
 <translation id="5941830788786076944">Haga de Google Chrome su navegador predeterminado</translation>
-<translation id="5959292945051687759">Si no ves una configuración en esta página, consulta la <ph name="LINK_BEGIN" />
-      configuración de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Descargando… Horas restantes: <ph name="HOURS" /></translation>
 <translation id="6040143037577758943">Cerrar</translation>
 <translation id="6070348360322141662">Para mejorar la seguridad, Google Chrome encriptará los datos</translation>
diff --git a/chrome/app/resources/google_chrome_strings_es.xtb b/chrome/app/resources/google_chrome_strings_es.xtb
index a112868..fe4fefa 100644
--- a/chrome/app/resources/google_chrome_strings_es.xtb
+++ b/chrome/app/resources/google_chrome_strings_es.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">No se puede actualizar Chrome</translation>
 <translation id="1152920704813762236">Información de ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Abrir en Chrome</translation>
-<translation id="1178374936842835197">Si no se muestra alguno de los ajustes en esta página, mira en la <ph name="LINK_BEGIN" />
-        configuración de ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Gracias por realizar la instalación. Debes reiniciar tu navegador para poder usar <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Reiniciar para actualizar &amp;Chrome</translation>
 <translation id="1302523850133262269">Espera mientras Chrome instala las últimas actualizaciones del sistema.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Seguir ejecutando aplicaciones en segundo plano al cerrar Google Chrome</translation>
 <translation id="3089968997497233615">Hay una nueva versión más segura de Google Chrome disponible.</translation>
 <translation id="3100998948628680988">Pon un nombre a tu perfil de Chrome</translation>
-<translation id="3103390129666310801">Para comprobar si tu dispositivo está actualizado, ve a los <ph name="LINK_BEGIN" />ajustes de ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Para comprobar si tus otras contraseñas han sufrido quiebras de seguridad de datos u otros problemas de seguridad, <ph name="BEGIN_LINK" />inicia sesión en Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Los cambios se aplicarán la próxima vez que reinicies Google Chrome.</translation>
 <translation id="3149510190863420837">Aplicaciones de Chrome</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Para recibir futuras actualizaciones de Google Chrome, necesitarás macOS 10.13 o una versión posterior. Este ordenador utiliza OS X 10.11.</translation>
 <translation id="5098668839038261629">Si activas esta opción, también se cerrará tu sesión en Chrome</translation>
-<translation id="5112116809696021727">Para comprobar si tu dispositivo está actualizado, accede a la <ph name="LINK_BEGIN" />configuración de ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Descubre formidables aplicaciones, juegos, extensiones y temas para Google Chrome.</translation>
 <translation id="5139423532931106058">Personaliza tu perfil de Chrome</translation>
 <translation id="5163087008893166964">Te damos la bienvenida a Chrome. Se ha abierto una nueva ventana del navegador.</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Aquí puedes encontrar tus páginas web, tus marcadores y otros contenidos de Chrome.</translation>
 <translation id="5941711191222866238">Minimizar</translation>
 <translation id="5941830788786076944">Establecer Google Chrome como navegador predeterminado</translation>
-<translation id="5959292945051687759">Si no se muestra alguno de los ajustes en esta página, consulta tu <ph name="LINK_BEGIN" />
-        configuración de ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Descargando... Horas restantes: <ph name="HOURS" />.</translation>
 <translation id="6040143037577758943">Cerrar</translation>
 <translation id="6070348360322141662">Para mayor seguridad, Google Chrome cifrará tus datos</translation>
diff --git a/chrome/app/resources/google_chrome_strings_et.xtb b/chrome/app/resources/google_chrome_strings_et.xtb
index 9df5848..3a14d58 100644
--- a/chrome/app/resources/google_chrome_strings_et.xtb
+++ b/chrome/app/resources/google_chrome_strings_et.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chrome'i ei saa värskendada</translation>
 <translation id="1152920704813762236">Teave Chrome OS-i kohta</translation>
 <translation id="1154147086299354128">&amp;Ava Chrome'is</translation>
-<translation id="1178374936842835197">Kui seadet sellel lehel ei kuvata, vaadake oma <ph name="LINK_BEGIN" />
-        Chrome OS Flexi seadeid<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Täname teid installimise eest. Enne brauseri <ph name="BUNDLE_NAME" /> kasutamist peate selle taaskäivitama.</translation>
 <translation id="1278833599417554002">Taaskäivitage &amp;Chrome'i värskendamiseks</translation>
 <translation id="1302523850133262269">Oodake, kuni Chrome installib uusimad süsteemivärskendused.</translation>
@@ -121,7 +119,6 @@
 <translation id="3080151273017101988">Jätka taustal olevate rakenduste tööd, kui Google Chrome on suletud</translation>
 <translation id="3089968997497233615">Saadaval on uus ja turvalisem Google Chrome'i versioon.</translation>
 <translation id="3100998948628680988">Andke oma Chrome'i profiilile nimi</translation>
-<translation id="3103390129666310801">Kui soovite teada saada, kas teie seade on ajakohane, avage <ph name="LINK_BEGIN" />Chrome OS Flexi seaded<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Kui soovite kontrollida, kas teie muud paroolid on andmetega seotud rikkumiste ja muude turvaprobleemide eest kaitstud, <ph name="BEGIN_LINK" />logige Chrome'i sisse<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Teie muudatused jõustuvad järgmine kord, kui avate Google Chrome'i.</translation>
 <translation id="3149510190863420837">Chrome'i rakendused</translation>
@@ -212,7 +209,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chrome'i tulevaste värskenduste saamiseks on teil vaja operatsioonisüsteemi macOS 10.13 või uuemat versiooni. See arvuti kasutab operatsioonisüsteemi OS X 10.11.</translation>
 <translation id="5098668839038261629">Kui see on sisse lülitatud, logitakse teid ka Chrome'ist välja</translation>
-<translation id="5112116809696021727">Kui soovite teada saada, kas teie seade on ajakohane, avage <ph name="LINK_BEGIN" />Chromium OS-i seaded<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Avastage Google Chrome'i jaoks suurepäraseid rakendusi, mänge, laiendusi ja teemasid.</translation>
 <translation id="5139423532931106058">Kohandage oma Chrome'i profiili</translation>
 <translation id="5163087008893166964">Tere tulemast Chrome'i; avati uus brauseriaken</translation>
@@ -250,8 +246,6 @@
 <translation id="5940385492829620908">Siin asuvad teie veeb, järjehoidjad ja muu Chrome'i kraam.</translation>
 <translation id="5941711191222866238">Minimeeri</translation>
 <translation id="5941830788786076944">Tee Google Chrome vaikebrauseriks</translation>
-<translation id="5959292945051687759">Kui seadet sellel lehel ei kuvata, vaadake oma <ph name="LINK_BEGIN" />
-        Chrome OS-i seadeid<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Allalaadimine … <ph name="HOURS" /> tund(i) on jäänud</translation>
 <translation id="6040143037577758943">Sulge</translation>
 <translation id="6070348360322141662">Turvalisuse suurendamiseks krüpteerib Google Chrome teie andmed</translation>
diff --git a/chrome/app/resources/google_chrome_strings_eu.xtb b/chrome/app/resources/google_chrome_strings_eu.xtb
index 65e9aed..0822841 100644
--- a/chrome/app/resources/google_chrome_strings_eu.xtb
+++ b/chrome/app/resources/google_chrome_strings_eu.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Ezin da eguneratu Chrome</translation>
 <translation id="1152920704813762236">Chrome OS-ri buruz</translation>
 <translation id="1154147086299354128">&amp;Ireki Chrome-n</translation>
-<translation id="1178374936842835197">Ezarpenen bat orri honetan agertzen ez bada, bila ezazu <ph name="LINK_BEGIN" />
-        ChromeOS Flex-en ezarpenetan<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Eskerrik asko instalatzeagatik. <ph name="BUNDLE_NAME" /> erabiltzeko, arakatzailea berrabiarazi behar duzu.</translation>
 <translation id="1278833599417554002">Abiaraz ezazu berriro &amp;Chrome eguneratzeko</translation>
 <translation id="1302523850133262269">Itxaron Chrome-k sistemaren azken eguneratzeak instalatu arte.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">Mantendu atzeko planoko aplikazioak abian Google Chrome ixten denean</translation>
 <translation id="3089968997497233615">Google Chrome-ren bertsio berriagoa eta seguruagoa erabilgarri dago.</translation>
 <translation id="3100998948628680988">Eman izen bat Chrome-ko profilari</translation>
-<translation id="3103390129666310801">Gailua eguneratuta dagoen ikusteko, joan <ph name="LINK_BEGIN" />ChromeOS Flex-en ezarpenetara<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Gainerako pasahitzak datuen isilpekotasunaren urratzeen eta beste segurtasun-arazoen aurka babestuta dauden egiaztatzeko, <ph name="BEGIN_LINK" />hasi saioa Chrome-n<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Aldaketek Google Chrome abiarazten duzun hurrengo aldian izango dute eragina.</translation>
 <translation id="3149510190863420837">Chrome-ren aplikazioak</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Etorkizunean Google Chrome-ren eguneratzeak eskuratzeko, macOS 10.13 edo berriago bat beharko duzu. Ordenagailu hau OS X 10.11 erabiltzen ari da.</translation>
 <translation id="5098668839038261629">Aktibatuta dagoenean, Chrome-ko saioa ere amaituko da</translation>
-<translation id="5112116809696021727">Gailua eguneratuta dagoen ikusteko, joan <ph name="LINK_BEGIN" />Chrome OS-ren ezarpenetara<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Ezagutu Google Chrome-rako aplikazio, joko, luzapen eta gai bikainak.</translation>
 <translation id="5139423532931106058">Pertsonalizatu Chrome-ko profila</translation>
 <translation id="5163087008893166964">Ongi etorri Chrome-ra; beste leiho bat ireki da arakatzailean</translation>
@@ -254,7 +250,6 @@
 <translation id="5940385492829620908">Zure weba, laster-markak eta Chrome-n dituzun beste gauzak hemen bizi dira.</translation>
 <translation id="5941711191222866238">Minimizatu</translation>
 <translation id="5941830788786076944">Ezarri Google Chrome arakatzaile lehenetsi gisa</translation>
-<translation id="5959292945051687759">Ezarpenen bat orri honetan agertzen ez bada, bila ezazu <ph name="LINK_BEGIN" />Chrome OS-ren ezarpenetan<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Deskargatzen… <ph name="HOURS" /> ordu geratzen dira.</translation>
 <translation id="6040143037577758943">Itxi</translation>
 <translation id="6070348360322141662">Segurtasun gehiago izateko, Google Chrome-k datuak enkriptatuko ditu</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fa.xtb b/chrome/app/resources/google_chrome_strings_fa.xtb
index fa38f6b..adbaabdc 100644
--- a/chrome/app/resources/google_chrome_strings_fa.xtb
+++ b/chrome/app/resources/google_chrome_strings_fa.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">‏به‌روزرسانی Chrome امکان‌پذیر نیست</translation>
 <translation id="1152920704813762236">‏درباره ChromeOS</translation>
 <translation id="1154147086299354128">‏&amp;باز کردن در Chrome</translation>
-<translation id="1178374936842835197">‏اگر تنظیمی در این صفحه نشان داده نمی‌شود، در <ph name="LINK_BEGIN" />
-        تنظیمات ChromeOS Flex<ph name="LINK_END" /> به‌دنبالش بگردید</translation>
 <translation id="1203500561924088507">بابت نصب از شما سپاس‌گزاریم. قبل‌از استفاده از <ph name="BUNDLE_NAME" />، باید مرورگر را بازراه‌اندازی کنید.</translation>
 <translation id="1278833599417554002">‏راه‌اندازی مجدد برای به‌روزرسانی Chrome</translation>
 <translation id="1302523850133262269">‏لطفاً صبر کنید تا Chrome جدیدترین به‌روزرسانی‌های سیستم را نصب کند.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">‏ادامه اجرای برنامه‌ها در پس‌زمینه هنگامیکه Google Chrome بسته می‌شود</translation>
 <translation id="3089968997497233615">‏نسخه جدید و امن تری از Google Chrome موجود است.</translation>
 <translation id="3100998948628680988">‏نام‌گذاری نمایه Chrome</translation>
-<translation id="3103390129666310801">‏برای اینکه بدانید دستگاهتان به‌روز است یا نه، به <ph name="LINK_BEGIN" />تنظیمات ChromeOS Flex<ph name="LINK_END" /> بروید</translation>
 <translation id="3114643501466072395">‏برای بررسی اینکه از دیگر گذرواژه‌هایتان دربرابر نقض داده یا دیگر مشکلات امنیتی محافظت می‌شود یا نه، <ph name="BEGIN_LINK" />به سیستم Chrome وارد شوید<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">‏دفعه بعد که Google Chrome را مجدداً راه‌اندازی می‌کنید، این تغییرات اعمال می‌شوند.</translation>
 <translation id="3149510190863420837">‏برنامه‌های Chrome</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">‏برای دریافت به‌روزرسانی‌های آتی Google Chrome، باید macOS نسخه ۱۰.۱۳ یا بالاتر داشته باشید. این رایانه از OS X نسخه ۱۰.۱۱ استفاده می‌کند.</translation>
 <translation id="5098668839038261629">‏وقتی روشن باشد، از سیستم Chrome نیز خارج خواهید شد</translation>
-<translation id="5112116809696021727">‏برای اینکه ببینید دستگاهتان به‌روز است یا نه، به <ph name="LINK_BEGIN" />تنظیمات ChromeOS<ph name="LINK_END" /> بروید</translation>
 <translation id="5132929315877954718">‏برنامه‌های کاربردی، بازی‌ها، افزونه‌ها و طرح‌های زمینه فوق‌العاده را برای Google Chrome کاوش کنید.</translation>
 <translation id="5139423532931106058">‏سفارشی کردن نمایه Chrome</translation>
 <translation id="5163087008893166964">‏به Chrome خوش‌آمدید؛ پنجره مرورگر جدید راه‌اندازی شد</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">‏وب، نشانک‌ها و موارد دیگر Chrome شما در اینجا هستند.</translation>
 <translation id="5941711191222866238">کوچک کردن</translation>
 <translation id="5941830788786076944">‏Google Chrome مرورگر پیش‌فرض شود</translation>
-<translation id="5959292945051687759">‏اگر تنظیمی در این صفحه نشان داده نمی‌شود، در <ph name="LINK_BEGIN" />
-      تنظیمات ChromeOS<ph name="LINK_END" /> آن را جستجو کنید</translation>
 <translation id="6003112304606738118">درحال بارگیری… <ph name="HOURS" /> ساعت باقی مانده است</translation>
 <translation id="6040143037577758943">بستن</translation>
 <translation id="6070348360322141662">‏برای امنیت بیشتر، Google Chrome داده‌های شما را رمزگذاری می‌کند</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fi.xtb b/chrome/app/resources/google_chrome_strings_fi.xtb
index 2aca511..491c8f9 100644
--- a/chrome/app/resources/google_chrome_strings_fi.xtb
+++ b/chrome/app/resources/google_chrome_strings_fi.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chromen päivitys epäonnistui</translation>
 <translation id="1152920704813762236">Tietoa Chrome-käyttöjärjestelmästä</translation>
 <translation id="1154147086299354128">Avaa Chr&amp;omessa</translation>
-<translation id="1178374936842835197">Jos asetus ei näy tällä sivulla, siirry <ph name="LINK_BEGIN" />
-    ChromeOS Flexin asetuksiin<ph name="LINK_END" />.</translation>
 <translation id="1203500561924088507">Kiitos asennuksesta. Selain pitää käynnistää uudelleen ennen kuin <ph name="BUNDLE_NAME" /> otetaan käyttöön.</translation>
 <translation id="1278833599417554002">Päivitä &amp;Chrome käynnistämällä se uudelleen</translation>
 <translation id="1302523850133262269">Odota hetki, Chrome asentaa uusimpia järjestelmäpäivityksiä.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Jätä taustaohjelmat käyntiin, kun Google Chrome suljetaan</translation>
 <translation id="3089968997497233615">Google Chromesta on saatavillaa uusi, turvallisempi versio.</translation>
 <translation id="3100998948628680988">Nimeä Chrome-profiilisi</translation>
-<translation id="3103390129666310801">Tarkista <ph name="LINK_BEGIN" />ChromeOS Flexin asetuksista<ph name="LINK_END" />, onko laitteesi ajan tasalla</translation>
 <translation id="3114643501466072395">Jos haluat tarkistaa, ovatko muut salasanasi turvassa tietosuojaloukkauksilta ja muilta tietoturvaongelmilta, <ph name="BEGIN_LINK" />kirjaudu Chromeen<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Muutokset tulevat voimaan, kun käynnistät Google Chromen seuraavan kerran.</translation>
 <translation id="3149510190863420837">Chrome-sovellukset</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Jotta saat tulevia Google Chromen päivityksiä, sinulla on oltava macOS 10.13 tai uudempi. Tällä tietokoneella on OS X 10.11.</translation>
 <translation id="5098668839038261629">Kun tämä on päällä, sinut kirjataan ulos myös Chromesta</translation>
-<translation id="5112116809696021727">Tarkista <ph name="LINK_BEGIN" />Chrome-käyttöjärjestelmän asetuksista<ph name="LINK_END" />, onko laitteesi ajan tasalla</translation>
 <translation id="5132929315877954718">Löydät hienoja sovelluksia, pelejä ja teemoja Google Chromelle.</translation>
 <translation id="5139423532931106058">Muokkaa Chrome-profiiliasi</translation>
 <translation id="5163087008893166964">Tervetuloa Chromeen, uusi selainikkuna avattu</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">Tämä on verkkosi, kirjanmerkkiesi ja muun Chrome-sisältösi koti.</translation>
 <translation id="5941711191222866238">Pienennä</translation>
 <translation id="5941830788786076944">Tee Google Chromesta oletusselain</translation>
-<translation id="5959292945051687759">Jos asetus ei näy tällä sivulla, siirry <ph name="LINK_BEGIN" />
-        Chrome-käyttöjärjestelmän asetuksiin<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Ladataan… <ph name="HOURS" /> tuntia jäljellä</translation>
 <translation id="6040143037577758943">Sulje</translation>
 <translation id="6070348360322141662">Google Chrome lisää suojausta salaamalla tietosi</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fil.xtb b/chrome/app/resources/google_chrome_strings_fil.xtb
index f01307c..38acfdbc 100644
--- a/chrome/app/resources/google_chrome_strings_fil.xtb
+++ b/chrome/app/resources/google_chrome_strings_fil.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Hindi ma-update ang Chrome</translation>
 <translation id="1152920704813762236">Tungkol sa ChromeOS</translation>
 <translation id="1154147086299354128">Buksan sa Chr&amp;ome</translation>
-<translation id="1178374936842835197">Kung hindi lumalabas ang isang setting sa page na ito, tingnan sa iyong <ph name="LINK_BEGIN" />
-        mga setting ng ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Salamat sa pag-install. Dapat mong i-restart ang iyong browser bago gamitin ang <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Ilunsad ulit para ma-update ang Chrome</translation>
 <translation id="1302523850133262269">Mangyaring maghintay habang ini-install ng Chrome ang mga pinakabagong update sa system.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Magpatuloy sa pagpapatakbo ng mga app sa background kapag nakasara ang Google Chrome</translation>
 <translation id="3089968997497233615">May available na bago, mas ligtas na bersyon ng Google Chrome.</translation>
 <translation id="3100998948628680988">Pangalanan ang iyong profile sa Chrome</translation>
-<translation id="3103390129666310801">Para makita kung up to date ang iyong device, pumunta sa <ph name="LINK_BEGIN" />Mga Setting ng ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Para makita kung ligtas ang iba mo pang password mula sa mga paglabag sa data at iba pang isyu sa seguridad, <ph name="BEGIN_LINK" />mag-sign in sa Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Magkakaroon ng bisa ang iyong mga pagbabago sa susunod na pagkakataong muli mong ilunsad ang Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Para makakuha ng mga update sa Google Chrome sa hinaharap, kakailanganin mo ng macOS 10.13 o mas bago. Gumagamit ang computer na ito ng OS X 10.11.</translation>
 <translation id="5098668839038261629">Kapag naka-on, masa-sign out ka rin sa Chrome</translation>
-<translation id="5112116809696021727">Para makita kung up to date ang iyong device, pumunta sa <ph name="LINK_BEGIN" />Mga Setting ng ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Tumuklas ng mahuhusay na app, laro, extension at tema para sa Google Chrome.</translation>
 <translation id="5139423532931106058">I-customize ang iyong profile sa Chrome</translation>
 <translation id="5163087008893166964">Welcome sa Chrome; binuksan ang bagong window ng browser</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Makikita dito ang iyong web, mga bookmark at iba pang mga bagay-bagay sa Chrome.</translation>
 <translation id="5941711191222866238">I-minimize</translation>
 <translation id="5941830788786076944">Gawin ang Google Chrome na default browser</translation>
-<translation id="5959292945051687759">Kung hindi lumalabas ang isang setting sa page na ito, tingnan sa iyong <ph name="LINK_BEGIN" />
-      mga setting ng ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Nagda-download... <ph name="HOURS" /> (na) oras na lang ang natitira</translation>
 <translation id="6040143037577758943">Isara</translation>
 <translation id="6070348360322141662">Para sa karagdagang seguridad, ie-encrypt ng Google Chrome ang iyong data</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fr-CA.xtb b/chrome/app/resources/google_chrome_strings_fr-CA.xtb
index 2de4a08..9d13035 100644
--- a/chrome/app/resources/google_chrome_strings_fr-CA.xtb
+++ b/chrome/app/resources/google_chrome_strings_fr-CA.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Impossible de mettre à jour Google Chrome</translation>
 <translation id="1152920704813762236">À propos de Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Ouvrir dans Chrome</translation>
-<translation id="1178374936842835197">Si un paramètre ne s'affiche pas sur cette page, vérifiez dans vos <ph name="LINK_BEGIN" />
-        paramètres de Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Merci pour l'installation. Vous devez redémarrer votre navigateur avant d'utiliser <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Relancer &amp;Chrome pour le mettre à jour</translation>
 <translation id="1302523850133262269">Veuillez patienter pendant que Chrome installe les dernières mises à jour système.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">Continuer l'exécution des applications en arrière-plan après la fermeture de Google Chrome</translation>
 <translation id="3089968997497233615">Une nouvelle version de Google Chrome encore plus sûre est maintenant offerte.</translation>
 <translation id="3100998948628680988">Nommer votre profil Chrome</translation>
-<translation id="3103390129666310801">Pour vérifier si votre appareil est à jour, accédez aux <ph name="LINK_BEGIN" />paramètres de Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Pour vérifier si vos autres mots de passe sont en sécurité contre les violations de données et d'autres risques de sécurité, <ph name="BEGIN_LINK" />connectez-vous à Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Vos modifications seront appliquées au prochain redémarrage de Google Chrome.</translation>
 <translation id="3149510190863420837">Applications Chrome</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Vous devez disposer de macOS 10.13 ou d'une version ultérieure pour recevoir les futures mises à jour de Google Chrome. Or, c'est la version OS X 10.11 qui est installée sur cet ordinateur.</translation>
 <translation id="5098668839038261629">Si ce paramètre est activé, vous serez aussi déconnecté de Chrome</translation>
-<translation id="5112116809696021727">Pour vérifier si votre appareil est à jour, accédez aux <ph name="LINK_BEGIN" />paramètres de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Découvrez des applications, des jeux, des extensions et des thèmes exceptionnels conçus pour Google Chrome.</translation>
 <translation id="5139423532931106058">Personnaliser votre profil Chrome</translation>
 <translation id="5163087008893166964">Bienvenue à Chrome, une nouvelle fenêtre de navigateur a été ouverte</translation>
@@ -254,8 +250,6 @@
 <translation id="5940385492829620908">Votre contenu Web, vos favoris et toutes vos données de Google Chrome sont conservés ici.</translation>
 <translation id="5941711191222866238">Réduire</translation>
 <translation id="5941830788786076944">Faire de Google Chrome le navigateur par défaut</translation>
-<translation id="5959292945051687759">Si un paramètre ne s'affiche pas sur cette page, vérifiez dans vos <ph name="LINK_BEGIN" />
-        paramètres de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Téléchargement en cours… <ph name="HOURS" /> heure(s) restante(s)</translation>
 <translation id="6040143037577758943">Fermer</translation>
 <translation id="6070348360322141662">Pour une sécurité accrue, Google Chrome va crypter vos données</translation>
diff --git a/chrome/app/resources/google_chrome_strings_fr.xtb b/chrome/app/resources/google_chrome_strings_fr.xtb
index 4a8cbfd..9cdb80da 100644
--- a/chrome/app/resources/google_chrome_strings_fr.xtb
+++ b/chrome/app/resources/google_chrome_strings_fr.xtb
@@ -13,8 +13,6 @@
 <translation id="1142745911746664600">Impossible de mettre Chrome à jour</translation>
 <translation id="1152920704813762236">À propos de Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Ouvrir dans Chrome</translation>
-<translation id="1178374936842835197">Si un paramètre ne s'affiche pas sur cette page, accédez aux <ph name="LINK_BEGIN" />
-        paramètres de ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Merci d'avoir installé notre produit. Vous devez redémarrer votre navigateur avant d'utiliser <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Relancer et mettre à jour &amp;Chrome</translation>
 <translation id="1302523850133262269">Veuillez patienter pendant que Chrome installe les dernières mises à jour du système.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">Poursuivre l'exécution d'applications en arrière-plan après la fermeture de Google Chrome</translation>
 <translation id="3089968997497233615">Une nouvelle version de Google Chrome encore plus sûre est disponible.</translation>
 <translation id="3100998948628680988">Nommer votre profil Chrome</translation>
-<translation id="3103390129666310801">Pour savoir si votre appareil est à jour, accédez aux <ph name="LINK_BEGIN" />paramètres de ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Pour vérifier si vos autres mots de passe sont suffisamment sécurisés afin d'empêcher toute violation de données et autres problèmes de sécurité, <ph name="BEGIN_LINK" />connectez-vous à Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Vos modifications seront prises en compte au prochain redémarrage de Google Chrome.</translation>
 <translation id="3149510190863420837">Applications Chrome</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Vous devez disposer de macOS 10.13 ou d'une version ultérieure pour recevoir les futures mises à jour de Google Chrome. Or, c'est la version macOS X 10.11 qui est installée sur cet ordinateur.</translation>
 <translation id="5098668839038261629">Si l'option est activée, vous serez également déconnecté de Chrome</translation>
-<translation id="5112116809696021727">Pour savoir si votre appareil est à jour, accédez aux <ph name="LINK_BEGIN" />paramètres Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Découvrez des applications, des jeux, des extensions et des thèmes exceptionnels pour Google Chrome.</translation>
 <translation id="5139423532931106058">Personnaliser votre profil Chrome</translation>
 <translation id="5163087008893166964">Bienvenue dans Chrome, une nouvelle fenêtre du navigateur a été ouverte</translation>
@@ -254,7 +250,6 @@
 <translation id="5940385492829620908">Votre contenu Web, vos favoris et toutes vos données Chrome sont conservés ici.</translation>
 <translation id="5941711191222866238">Réduire</translation>
 <translation id="5941830788786076944">Définir Google Chrome comme navigateur par défaut</translation>
-<translation id="5959292945051687759">Si un paramètre ne s'affiche pas sur cette page, accédez aux <ph name="LINK_BEGIN" />paramètres de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Téléchargement… <ph name="HOURS" /> heure(s) restante(s)</translation>
 <translation id="6040143037577758943">Fermer</translation>
 <translation id="6070348360322141662">Pour plus de sécurité, vos données seront chiffrées dans Google Chrome</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gl.xtb b/chrome/app/resources/google_chrome_strings_gl.xtb
index 14fe2ae9..0319be4 100644
--- a/chrome/app/resources/google_chrome_strings_gl.xtb
+++ b/chrome/app/resources/google_chrome_strings_gl.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Non se puido actualizar Chrome</translation>
 <translation id="1152920704813762236">Acerca de Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Abrir en Chrome</translation>
-<translation id="1178374936842835197">Se non se mostra algunha opción de configuración nesta páxina, accede á <ph name="LINK_BEGIN" />configuración de Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Grazas por levar a cabo a instalación. Para utilizar <ph name="BUNDLE_NAME" />, debes reiniciar o navegador.</translation>
 <translation id="1278833599417554002">Reiniciar para actualizar &amp;Chrome</translation>
 <translation id="1302523850133262269">Espera a que Chrome instale as actualizacións do sistema máis recentes.</translation>
@@ -122,7 +121,6 @@
 <translation id="3080151273017101988">Continuar executando aplicacións en segundo plano cando se peche Google Chrome</translation>
 <translation id="3089968997497233615">Está dispoñible unha versión nova e máis segura de Google Chrome.</translation>
 <translation id="3100998948628680988">Asígnalle un nome ao teu perfil de Chrome</translation>
-<translation id="3103390129666310801">Para comprobar se o teu dispositivo está actualizado, vai a <ph name="LINK_BEGIN" />Configuración de Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Para comprobar se os teus outros contrasinais están protexidos fronte a violacións da seguranza dos datos e outros problemas de seguranza, debes <ph name="BEGIN_LINK" />iniciar sesión en Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Os cambios terán efecto a próxima vez que reinicies Google Chrome.</translation>
 <translation id="3149510190863420837">Aplicacións de Chrome</translation>
@@ -213,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Se queres recibir actualizacións de Google Chrome no futuro, debes instalar o sistema operativo macOS 10.13 ou unha versión posterior. Este ordenador ten OS X 10.11.</translation>
 <translation id="5098668839038261629">Se activas esta opción, tamén se pechará a túa sesión en Chrome</translation>
-<translation id="5112116809696021727">Para ver ser o teu dispositivo está actualizado, accede á <ph name="LINK_BEGIN" />configuración de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Descubre aplicacións, xogos, extensións e temas fantásticos para Google Chrome.</translation>
 <translation id="5139423532931106058">Personalizar o teu perfil de Chrome</translation>
 <translation id="5163087008893166964">Dámosche a benvida a Chrome. Abriuse unha nova ventá do navegador</translation>
@@ -253,7 +250,6 @@
 <translation id="5940385492829620908">Aquí podes atopar as túas páxinas web, marcadores e outros contidos de Chrome.</translation>
 <translation id="5941711191222866238">Minimizar</translation>
 <translation id="5941830788786076944">Converter Google Chrome no navegador predeterminado</translation>
-<translation id="5959292945051687759">Se non se mostra algunha opción de configuración nesta páxina, accede á <ph name="LINK_BEGIN" />configuración de Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Descargando… Tempo restante: <ph name="HOURS" /> h</translation>
 <translation id="6040143037577758943">Pechar</translation>
 <translation id="6070348360322141662">Para obter unha maior seguranza, Google Chrome encriptará os teus datos</translation>
diff --git a/chrome/app/resources/google_chrome_strings_gu.xtb b/chrome/app/resources/google_chrome_strings_gu.xtb
index 9584be1..54500fe 100644
--- a/chrome/app/resources/google_chrome_strings_gu.xtb
+++ b/chrome/app/resources/google_chrome_strings_gu.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome અપડેટ કરી શકતાં નથી</translation>
 <translation id="1152920704813762236">ChromeOS વિશે</translation>
 <translation id="1154147086299354128">&amp;Chromeમાં ખોલો</translation>
-<translation id="1178374936842835197">જો કોઈ સેટિંગ આ પેજ પર ન દેખાતું હોય, તો તમારા <ph name="LINK_BEGIN" />
-        ChromeOS Flexના સેટિંગ<ph name="LINK_END" />માં જુઓ</translation>
 <translation id="1203500561924088507">ઇન્સ્ટૉલ કરવા બદલ આભાર. <ph name="BUNDLE_NAME" />નો ઉપયોગ કરતા પહેલાં તમારે તમારું બ્રાઉઝર ફરી શરૂ કરવું આવશ્યક છે.</translation>
 <translation id="1278833599417554002">&amp;Chrome અપડેટ કરવા માટે, ફરીથી લૉન્ચ કરો</translation>
 <translation id="1302523850133262269">કૃપા કરીને Chrome નવીનતમ સિસ્ટમ અપડેટ્સ ઇન્સ્ટોલ કરે ત્યાં સુધી રાહ જુઓ.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">જ્યારે Google Chrome બંધ થાય ત્યારે બૅકગ્રાઉન્ડમાં ઍપ ચલાવવાનું ચાલુ રાખો</translation>
 <translation id="3089968997497233615">Google Chromeનું નવું, સુરક્ષિત વર્ઝન ઉપલબ્ધ છે.</translation>
 <translation id="3100998948628680988">તમારી Chrome પ્રોફાઇલને નામ આપો</translation>
-<translation id="3103390129666310801">તમારું ડિવાઇસ અપ ટૂ ડેટ છે કે નહીં, તે જાણવા માટે <ph name="LINK_BEGIN" />ChromeOS Flexના સેટિંગ<ph name="LINK_END" /> પર જાઓ</translation>
 <translation id="3114643501466072395">ડેટા ઉલ્લંઘન અને અન્ય સુરક્ષાની સમસ્યાથી તમારા અન્ય પાસવર્ડ સુરક્ષિત છે કે નહીં તે ચેક કરવા માટે, <ph name="BEGIN_LINK" />Chromeમાં સાઇન ઇન કરો<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">તમે આગલી વખત Google Chrome ને ફરીથી શરૂ કરશો ત્યારે તમારા ફેરફારો પ્રભાવી થશે.</translation>
 <translation id="3149510190863420837">Chrome ઍપ્લિકેશનો</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome કૅનેરી</translation>
 <translation id="5037581483200764584">Google Chromeની ભાવિ અપડેટ મેળવવા માટે, તમારે macOS 10.13 કે તે પછીના વર્ઝન પર અપડેટ કરવું જરૂરી રહેશે. આ કમ્પ્યુટર OS X 10.11નો ઉપયોગ કરે છે.</translation>
 <translation id="5098668839038261629">જ્યારે ચાલુ હોય, ત્યારે તમે Chromeમાંથી પણ સાઇન આઉટ થશો</translation>
-<translation id="5112116809696021727">તમારું ડિવાઇસ અપ ટૂ ડેટ છે કે નહીં, તે જાણવા માટે <ph name="LINK_BEGIN" />ChromeOSના સેટિંગ<ph name="LINK_END" /> પર જાઓ</translation>
 <translation id="5132929315877954718">Google Chrome માટે શ્રેષ્ઠ ઍપ્લિકેશનો, રમતો, એક્સટેન્શન્સ અને થીમ્સ શોધો</translation>
 <translation id="5139423532931106058">તમારી Chrome પ્રોફાઇલને કસ્ટમાઇઝ કરો</translation>
 <translation id="5163087008893166964">Chrome પર આપનું સ્વાગત છે; નવી બ્રાઉઝર વિન્ડો ખોલી છે</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">તમારું વેબ, બુકમાર્ક અને અન્ય Chrome સામગ્રી અહીં હોય છે.</translation>
 <translation id="5941711191222866238">નાનું કરો</translation>
 <translation id="5941830788786076944">Google Chrome ને ડિફૉલ્ટ બ્રાઉઝર બનાવો</translation>
-<translation id="5959292945051687759">જો આ પેજ પર સેટિંગ બતાવેલું ન હોય, તો તમારા <ph name="LINK_BEGIN" />
-        ChromeOS સેટિંગ<ph name="LINK_END" />માં જુઓ</translation>
 <translation id="6003112304606738118">ડાઉનલોડ કરી રહ્યાં છીએ… <ph name="HOURS" /> કલાક બાકી છે</translation>
 <translation id="6040143037577758943">બંધ કરો</translation>
 <translation id="6070348360322141662">વધારાની સુરક્ષા માટે, Google Chrome, તમારા ડેટાને એન્ક્રિપ્ટ કરશે</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hi.xtb b/chrome/app/resources/google_chrome_strings_hi.xtb
index 16d8fe81..79841284 100644
--- a/chrome/app/resources/google_chrome_strings_hi.xtb
+++ b/chrome/app/resources/google_chrome_strings_hi.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chrome को अपडेट नहीं किया जा सकता</translation>
 <translation id="1152920704813762236">ChromeOS के बारे में जानकारी</translation>
 <translation id="1154147086299354128">Chrome में &amp;खोलें</translation>
-<translation id="1178374936842835197">अगर कोई सेटिंग इस पेज पर नहीं दिखती है, तो उसे अपनी <ph name="LINK_BEGIN" />
-        ChromeOS Flex की सेटिंग<ph name="LINK_END" /> में खोजें</translation>
 <translation id="1203500561924088507">इंस्टॉल करने के लिए धन्यवाद. <ph name="BUNDLE_NAME" /> का इस्तेमाल करने से पहले, ब्राउज़र को रीस्टार्ट करना ज़रूरी है.</translation>
 <translation id="1278833599417554002">&amp;Chrome को अपडेट करने के लिए फिर से लॉन्च करें</translation>
 <translation id="1302523850133262269">कृपया Chrome के द्वारा नवीनतम सिस्टम अपडेट इंस्टॉल करने के दौरान प्रतीक्षा करें.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Google Chrome के बंद होने पर पृष्ठभूमि ऐप्स  चलाना जारी रखें</translation>
 <translation id="3089968997497233615">Google Chrome का एक नया, सुरक्षित वर्शन उपलब्‍ध है.</translation>
 <translation id="3100998948628680988">अपनी Chrome प्रोफ़ाइल को नाम दें</translation>
-<translation id="3103390129666310801">यह देखने के लिए कि आपका डिवाइस अप-टू-डेट है या नहीं, <ph name="LINK_BEGIN" />ChromeOS Flex की सेटिंग<ph name="LINK_END" /> पर जाएं</translation>
 <translation id="3114643501466072395">डेटा के गलत इस्तेमाल और सुरक्षा की अन्य समस्याओं से आपके दूसरे पासवर्ड सुरक्षित हैं या नहीं, इसकी जांच करने के लिए, <ph name="BEGIN_LINK" />Chrome में साइन इन करें<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">अगली बार जब आप Google Chrome फिर से लॉन्‍च करेंगे तो आपके बदलाव लागू होंगे.</translation>
 <translation id="3149510190863420837">Chrome ऐप्स</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome कैनरी</translation>
 <translation id="5037581483200764584">आगे भी Google Chrome के अपडेट पाते रहने के लिए, आपके कंप्यूटर में macOS 10.13 या इसके बाद का वर्शन होना चाहिए. इस कंप्यूटर में OS X 10.11 का इस्तेमाल किया जा रहा है.</translation>
 <translation id="5098668839038261629">इसके चालू होने पर, आपको Chrome से भी साइन आउट कर दिया जाएगा</translation>
-<translation id="5112116809696021727">यह देखने के लिए कि आपका डिवाइस अप-टू-डेट है या नहीं, <ph name="LINK_BEGIN" />ChromeOS की सेटिंग<ph name="LINK_END" /> पर जाएं</translation>
 <translation id="5132929315877954718">Google Chrome के लिए बेहतरीन ऐप्स ,गेम, एक्सटेंशन और थीम खोजें.</translation>
 <translation id="5139423532931106058">अपनी Chrome प्रोफ़ाइल को पसंद के मुताबिक बनाएं</translation>
 <translation id="5163087008893166964">Chrome में आपका स्वागत है; नई ब्राउज़र विंडो खोली गई</translation>
@@ -251,8 +247,6 @@
 <translation id="5940385492829620908">आपके वेब, बुकमार्क और अन्य Chrome सामग्री यहां मौजूद रहती है.</translation>
 <translation id="5941711191222866238">छोटा करें</translation>
 <translation id="5941830788786076944">Google Chrome को सामान्य ब्राउज़र बनाएं</translation>
-<translation id="5959292945051687759">अगर कोई सेटिंग इस पेज पर नहीं दिखती है, तो उसे अपनी <ph name="LINK_BEGIN" />
-      ChromeOS की सेटिंग<ph name="LINK_END" /> में खोजें</translation>
 <translation id="6003112304606738118">डाउनलोड हो रहा है... <ph name="HOURS" /> घंटे बचे हैं</translation>
 <translation id="6040143037577758943">बंद करें</translation>
 <translation id="6070348360322141662">ज़्यादा सुरक्षा के लिए, Google Chrome आपका डेटा सुरक्षित करेगा</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hr.xtb b/chrome/app/resources/google_chrome_strings_hr.xtb
index 5cec0e2..7f7292d 100644
--- a/chrome/app/resources/google_chrome_strings_hr.xtb
+++ b/chrome/app/resources/google_chrome_strings_hr.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Nije moguće ažurirati Chrome</translation>
 <translation id="1152920704813762236">O Chrome OS-u</translation>
 <translation id="1154147086299354128">&amp;Otvori u Chromeu</translation>
-<translation id="1178374936842835197">Ako se postavka ne prikazuje na ovoj stranici, pogledajte <ph name="LINK_BEGIN" />
-        postavke ChromeOS Flexa<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Zahvaljujemo što ste izvršili instaliranje. Da biste mogli koristiti <ph name="BUNDLE_NAME" />, morate ponovno pokrenuti preglednik.</translation>
 <translation id="1278833599417554002">Ponovo pokrenite da biste ažurirali &amp;Chrome</translation>
 <translation id="1302523850133262269">Pričekajte da Chrome instalira najnovija ažuriranja sustava.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Nastavi prikazivati ​​pozadinske aplikacije po zatvaranju preglednika Google Chrome</translation>
 <translation id="3089968997497233615">Dostupna je nova, sigurnija verzija preglednika Google Chrome.</translation>
 <translation id="3100998948628680988">Odaberite naziv profila za Chrome</translation>
-<translation id="3103390129666310801">Da biste vidjeli je li vaš uređaj ažuriran, otvorite <ph name="LINK_BEGIN" />postavke ChromeOS Flexa<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Da biste provjerili jesu li vaše druge zaporke sigurne od povrede podataka i drugih poteškoća sa sigurnošću, <ph name="BEGIN_LINK" />prijavite se na Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Vaše izmjene stupit će na snagu sljedeći put kada se ponovo pokrene Google Chrome.</translation>
 <translation id="3149510190863420837">Aplikacije sustava Chrome</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Da biste primali buduća ažuriranja Google Chromea, trebat će vam macOS 10.13 ili novija verzija. Na ovom se računalu upotrebljava OS X 10.11.</translation>
 <translation id="5098668839038261629">Kad uključite tu opciju, odjavit ćete se i s Chromea</translation>
-<translation id="5112116809696021727">Ažuriranost uređaja možete provjeriti u <ph name="LINK_BEGIN" />postavkama Chrome OS-a<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Otkrijte sjajne aplikacije, igre, proširenja i teme za Google Chrome.</translation>
 <translation id="5139423532931106058">Prilagodite profil u Chromeu</translation>
 <translation id="5163087008893166964">Dobro došli u Chrome; otvorio se novi prozor preglednika</translation>
@@ -247,7 +243,6 @@
 <translation id="5940385492829620908">Ovdje se nalaze vaš web, oznake i ostali sadržaji u Chromeu.</translation>
 <translation id="5941711191222866238">Minimiziraj</translation>
 <translation id="5941830788786076944">Neka Google Chrome bude zadani preglednik.</translation>
-<translation id="5959292945051687759">Ako se postavka ne prikazuje na ovoj stranici, pogledajte <ph name="LINK_BEGIN" />postavke Chrome OS-a<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Preuzimanje... Još <ph name="HOURS" /> h</translation>
 <translation id="6040143037577758943">Zatvori</translation>
 <translation id="6070348360322141662">Radi dodatne sigurnosti Google Chrome kriptirat će vaše podatke</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hu.xtb b/chrome/app/resources/google_chrome_strings_hu.xtb
index 96450b4f..f2e496fa 100644
--- a/chrome/app/resources/google_chrome_strings_hu.xtb
+++ b/chrome/app/resources/google_chrome_strings_hu.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Nem sikerült a Chrome frissítése</translation>
 <translation id="1152920704813762236">A ChromeOS névjegye</translation>
 <translation id="1154147086299354128">&amp;Megnyitás Chrome-ban</translation>
-<translation id="1178374936842835197">Ha valamelyik beállítás nem látható ezen az oldalon, keresse a <ph name="LINK_BEGIN" />
-        ChromeOS Flex beállításai<ph name="LINK_END" /> között</translation>
 <translation id="1203500561924088507">Köszönjük, hogy elvégezte a telepítést. A(z) <ph name="BUNDLE_NAME" /> használata előtt újra kell indítania a böngészőt.</translation>
 <translation id="1278833599417554002">Indítsa újra a Chrome frissítéshez</translation>
 <translation id="1302523850133262269">Kérjük, várjon, amíg a Chrome telepíti a legutóbbi rendszerfrissítéseket.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">A háttéralkalmazások továbbfuttatása, ha a Google Chrome-ot bezárják</translation>
 <translation id="3089968997497233615">Elérhető a Google Chrome új, biztonságosabb verziója.</translation>
 <translation id="3100998948628680988">Nevezze el Chrome-profilját</translation>
-<translation id="3103390129666310801">Ha szeretné megtekinteni, hogy eszköze naprakész-e, lépjen a <ph name="LINK_BEGIN" />ChromeOS Flex-beállítások<ph name="LINK_END" /> oldalra.</translation>
 <translation id="3114643501466072395">Ha ellenőrizni szeretné, hogy a többi jelszava biztonságban van-e az adatvédelmi incidensektől és más biztonsági problémáktól, <ph name="BEGIN_LINK" />jelentkezzen be a Chrome-ba<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">A módosítások a következő alkalommal lépnek életbe, amikor újraindítja a Google Chrome-ot.</translation>
 <translation id="3149510190863420837">Chrome-alkalmazások</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Ha a jövőben Google Chrome-frissítéseket szeretne kapni, akkor a macOS 10.13-as vagy újabb verziójára lesz szüksége. Ezen a számítógépen az OS X 10.11 fut.</translation>
 <translation id="5098668839038261629">Amikor be van kapcsolva, a Chrome-ból is kijelentkezteti Önt a rendszer</translation>
-<translation id="5112116809696021727">Ha szeretné megtekinteni, hogy eszköze naprakész-e, lépjen a <ph name="LINK_BEGIN" />ChromeOS beállításaihoz<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Fedezzen fel nagyszerű alkalmazásokat, játékokat, bővítményeket és témákat a Google Chrome-hoz.</translation>
 <translation id="5139423532931106058">A Chrome-profil személyre szabása</translation>
 <translation id="5163087008893166964">Üdvözöljük a Chrome-ban; új böngészőablak megnyitva</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">Az Ön könyvjelzői, valamint az internetezéssel és a Chrome-mal kapcsolatos egyéb dolgai vannak itt.</translation>
 <translation id="5941711191222866238">Kis méret</translation>
 <translation id="5941830788786076944">A Google Chrome beállítása alapértelmezett böngészőként</translation>
-<translation id="5959292945051687759">Ha valamelyik beállítás nem látható ezen az oldalon, keresse a <ph name="LINK_BEGIN" />
-        ChromeOS beállításai<ph name="LINK_END" /> között</translation>
 <translation id="6003112304606738118">Letöltés… <ph name="HOURS" /> óra van hátra</translation>
 <translation id="6040143037577758943">Bezárás</translation>
 <translation id="6070348360322141662">A nagyobb biztonság érdekében a Google Chrome titkosítja az Ön adatait</translation>
diff --git a/chrome/app/resources/google_chrome_strings_hy.xtb b/chrome/app/resources/google_chrome_strings_hy.xtb
index 810cb43..8ed961a 100644
--- a/chrome/app/resources/google_chrome_strings_hy.xtb
+++ b/chrome/app/resources/google_chrome_strings_hy.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Չհաջողվեց թարմացնել Chrome-ը</translation>
 <translation id="1152920704813762236">ChromeOS-ի մասին</translation>
 <translation id="1154147086299354128">&amp;Բացել Chrome-ում</translation>
-<translation id="1178374936842835197">Եթե որևէ կարգավորում չտեսնեք այս էջում, փնտրեք այն ձեր <ph name="LINK_BEGIN" />ChromeOS Flex-ի կարգավորումներում<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Շնորհակալություն տեղադրելու համար։ Նախքան <ph name="BUNDLE_NAME" />-ն օգտագործելը դուք պետք է վերագործարկեք ձեր դիտարկիչը։</translation>
 <translation id="1278833599417554002">Վերագործարկել՝ &amp;Chrome-ը թարմացնելու համար</translation>
 <translation id="1302523850133262269">Սպասեք` մինչ Chrome-ը տեղադրում է համակարգի նորագույն թարմացումները:</translation>
@@ -120,7 +119,6 @@
 <translation id="3080151273017101988">Google Chrome-ը փակելուց հետո շարունակել հավելվածների աշխատանքը հետնաշերտում</translation>
 <translation id="3089968997497233615">Մատչելի է Google Chrome-ի նոր, ավելի ապահով տարբերակը:</translation>
 <translation id="3100998948628680988">Անվանեք ձեր Chrome պրոֆիլը</translation>
-<translation id="3103390129666310801">Սարքի ծրագրակազմի տարբերակը տեսնելու համար անցեք <ph name="LINK_BEGIN" />ChromeOS Flex-ի կարգավորումներ<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Որպեսզի պաշտպանեք ձեր մյուս գաղտնաբառերը տվյալների արտահոսքից և խուսափեք անվտանգության հետ կապված այլ խնդիրներից, <ph name="BEGIN_LINK" />մտեք հաշիվ Chrome դիտարկիչում<ph name="END_LINK" />։</translation>
 <translation id="3140883423282498090">Ձեր փոփոխություններն ուժի մեջ կմտնեն հաջորդ անգամ Google Chrome-ը գործարկելիս:</translation>
 <translation id="3149510190863420837">Chrome-ի հավելվածներ</translation>
@@ -211,7 +209,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chrome-ի հետագա թարմացումները ստանալու համար ձեզ անհրաժեշտ է macOS 10.13 կամ ավելի նոր տարբերակ։ Այս համակարգիչն օգտագործում է OS X 10.11 տարբերակը։</translation>
 <translation id="5098668839038261629">Երբ այս կարգավորումը միացված է, դուք նաև դուրս կգրվեք Chrome-ից</translation>
-<translation id="5112116809696021727">Սարքի ծրագրակազմի տարբերակը տեսնելու համար անցեք <ph name="LINK_BEGIN" />ChromeOS-ի կարգավորումներ<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Հավելվածների, խաղերի, ընդլայնումների և թեմաների լայն ընտրանի Google Chrome-ի համար:</translation>
 <translation id="5139423532931106058">Անհատականացնել Chrome-ի պրոֆիլը</translation>
 <translation id="5163087008893166964">Բարի գալուստ Chrome․ բացված է դիտարկիչի նոր պատուհան</translation>
@@ -251,7 +248,6 @@
 <translation id="5940385492829620908">Ձեր վեբ էջերը, էջանիշները և Chrome-ի մնացած տվյալներն այստեղ են:</translation>
 <translation id="5941711191222866238">Նվազեցնել</translation>
 <translation id="5941830788786076944">Դարձնել Google Chrome-ը կանխադրված դիտարկիչը</translation>
-<translation id="5959292945051687759">Եթե որևէ կարգավորում չտեսնեք այս էջում, փնտրեք այն ձեր <ph name="LINK_BEGIN" />ChromeOS-ի կարգավորումներում<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Ներբեռնում… Մնաց <ph name="HOURS" /> ժամ</translation>
 <translation id="6040143037577758943">Փակել</translation>
 <translation id="6070348360322141662">Լրացուցիչ անվտանգության համար Google Chrome-ը կգաղտնագրի ձեր տվյալները</translation>
diff --git a/chrome/app/resources/google_chrome_strings_id.xtb b/chrome/app/resources/google_chrome_strings_id.xtb
index 707f9619..9b24f6d 100644
--- a/chrome/app/resources/google_chrome_strings_id.xtb
+++ b/chrome/app/resources/google_chrome_strings_id.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Tidak dapat mengupdate Chrome</translation>
 <translation id="1152920704813762236">Tentang ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Buka di Chrome</translation>
-<translation id="1178374936842835197">Jika setelan tidak muncul di halaman ini, buka <ph name="LINK_BEGIN" />
-      setelan ChromeOS Flex<ph name="LINK_END" /> Anda</translation>
 <translation id="1203500561924088507">Terima kasih telah menginstal. Anda harus memulai ulang browser sebelum menggunakan <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Luncurkan kembali untuk mengupdate &amp;Chrome</translation>
 <translation id="1302523850133262269">Harap tunggu selagi Chrome memasang pembaruan sistem terkini.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Terus jalankan apl latar belakang saat Google Chrome ditutup</translation>
 <translation id="3089968997497233615">Tersedia versi Google Chrome yang baru dan lebih aman.</translation>
 <translation id="3100998948628680988">Beri nama profil Chrome Anda</translation>
-<translation id="3103390129666310801">Untuk melihat apakah versi pada perangkat Anda adalah yang terbaru, buka <ph name="LINK_BEGIN" />Setelan ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Untuk memeriksa apakah sandi Anda yang lain aman dari pelanggaran data dan masalah keamanan lainnya, <ph name="BEGIN_LINK" />login ke Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Perubahan Anda akan berlaku pada peluncuran ulang Google Chrome selanjutnya.</translation>
 <translation id="3149510190863420837">Aplikasi Chrome</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Untuk mendapatkan update Google Chrome berikutnya, Anda perlu macOS 10.13 atau yang lebih baru. Komputer ini menggunakan OS X 10.11.</translation>
 <translation id="5098668839038261629">Jika aktif, Anda juga akan logout dari Chrome</translation>
-<translation id="5112116809696021727">Untuk melihat apakah versi pada perangkat Anda adalah yang terbaru, buka <ph name="LINK_BEGIN" />Setelan ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Temukan aplikasi, game, ekstensi, dan tema yang hebat untuk Google Chrome.</translation>
 <translation id="5139423532931106058">Sesuaikan profil Chrome Anda</translation>
 <translation id="5163087008893166964">Selamat datang di Chrome; jendela browser baru terbuka</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">Web, bookmark, dan file Chrome Anda lainnya tersedia di sini.</translation>
 <translation id="5941711191222866238">Perkecil</translation>
 <translation id="5941830788786076944">Jadikan Google Chrome sebagai browser default</translation>
-<translation id="5959292945051687759">Jika setelan tidak muncul di halaman ini, buka <ph name="LINK_BEGIN" />
-      setelan ChromeOS<ph name="LINK_END" /> Anda</translation>
 <translation id="6003112304606738118">Mendownload... <ph name="HOURS" /> jam lagi</translation>
 <translation id="6040143037577758943">Tutup</translation>
 <translation id="6070348360322141662">Untuk keamanan tambahan, Google Chrome akan mengenkripsi data Anda</translation>
diff --git a/chrome/app/resources/google_chrome_strings_is.xtb b/chrome/app/resources/google_chrome_strings_is.xtb
index e6ab15c8..5a4bc6f 100644
--- a/chrome/app/resources/google_chrome_strings_is.xtb
+++ b/chrome/app/resources/google_chrome_strings_is.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Ekki er hægt að uppfæra Chrome</translation>
 <translation id="1152920704813762236">Um ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Opna í Chrome</translation>
-<translation id="1178374936842835197">Ef stilling sést ekki á þessari síðu skaltu athuga <ph name="LINK_BEGIN" />
-        stillingar ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Takk fyrir að setja upp. Þú þarft að endurræsa vafrann áður en þú getur notað <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Endurræstu til að uppfæra &amp;Chrome</translation>
 <translation id="1302523850133262269">Bíddu á meðan Chrome setur upp nýjustu kerfisuppfærslurnar.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">Halda áfram að keyra forrit í bakgrunni þegar Google Chrome er lokað</translation>
 <translation id="3089968997497233615">Ný og öruggari útgáfa af Google Chrome er í boði.</translation>
 <translation id="3100998948628680988">Gefðu Chrome prófílnum þínum heiti</translation>
-<translation id="3103390129666310801">Opnaðu stillingar <ph name="LINK_BEGIN" />ChromeOS Flex<ph name="LINK_END" /> til að sjá hvort tækið sé uppfært</translation>
 <translation id="3114643501466072395"><ph name="BEGIN_LINK" />Skráðu þig inn á Chrome<ph name="END_LINK" /> til að athuga hvort hin aðgangsorðin þín séu óhult fyrir öryggisbrotum og öðrum öryggisvandamálum.</translation>
 <translation id="3140883423282498090">Breytingarnar taka gildi næst þegar þú endurræsir Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome forrit</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Til að fá frekari uppfærslur á Google Chrome þarftu macOS 10.13 eða nýrri útgáfu. Þessi tölva notar stýrikerfi X 10.11.</translation>
 <translation id="5098668839038261629">Þegar þetta er virkt verður þú einnig skráð(ur) út úr Chrome</translation>
-<translation id="5112116809696021727">Opnaðu <ph name="LINK_BEGIN" />stillingar ChromeOS<ph name="LINK_END" /> til að sjá hvort tækið sé uppfært</translation>
 <translation id="5132929315877954718">Uppgötvaðu frábær forrit, leiki, viðbætur og þemu fyrir Google Chrome</translation>
 <translation id="5139423532931106058">Sérsníða Chrome prófílinn þinn</translation>
 <translation id="5163087008893166964">Velkomin(n) í Chrome; nýr vafragluggi opnaður</translation>
@@ -254,8 +250,6 @@
 <translation id="5940385492829620908">Hér er vefefnið þitt, bókamerkin og annað dót úr Chrome.</translation>
 <translation id="5941711191222866238">Minnka</translation>
 <translation id="5941830788786076944">Gera Google Chrome að sjálfgefnum vafra</translation>
-<translation id="5959292945051687759">Ef stilling sést ekki á þessari síðu skaltu athuga <ph name="LINK_BEGIN" />
-      stillingar ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Sækir... <ph name="HOURS" /> klst. eftir</translation>
 <translation id="6040143037577758943">Loka</translation>
 <translation id="6070348360322141662">Google Chrome dulkóðar gögnin þín til að auka öryggið</translation>
diff --git a/chrome/app/resources/google_chrome_strings_it.xtb b/chrome/app/resources/google_chrome_strings_it.xtb
index 9f0832c..6e79815 100644
--- a/chrome/app/resources/google_chrome_strings_it.xtb
+++ b/chrome/app/resources/google_chrome_strings_it.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">Impossibile aggiornare Chrome</translation>
 <translation id="1152920704813762236">Informazioni su Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Apri in Chrome</translation>
-<translation id="1178374936842835197">Se un'impostazione non viene mostrata in questa pagina, cercala nelle <ph name="LINK_BEGIN" />impostazioni di Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">L'installazione è terminata. Dovrai riavviare il browser per poter utilizzare <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Riavvia per aggiornare &amp;Chrome</translation>
 <translation id="1302523850133262269">Attendi mentre Chrome installa gli aggiornamenti di sistema più recenti.</translation>
@@ -118,7 +117,6 @@
 <translation id="3080151273017101988">Continua a eseguire applicazioni in background dopo la chiusura di Google Chrome</translation>
 <translation id="3089968997497233615">È disponibile una nuova versione più sicura di Google Chrome.</translation>
 <translation id="3100998948628680988">Assegna un nome al tuo profilo Chrome</translation>
-<translation id="3103390129666310801">Per controllare se il tuo dispositivo è aggiornato, vai alle <ph name="LINK_BEGIN" />Impostazioni di Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Per controllare che le tue altre password siano protette da violazioni dei dati e altri problemi di sicurezza, <ph name="BEGIN_LINK" />accedi a Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Le modifiche verranno applicate al prossimo riavvio di Google Chrome.</translation>
 <translation id="3149510190863420837">Applicazioni Chrome</translation>
@@ -209,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Per ricevere gli aggiornamenti futuri di Google Chrome, devi avere macOS 10.13 o versioni successive. Su questo computer è installato il sistema operativo X 10.11.</translation>
 <translation id="5098668839038261629">Se attivi l'opzione, uscirai anche da Chrome</translation>
-<translation id="5112116809696021727">Per controllare se il tuo dispositivo è aggiornato, vai a <ph name="LINK_BEGIN" />Impostazioni di Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Scopri applicazioni, giochi, estensioni e temi straordinari per Google Chrome.</translation>
 <translation id="5139423532931106058">Personalizza il tuo profilo Chrome</translation>
 <translation id="5163087008893166964">Ti diamo il benvenuto in Chrome; nuova finestra del browser aperta</translation>
@@ -245,8 +242,6 @@
 <translation id="5940385492829620908">Il tuoi siti web, i tuoi segnalibri e gli altri contenuti Chrome sempre disponibili e aggiornati qui.</translation>
 <translation id="5941711191222866238">Riduci a icona</translation>
 <translation id="5941830788786076944">Imposta Google Chrome come browser predefinito</translation>
-<translation id="5959292945051687759">Se un'impostazione non viene mostrata in questa pagina, cercala nelle <ph name="LINK_BEGIN" />
-        impostazioni di Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Download in corso… Ore rimanenti: <ph name="HOURS" /></translation>
 <translation id="6040143037577758943">Chiudi</translation>
 <translation id="6070348360322141662">Per maggiore sicurezza, Google Chrome cripterà i tuoi dati</translation>
diff --git a/chrome/app/resources/google_chrome_strings_iw.xtb b/chrome/app/resources/google_chrome_strings_iw.xtb
index 89aac7d..355655e 100644
--- a/chrome/app/resources/google_chrome_strings_iw.xtb
+++ b/chrome/app/resources/google_chrome_strings_iw.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">‏לא ניתן לעדכן את Chrome</translation>
 <translation id="1152920704813762236">‏מידע על ChromeOS</translation>
 <translation id="1154147086299354128">‏&amp;פתיחה ב-Chrome</translation>
-<translation id="1178374936842835197">‏אם הגדרה כלשהי לא מופיעה בדף הזה, יש לחפש אותה <ph name="LINK_BEGIN" />
-        בהגדרות של ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">תודה שהתקנת. עליך להפעיל מחדש את הדפדפן לפני השימוש ב-<ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">‏הפעלה מחדש לצורך עדכון &amp;Chrome</translation>
 <translation id="1302523850133262269">‏יש להמתין בזמן ש-Chrome מתקין את עדכוני המערכת האחרונים.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">‏המשך הפעלת אפליקציות ברקע כאשר Google Chrome סגור</translation>
 <translation id="3089968997497233615">‏גרסה חדשה ובטוחה יותר של Google Chrome זמינה כעת</translation>
 <translation id="3100998948628680988">‏בחירת שם לפרופיל Chrome שלך</translation>
-<translation id="3103390129666310801">‏כדי לבדוק אם המכשיר שלך מעודכן, עליך לעבור <ph name="LINK_BEGIN" />להגדרות של ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">‏כדי לבדוק אם הסיסמאות האחרות מוגנות מפני פרצות באבטחת מידע ובעיות אבטחה אחרות, <ph name="BEGIN_LINK" />יש להיכנס ל-Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">‏השינויים ייכנסו לתוקף בפעם הבאה ש-Google Chrome יופעל מחדש.</translation>
 <translation id="3149510190863420837">‏אפליקציות Chrome</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">‏כדי לקבל עדכונים של Google Chrome בעתיד, צריך להשתמש ב-macOS מגרסה 10.13 ואילך. במחשב הזה פועלת מערכת ההפעלה ‎OS X 10.11.</translation>
 <translation id="5098668839038261629">‏כשההגדרה מופעלת, תתבצע יציאה גם מ-Chrome</translation>
-<translation id="5112116809696021727">‏כדי לבדוק אם המכשיר שלך מעודכן, עליך לעבור ל<ph name="LINK_BEGIN" />הגדרות של ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">‏מקום לגלות אפליקציות, משחקים, תוספים ועיצובים מעולים ל-Google Chrome.</translation>
 <translation id="5139423532931106058">‏התאמה אישית של פרופיל Chrome</translation>
 <translation id="5163087008893166964">‏ברוך בואך אל Chrome. נפתח חלון חדש בדפדפן</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">‏היסטוריית האתרים, הסימניות ופריטים נוספים מ-Chrome נמצאים כאן.</translation>
 <translation id="5941711191222866238">מזעור</translation>
 <translation id="5941830788786076944">‏Google Chrome יהיה דפדפן ברירת המחדל</translation>
-<translation id="5959292945051687759">‏אם הגדרה מסוימת לא מופיעה בדף, אפשר לחפש אותה<ph name="LINK_BEGIN" />
-        בהגדרות של ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">מתבצעת הורדה… יש עוד <ph name="HOURS" /> שע'</translation>
 <translation id="6040143037577758943">סגירה</translation>
 <translation id="6070348360322141662">‏לשיפור האבטחה, Google Chrome יצפין את הנתונים</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ja.xtb b/chrome/app/resources/google_chrome_strings_ja.xtb
index 10b8157e..d46374e 100644
--- a/chrome/app/resources/google_chrome_strings_ja.xtb
+++ b/chrome/app/resources/google_chrome_strings_ja.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chrome を更新できません</translation>
 <translation id="1152920704813762236">Chrome OS について</translation>
 <translation id="1154147086299354128">Chrome で開く(&amp;O)</translation>
-<translation id="1178374936842835197">このページに設定が表示されない場合は、<ph name="LINK_BEGIN" />
-        ChromeOS Flex の設定<ph name="LINK_END" />を確認してください</translation>
 <translation id="1203500561924088507">インストールいただきありがとうございます。<ph name="BUNDLE_NAME" /> を使用するにはブラウザを再起動してください。</translation>
 <translation id="1278833599417554002">再起動して Chrome を更新(&amp;C)</translation>
 <translation id="1302523850133262269">Chrome は最新のシステム アップデートをインストールしています。しばらくお待ちください。</translation>
@@ -119,7 +117,6 @@
 <translation id="3080151273017101988">Google Chrome を閉じた際にバックグラウンド アプリの処理を続行する</translation>
 <translation id="3089968997497233615">Google クロームブラウザがより速く、さらに便利に。いますぐトライ!</translation>
 <translation id="3100998948628680988">Chrome プロフィールの名前を設定</translation>
-<translation id="3103390129666310801">デバイスが最新の状態かどうか確認するには、<ph name="LINK_BEGIN" />ChromeOS Flex の設定<ph name="LINK_END" />をご覧ください</translation>
 <translation id="3114643501466072395">他のパスワードにデータ侵害などセキュリティに関する問題がないかどうかを確認するには、<ph name="BEGIN_LINK" />Chrome にログイン<ph name="END_LINK" />してください。</translation>
 <translation id="3140883423282498090">変更内容は次に Google Chrome を再起動したときに有効になります。</translation>
 <translation id="3149510190863420837">Chrome アプリ</translation>
@@ -210,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">今後、Google Chrome のアップデートを受信するには、macOS 10.13 以降が必要となります。このコンピュータでは OS X 10.11 が実行されています。</translation>
 <translation id="5098668839038261629">オンにすると、Chrome からもログアウトします</translation>
-<translation id="5112116809696021727">デバイスが最新の状態かどうかを確認するには、<ph name="LINK_BEGIN" />Chrome OS の設定<ph name="LINK_END" />をご覧ください</translation>
 <translation id="5132929315877954718">Google Chrome のすばらしいアプリ、ゲーム、拡張機能、テーマをぜひご利用ください。</translation>
 <translation id="5139423532931106058">Chrome プロファイルをカスタマイズ</translation>
 <translation id="5163087008893166964">Chrome へようこそ。新しいブラウザ ウィンドウが開いています</translation>
@@ -246,7 +242,6 @@
 <translation id="5940385492829620908">ウェブ、ブックマーク、その他の Chrome データを好みに設定できます。</translation>
 <translation id="5941711191222866238">最小化</translation>
 <translation id="5941830788786076944">Google Chrome を既定のブラウザにする</translation>
-<translation id="5959292945051687759">このページに設定が表示されない場合は、<ph name="LINK_BEGIN" />Chrome OS の設定<ph name="LINK_END" />を確認してください</translation>
 <translation id="6003112304606738118">ダウンロードしています... 残り <ph name="HOURS" /> 時間です</translation>
 <translation id="6040143037577758943">閉じる</translation>
 <translation id="6070348360322141662">セキュリティ強化のため、データは Google Chrome で暗号化されます</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ka.xtb b/chrome/app/resources/google_chrome_strings_ka.xtb
index f20a947..79f7322 100644
--- a/chrome/app/resources/google_chrome_strings_ka.xtb
+++ b/chrome/app/resources/google_chrome_strings_ka.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome-ის განახლება ვერ მოხერხდა</translation>
 <translation id="1152920704813762236">ChromeOS-ის შესახებ</translation>
 <translation id="1154147086299354128">Chrome-ში &amp;გახსნა</translation>
-<translation id="1178374936842835197">თუ პარამეტრი ამ გვერდზე არ გამოჩნდება, ცადეთ მისი პოვნა <ph name="LINK_BEGIN" />
-        ChromeOS Flex-ის პარამეტრებში<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">გმადლობთ დაინსტალირებისთვის. <ph name="BUNDLE_NAME" />-ის გამოყენებამდე თქვენი ბრაუზერი უნდა გადატვირთოთ.</translation>
 <translation id="1278833599417554002">ხელახლა გაშვება &amp;Chrome-ის გასაახლებლად</translation>
 <translation id="1302523850133262269">დაელოდეთ, სანამ Chrome დააინსტალირებს სისტემის უახლეს განახლებებს.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">გაგრძელება გაშვებული ფონური პროგრამებით Google Chrome-ის დახურვისას</translation>
 <translation id="3089968997497233615">ხელმისაწვდომია Google Chrome-ის უფრო ახალი და უსაფრთხო ვერსია.</translation>
 <translation id="3100998948628680988">დაასათაურეთ თქვენი Chrome პროფილი</translation>
-<translation id="3103390129666310801">თქვენი მოწყობილობის განახლების სტატუსის სანახავად გადადით <ph name="LINK_BEGIN" />ChromeOS Flex-ის პარამეტრებზე<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395"><ph name="BEGIN_LINK" />შედით Chrome-ში<ph name="END_LINK" />, რომ შეამოწმოთ, შეეხო თუ არა პერსონალურ მონაცემთა გაჟონვის შემთხვევები და უსაფრთხოებასთან დაკავშირებული პრობლემები თქვენს სხვა პაროლებს.</translation>
 <translation id="3140883423282498090">თქვენი ცვლილებები Google Chrome.ის გადატვირთვის შემდეგ შევა ძალაში.</translation>
 <translation id="3149510190863420837">Chrome-ის პროგრამები</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chrome-ის მომავალი განახლებების მისაღებად დაგჭირდებათ macOS 10.13 ან უფრო ახალი ვერსია. ეს კომპიუტერი იყენებს OS X 10.11-ს.</translation>
 <translation id="5098668839038261629">როცა ეს ფუნქცია ჩართულია, თქვენ, ასევე, გახვალთ Chrome-იდან</translation>
-<translation id="5112116809696021727">თქვენი მოწყობილობის განახლების სტატუსის სანახავად გადადით <ph name="LINK_BEGIN" />ChromeOS-ის პარამეტრებზე<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">აღმოაჩინეთ დიდებული აპები, თამაშები, გაფართოებები და თემები Google Chrome-ისთვის.</translation>
 <translation id="5139423532931106058">თქვენი Chrome პროფილის მორგება</translation>
 <translation id="5163087008893166964">მოგესალმებით Chrome-ში; გახსნილია ბრაუზერის ახალი ფანჯარა</translation>
@@ -254,7 +250,6 @@
 <translation id="5940385492829620908">თქვენი ვები, სანიშნეები და Chrome-ის სხვა მასალა არის აქ.</translation>
 <translation id="5941711191222866238">ჩაკეცვა</translation>
 <translation id="5941830788786076944">Google Chrome გახდეს ნაგულისხმევი ბრაუზერი</translation>
-<translation id="5959292945051687759">თუ პარამეტრი ამ გვერდზე არ გამოჩნდება, ცადეთ მისი პოვნა <ph name="LINK_BEGIN" />ChromeOS-ის პარამეტრებში<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">მიმდინარეობს ჩამოტვირთვა… დარჩენილია <ph name="HOURS" /> საათი</translation>
 <translation id="6040143037577758943">დახურვა</translation>
 <translation id="6070348360322141662">დამატებითი უსაფრთხოებისთვის, Google Chrome თქვენს მონაცემებს დაშიფრავს</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kk.xtb b/chrome/app/resources/google_chrome_strings_kk.xtb
index 84431d03..76a0920 100644
--- a/chrome/app/resources/google_chrome_strings_kk.xtb
+++ b/chrome/app/resources/google_chrome_strings_kk.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Chrome браузерін жаңарту мүмкін емес</translation>
 <translation id="1152920704813762236">ChromeOS туралы</translation>
 <translation id="1154147086299354128">&amp;Chrome браузерінде ашу</translation>
-<translation id="1178374936842835197">Егер параметр бұл бетте көрсетілмесе, <ph name="LINK_BEGIN" />ChromeOS Flex параметрлері<ph name="LINK_END" /> бөлімінен қараңыз.</translation>
 <translation id="1203500561924088507">Орнатқаныңыз үшін рақмет. <ph name="BUNDLE_NAME" /> пайдаланбас бұрын браузерді жауып, қайта ашуыңыз керек.</translation>
 <translation id="1278833599417554002">&amp;Chrome-ды жаңарту үшін қайта іске қосу</translation>
 <translation id="1302523850133262269">Chrome ең соңғы жүйе жаңартуларын орнатуда, күте тұрыңыз.</translation>
@@ -122,7 +121,6 @@
 <translation id="3080151273017101988">Google Chrome жабылғанда, фондық қолданбаларды пайдалануды жалғастыру</translation>
 <translation id="3089968997497233615">Жаңа, қауіпсізірек Google Chrome нұсқасы қолжетімді.</translation>
 <translation id="3100998948628680988">Chrome профиліне ат қойыңыз</translation>
-<translation id="3103390129666310801">Құрылғыңыздың жаңартылғанын тексеру үшін <ph name="LINK_BEGIN" />ChromeOS Flex параметрлеріне<ph name="LINK_END" /> өтіңіз.</translation>
 <translation id="3114643501466072395">Басқа құпия сөздеріңіздің ұрланудан және басқа да қауіпсіздік мәселелерінен қаншалықты қорғалғанын тексеру үшін <ph name="BEGIN_LINK" />Chrome браузеріне кіріңіз<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Өзгертулеріңіз Google Chrome келесі рет қайта іске қосылғанда күшіне енеді.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
@@ -213,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chrome-ның жаңа нұсқаларын алып тұру үшін macOS 10.13 не одан кейінгі операциялық жүйе керек болады. Бұл компьютерде OS X 10.11 нұсқасы орнатылған.</translation>
 <translation id="5098668839038261629">Қосылған кезде, Chrome браузерінен шығарыласыз.</translation>
-<translation id="5112116809696021727">Құрылғыңыздың жаңартылғанын тексеру үшін <ph name="LINK_BEGIN" />ChromeOS параметрлеріне<ph name="LINK_END" /> өтіңіз.</translation>
 <translation id="5132929315877954718">Google Chrome браузеріне арналған тамаша қолданбаларды, ойындарды және тақырыптарды табыңыз.</translation>
 <translation id="5139423532931106058">Chrome профилін реттеу</translation>
 <translation id="5163087008893166964">Chrome браузеріне қош келдіңіз! Жаңа браузер терезесі ашылды.</translation>
@@ -253,7 +250,6 @@
 <translation id="5940385492829620908">Веб-сайттар, бетбелгілер және басқа Chrome материалдары осы жерде болады.</translation>
 <translation id="5941711191222866238">Жию</translation>
 <translation id="5941830788786076944">Google Chrome қолданбасын әдепкі браузер етіп орнату</translation>
-<translation id="5959292945051687759">Егер параметр бұл бетте көрсетілмесе, <ph name="LINK_BEGIN" />ChromeOS параметрлері<ph name="LINK_END" /> бөлімінен қараңыз.</translation>
 <translation id="6003112304606738118">Жүктеп алынып жатыр… <ph name="HOURS" /> сағат қалды.</translation>
 <translation id="6040143037577758943">Жабу</translation>
 <translation id="6070348360322141662">Қауіпсіздікті күшейту үшін Google Chrome деректеріңізді шифрлайды</translation>
diff --git a/chrome/app/resources/google_chrome_strings_km.xtb b/chrome/app/resources/google_chrome_strings_km.xtb
index 4ff15ca..ff6e173 100644
--- a/chrome/app/resources/google_chrome_strings_km.xtb
+++ b/chrome/app/resources/google_chrome_strings_km.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">មិនអាចដំឡើងជំនាន់ Chrome បានទេ</translation>
 <translation id="1152920704813762236">អំពី ChromeOS</translation>
 <translation id="1154147086299354128">&amp;​បើក​នៅក្នុង Chrome</translation>
-<translation id="1178374936842835197">ប្រសិនបើ​ការកំណត់​មិនបង្ហាញនៅក្នុងទំព័រនេះទេ សូមមើលនៅក្នុង<ph name="LINK_BEGIN" />
-        ការកំណត់ ChromeOS Flex របស់អ្នក<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">សូមអរគុណសម្រាប់ការដំឡើង។ អ្នកត្រូវតែចាប់ផ្ដើមកម្មវិធីរុករកតាមអ៊ីនធឺណិតរបស់អ្នកឡើងវិញ មុនពេលប្រើ <ph name="BUNDLE_NAME" />។</translation>
 <translation id="1278833599417554002">ចាប់​ផ្តើមឡើងវិញដើម្បីដំឡើងកំណែ &amp;Chrome</translation>
 <translation id="1302523850133262269">សូមរង់ចាំ ខណៈពេលដែល Chrome តំឡើងការធ្វើបច្ចុប្បន្នភាពប្រព័ន្ធចុងក្រោយបំផុត។</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">បន្តដំណើរការកម្មវិធីផ្ទៃខាងក្រោយ នៅពេល Google Chrome ត្រូវបានបិទ</translation>
 <translation id="3089968997497233615">មានកំណែថ្មីដែលមានសុវត្ថិភាពជាងមុនសម្រាប់ Google Chrome។</translation>
 <translation id="3100998948628680988">ដាក់ឈ្មោះកម្រងព័ត៌មាន Chrome របស់អ្នក</translation>
-<translation id="3103390129666310801">ដើម្បី​មើល​ថាតើឧបករណ៍​របស់អ្នក​មានបច្ចុប្បន្នភាពឬអត់ សូម​ចូលទៅកាន់<ph name="LINK_BEGIN" />ការកំណត់ ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">ដើម្បីពិនិត្យមើលថា​តើពាក្យសម្ងាត់​ផ្សេងទៀតរបស់អ្នក​មានសុវត្ថិភាពពី​ការបែកធ្លាយ​ទិន្នន័យ និងបញ្ហាសុវត្ថិភាព​ផ្សេងទៀតឬអត់ សូម<ph name="BEGIN_LINK" />ចូល Chrome<ph name="END_LINK" />។</translation>
 <translation id="3140883423282498090">ការផ្លាស់ប្តូររបស់អ្នកនឹងមានប្រសិទ្ធភាពនៅពេលដែលបើកដំណើរការ Google Chrome ពេលក្រោយ។</translation>
 <translation id="3149510190863420837">កម្មវិធី Chrome</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">ដើម្បីទទួលបានកំណែថ្មីរបស់ Google Chrome ក្នុងពេលអនាគត អ្នកនឹងត្រូវការ macOS 10.13 ឬកំណែខ្ពស់ជាងនេះ។ កុំព្យូទ័រនេះកំពុងប្រើ OS X 10.11។</translation>
 <translation id="5098668839038261629">នៅពេលបើក អ្នកក៏នឹងត្រូវចេញពី Chrome ផងដែរ</translation>
-<translation id="5112116809696021727">ដើម្បី​មើល​ថាតើឧបករណ៍​របស់អ្នក​មានបច្ចុប្បន្នភាពឬអត់ សូម​ចូលទៅកាន់<ph name="LINK_BEGIN" />ការកំណត់ ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">ស្វែងយល់ពីកម្មវិធី ហ្គេម កម្មវិធីបន្ថែម និងធីមដ៏អស្ចារ្យសម្រាប់ Google Chrome។</translation>
 <translation id="5139423532931106058">ប្ដូរកម្រងព័ត៌មាន Chrome របស់អ្នកតាមបំណង</translation>
 <translation id="5163087008893166964">សូម​ស្វាគមន៍​មក​កាន់ Chrome។ បាន​បើក​វិនដូ​របស់​កម្មវិធីរុករកតាមអ៊ីនធឺណិត​ថ្មី</translation>
@@ -255,7 +251,6 @@
 <translation id="5940385492829620908">គេហទំព័រ ចំណាំ និងរបស់ផ្សេងទៀតរបស់ Chrome របស់អ្នកនៅទីនេះ។</translation>
 <translation id="5941711191222866238">បង្រួម</translation>
 <translation id="5941830788786076944">ដាក់ Google Chrome ជាកម្មវិធីរុករកលំនាំដើម</translation>
-<translation id="5959292945051687759">ប្រសិនបើ​ការកំណត់​មិនបង្ហាញ​នៅក្នុងទំព័រនេះទេ សូមមើល​នៅក្នុង<ph name="LINK_BEGIN" />ការកំណត់ ChromeOS<ph name="LINK_END" /> របស់អ្នក</translation>
 <translation id="6003112304606738118">កំពុងទាញ​យក... នៅសល់ <ph name="HOURS" /> ម៉ោងទៀត</translation>
 <translation id="6040143037577758943">បិទ</translation>
 <translation id="6070348360322141662">ដើម្បី​ទទួលបាន​សុវត្ថិភាព​បន្ថែម Google Chrome នឹង​អ៊ិនគ្រីប​ទិន្នន័យ​របស់​អ្នក</translation>
diff --git a/chrome/app/resources/google_chrome_strings_kn.xtb b/chrome/app/resources/google_chrome_strings_kn.xtb
index a3c4b95..8858d4a9 100644
--- a/chrome/app/resources/google_chrome_strings_kn.xtb
+++ b/chrome/app/resources/google_chrome_strings_kn.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chrome ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ</translation>
 <translation id="1152920704813762236">ChromeOS ಕುರಿತು</translation>
 <translation id="1154147086299354128">ಮತ್ತು Chrome ನಲ್ಲಿ ತೆರೆಯಿರಿ</translation>
-<translation id="1178374936842835197">ಈ ಪುಟದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ ಒಂದು ಕಾಣಿಸದಿದ್ದರೆ, ನಿಮ್ಮ <ph name="LINK_BEGIN" />
-        ChromeOS Flex ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ<ph name="LINK_END" /> ನೋಡಿರಿ</translation>
 <translation id="1203500561924088507">ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು. <ph name="BUNDLE_NAME" /> ಅನ್ನು ಬಳಸುವ ಮೊದಲು ನೀವು ನಿಮ್ಮ ಬ್ರೌಸರ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕು.</translation>
 <translation id="1278833599417554002">&amp;Chrome ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ಮರುಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="1302523850133262269">ಇತ್ತೀಚಿನ ಸಿಸ್ಟಂ ನವೀಕರಣಗಳನ್ನು Chrome ಸ್ಥಾಪಿಸುವಾಗ ದಯವಿಟ್ಟು ಕಾಯಿರಿ.</translation>
@@ -121,7 +119,6 @@
 <translation id="3080151273017101988">Google Chrome ಮುಚ್ಚಿದಾಗ ರನ್‌ ಆಗುತ್ತಿರುವ ಹಿನ್ನೆಲೆ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಮುಂದುವರಿಸು</translation>
 <translation id="3089968997497233615">ಹೊಸದಾದ, ಸುರಕ್ಷಿತವಾದ Google Chrome ನ ಆವೃತ್ತಿ ಲಭ್ಯವಿದೆ.</translation>
 <translation id="3100998948628680988">ನಿಮ್ಮ Chrome ಪ್ರೊಫೈಲ್ ಅನ್ನು ಹೆಸರಿಸಿ</translation>
-<translation id="3103390129666310801">ನಿಮ್ಮ ಸಾಧನ ಅಪ್ ಟು ಡೇಟ್ ಆಗಿದೆಯೇ ಎಂಬುದನ್ನು ನೋಡಲು, <ph name="LINK_BEGIN" />ChromeOS Flex ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ<ph name="LINK_END" /> ಹೋಗಿ</translation>
 <translation id="3114643501466072395">ನಿಮ್ಮ ಇತರ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಡೇಟಾ ಉಲ್ಲಂಘನೆ ಮತ್ತು ಇತರ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳಿಂದ ಸುರಕ್ಷಿತವಾಗಿವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು, <ph name="BEGIN_LINK" />Chrome ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">ನೀವು ಮುಂದಿನ ಬಾರಿ Google Chrome ಮರುಪ್ರಾರಂಭಿಸಿದಾಗ ನಿಮ್ಮ ಬದಲಾವಣೆಗಳು ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತವೆ.</translation>
 <translation id="3149510190863420837">Chrome ಅಪ್ಲಿಕೇಶನ್‌ಗಳು</translation>
@@ -212,7 +209,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">ಭವಿಷ್ಯದ Google Chrome ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಪಡೆಯಲು, ನಿಮಗೆ macOS 10.13 ಅಥವಾ ಅದರ ನಂತರದ ಆವೃತ್ತಿಗಳ ಅಗತ್ಯವಿದೆ. ಈ ಕಂಪ್ಯೂಟರ್ OS X 10.11. ಅನ್ನು ಬಳಸುತ್ತಿದೆ.</translation>
 <translation id="5098668839038261629">ಇದನ್ನು ಆನ್ ಮಾಡಿದಾಗ, Chrome ನಿಂದಲೂ ನಿಮ್ಮನ್ನು ಸೈನ್ ಔಟ್ ಮಾಡಲಾಗುತ್ತದೆ</translation>
-<translation id="5112116809696021727">ನಿಮ್ಮ ಸಾಧನ ಅಪ್ ಟು ಡೇಟ್ ಆಗಿದೆಯೇ ಎಂಬುದನ್ನು ನೋಡಲು, <ph name="LINK_BEGIN" />ChromeOS ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ<ph name="LINK_END" /> ಹೋಗಿ</translation>
 <translation id="5132929315877954718">Google Chrome ಸಲುವಾಗಿ ಉತ್ಕೃಷ್ಟಮಟ್ಟದ ಅಪ್ಲಿಕೇಶನ್‌‌ಗಳು, ಗೇಮ್‌ಗಳು, ವಿಸ್ತರಣೆಗಳು ಹಾಗೂ ಥೀಮ್‌ಗಳನ್ನು ಅನ್ವೇಷಿಸಿ</translation>
 <translation id="5139423532931106058">ನಿಮ್ಮ Chrome ಪ್ರೊಫೈಲ್ ಅನ್ನು ಕಸ್ಟಮೈಸ್ ಮಾಡಿ</translation>
 <translation id="5163087008893166964">Chrome ಗೆ ಸುಸ್ವಾಗತ; ಹೊಸ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಹೊಸ ವಿಂಡೋವನ್ನು ತೆರೆಯಲಾಗಿದೆ</translation>
@@ -248,8 +244,6 @@
 <translation id="5940385492829620908">ನಿಮ್ಮ ವೆಬ್, ಬುಕ್‌ಮಾರ್ಕ್‌ಗಳು ಮತ್ತು ಇತರ Chrome ವಿಷಯವು ಇಲ್ಲಿ ಲೈವ್ ಆಗುತ್ತವೆ.</translation>
 <translation id="5941711191222866238">ಕುಗ್ಗಿಸಿ</translation>
 <translation id="5941830788786076944">Google Chrome ಅನ್ನು ಡಿಫಾಲ್ಟ್ ಬ್ರೌಸರ್ ಆಗಿಸು</translation>
-<translation id="5959292945051687759">ಈ ಪುಟದಲ್ಲಿ ಸೆಟ್ಟಿಂಗ್ ಒಂದು ಕಾಣಿಸದಿದ್ದರೆ, ನಿಮ್ಮ <ph name="LINK_BEGIN" />
-        ChromeOS ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ<ph name="LINK_END" /> ನೋಡಿರಿ</translation>
 <translation id="6003112304606738118">ಡೌನ್‌ಲೋಡ್‌ ಮಾಡಲಾಗುತ್ತಿದೆ… <ph name="HOURS" /> ಗಂಟೆ(ಗಳು) ಬಾಕಿಯಿವೆ.</translation>
 <translation id="6040143037577758943">ಮುಚ್ಚಿರಿ</translation>
 <translation id="6070348360322141662">ಹೆಚ್ಚುವರಿ ಭದ್ರತೆಗಾಗಿ, Google Chrome ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ko.xtb b/chrome/app/resources/google_chrome_strings_ko.xtb
index 54023393..b6b0f22 100644
--- a/chrome/app/resources/google_chrome_strings_ko.xtb
+++ b/chrome/app/resources/google_chrome_strings_ko.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome을 업데이트할 수 없음</translation>
 <translation id="1152920704813762236">ChromeOS 정보</translation>
 <translation id="1154147086299354128">Chrome에서 열기(&amp;O)</translation>
-<translation id="1178374936842835197">페이지에 표시되지 않는 설정이 있다면 <ph name="LINK_BEGIN" />
-      ChromeOS Flex 설정<ph name="LINK_END" />을 확인해 보세요.</translation>
 <translation id="1203500561924088507">설치해 주셔서 감사합니다. <ph name="BUNDLE_NAME" />을(를) 사용하려면 브라우저를 다시 시작해야 합니다.</translation>
 <translation id="1278833599417554002">다시 실행하여 Chrome 업데이트</translation>
 <translation id="1302523850133262269">Chrome에서 최신 시스템 업데이트를 설치하는 동안 잠시 기다려 주세요.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Chrome 종료 후에도 백그라운드 앱을 계속 실행</translation>
 <translation id="3089968997497233615">새롭고 안전한 Chrome의 새 버전을 사용할 수 있습니다.</translation>
 <translation id="3100998948628680988">Chrome 프로필 이름 지정</translation>
-<translation id="3103390129666310801">기기가 최신 상태인지 확인하려면 <ph name="LINK_BEGIN" />ChromeOS Flex 설정<ph name="LINK_END" />으로 이동하세요.</translation>
 <translation id="3114643501466072395">다른 암호가 정보 유출 및 다른 보안 문제로부터 안전한지 확인하려면 <ph name="BEGIN_LINK" />Chrome에 로그인<ph name="END_LINK" />하세요.</translation>
 <translation id="3140883423282498090">Chrome을 다시 시작하면 변경사항이 적용됩니다.</translation>
 <translation id="3149510190863420837">Chrome 앱</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Chrome Canary</translation>
 <translation id="5037581483200764584">향후 Chrome 업데이트를 받으려면 macOS 10.13 이상이 필요합니다. 이 컴퓨터에서는 OS X 10.11을 사용하고 있습니다.</translation>
 <translation id="5098668839038261629">사용하게 되면 Chrome에서도 로그아웃됩니다.</translation>
-<translation id="5112116809696021727">기기가 최신 버전인지 확인하려면 <ph name="LINK_BEGIN" />ChromeOS 설정<ph name="LINK_END" />으로 이동하세요.</translation>
 <translation id="5132929315877954718">Chrome에 사용할 유용한 애플리케이션, 게임, 확장 프로그램 및 테마를 찾아보세요.</translation>
 <translation id="5139423532931106058">Chrome 프로필 맞춤설정</translation>
 <translation id="5163087008893166964">Chrome에 오신 것을 환영합니다. 새 브라우저 창이 열렸습니다</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">웹, 북마크 및 기타 Chrome 콘텐츠가 여기에 저장됩니다.</translation>
 <translation id="5941711191222866238">최소화</translation>
 <translation id="5941830788786076944">Chrome을 기본 브라우저로</translation>
-<translation id="5959292945051687759">페이지에 표시되지 않는 설정이 있다면 <ph name="LINK_BEGIN" />
-      ChromeOS 설정<ph name="LINK_END" />을 확인해 보세요.</translation>
 <translation id="6003112304606738118">다운로드 중... <ph name="HOURS" />시간 남음</translation>
 <translation id="6040143037577758943">닫기</translation>
 <translation id="6070348360322141662">보안 강화를 위해 Chrome에서 사용자 데이터를 암호화합니다.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ky.xtb b/chrome/app/resources/google_chrome_strings_ky.xtb
index dd1887b4..f01b472 100644
--- a/chrome/app/resources/google_chrome_strings_ky.xtb
+++ b/chrome/app/resources/google_chrome_strings_ky.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome жаңырбай жатат</translation>
 <translation id="1152920704813762236">ChromeOS жөнүндө</translation>
 <translation id="1154147086299354128">&amp;Chrome'до ачуу</translation>
-<translation id="1178374936842835197">Эгер жөндөө бул баракта көрүнбөсө, <ph name="LINK_BEGIN" />
-      ChromeOS Flex жөндөөлөрүнөн<ph name="LINK_END" /> карап көрүңүз</translation>
 <translation id="1203500561924088507">Орнотуп алганыңыз үчүн рахмат. <ph name="BUNDLE_NAME" /> топтомун колдонуп баштоодон мурда серепчини өчүрүп күйгүзүңүз.</translation>
 <translation id="1278833599417554002">&amp;Chrome'ду жаңыртуу үчүн кайра иштетиңиз</translation>
 <translation id="1302523850133262269">Chrome эң акыркы тутум жаңыртууларын орнотуп бүткүчө күтө туруңуз.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Google Chrome жабылганда фондук колдонмолор иштей берсин</translation>
 <translation id="3089968997497233615">Google Chrome'дун бир кыйла жаңы, коопсуз версиясы бар.</translation>
 <translation id="3100998948628680988">Chrome профилиңиздин аталышын коюңуз</translation>
-<translation id="3103390129666310801">Түзмөгүңүздүн жаңыртылганын текшерүү үчүн <ph name="LINK_BEGIN" />ChromeOS Flex Жөндөөлөрүнө<ph name="LINK_END" /> өтүңүз</translation>
 <translation id="3114643501466072395">Башка сырсөздөрүңүздүн бекем корголгонун, ошондой эле коопсуздукка байланыштуу көйгөйлөрдү текшерүү үчүн <ph name="BEGIN_LINK" />Chrome'го кириңиз<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Өзгөртүүлөрүңүз Google Chrome кийинки жолу кайра ишке киргизилгенде күчүнө кирет.</translation>
 <translation id="3149510190863420837">Chrome колдонмолору</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chrome жаңыртууларын алып туруу үчүн macOS 10.13 же андан кийинки версиясын орнотушуңуз керек. Бул компьютерде OS X 10.11 версиясы колдонулууда.</translation>
 <translation id="5098668839038261629">Күйгүзүлсө, Chrome'дон да чыгарыласыз</translation>
-<translation id="5112116809696021727">Түзмөгүңүздүн жаңыртылганын текшерүү үчүн <ph name="LINK_BEGIN" />ChromeOS Жөндөөлөрүнө<ph name="LINK_END" /> өтүңүз</translation>
 <translation id="5132929315877954718">Google Chrome'дун мыкты колдонмолор, оюндар, кеңейтүүлөр жана темалар дүйнөсүн ачыңыз.</translation>
 <translation id="5139423532931106058">Chrome профилимди ыңгайлаштыруу</translation>
 <translation id="5163087008893166964">Chrome'го кош келиңиз; серепчиде жаңы терезе ачылды</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Веб, кыстармалар жана башка Chrome жеке дайын-даректериңиз ушул жерде жайгашкан.</translation>
 <translation id="5941711191222866238">Кичирейтүү</translation>
 <translation id="5941830788786076944">Google Chrome'ду демейки серепчи кылуу</translation>
-<translation id="5959292945051687759">Эгер параметр бул баракта көрүнбөсө, <ph name="LINK_BEGIN" />
-      ChromeOS жөндөөлөрүнөн<ph name="LINK_END" /> карап көрүңүз</translation>
 <translation id="6003112304606738118">Жүктөлүп алынууда... <ph name="HOURS" /> саат калды</translation>
 <translation id="6040143037577758943">Жабуу</translation>
 <translation id="6070348360322141662">Кошумча коопсуздук максатында, Google Chrome дайын-даректериңизди шифрлеп коёт</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lo.xtb b/chrome/app/resources/google_chrome_strings_lo.xtb
index 64b175a7..9c385ab 100644
--- a/chrome/app/resources/google_chrome_strings_lo.xtb
+++ b/chrome/app/resources/google_chrome_strings_lo.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">ບໍ່ສາມາດອັບເດດ Chrome ໄດ້</translation>
 <translation id="1152920704813762236">ກ່ຽວກັບ ChromeOS</translation>
 <translation id="1154147086299354128">&amp;ເປີດໃນ Chrome</translation>
-<translation id="1178374936842835197">ຫາກການຕັ້ງຄ່າໃດໜຶ່ງບໍ່ສະແດງຢູ່ໜ້ານີ້, ກະລຸນາກວດເບິ່ງໃນ <ph name="LINK_BEGIN" />
-    ການຕັ້ງຄ່າ ChromeOS Flex<ph name="LINK_END" /> ຂອງທ່ານ</translation>
 <translation id="1203500561924088507">ຂໍຂອບໃຈສຳລັບການຕິດຕັ້ງ. ທ່ານຈະຕ້ອງຣີສະຕາດໂປຣແກຣມທ່ອງເວັບຂອງທ່ານກ່ອນການໃຊ້ <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">ເລີ່ມເປີດໃຊ້ໃໝ່ເພື່ອອັບເດດ &amp;Chrome</translation>
 <translation id="1302523850133262269">ກະ​ລຸ​ນາ​ລໍ​ຖ້າ​ໃນ​ຂະ​ນະ​ທີ່ Chrome ​ຕິດ​ຕັ້ງ​ການອັບເດດລະບົບຫລ້າ​ສຸດ.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">ສືບຕໍ່ແລ່ນແອັບພື້ນຫຼັງ ເມື່ອ Google Chrome ປິດ</translation>
 <translation id="3089968997497233615">ມີ Google Chrome ລຸ້ນໃໝ່ປອດໄພກ່ວາຢູ່.</translation>
 <translation id="3100998948628680988">ຕັ້ງຊື່ໂປຣໄຟລ໌ Chrome ຂອງທ່ານ</translation>
-<translation id="3103390129666310801">ເພື່ອເບິ່ງວ່າອຸປະກອນຂອງທ່ານໄດ້ຮັບການອັບເດດຫຼືຍັງ, ໃຫ້ເຂົ້າໄປ <ph name="LINK_BEGIN" />ການຕັ້ງຄ່າ ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">ເພື່ອກວດເບິ່ງວ່າລະຫັດຜ່ານອື່ນຂອງທ່ານປອດໄພຈາກການລະເມີດຂໍ້ມູນ ແລະ ບັນຫາຄວາມປອດໄພອື່ນຫຼືບໍ່, ກະລຸນາ <ph name="BEGIN_LINK" />ເຂົ້າສູ່ລະບົບ Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">ການປ່ຽນແປງຂອງທ່ານຈະມີຜົນຄັ້ງຕໍ່ໄປທີ່ທ່ານເລີ່ມເປີດໃຊ້ Google Chrome ໃໝ່.</translation>
 <translation id="3149510190863420837">ແອັບ Chrome</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">ເພື່ອຮັບການອັບເດດ Google Chrome ໃນອະນາຄົດ, ທ່ານຈະຕ້ອງໃຊ້ macOS 10.13 ຂຶ້ນໄປ. ຄອມພິວເຕີນີ້ກຳລັງໃຊ້ OS X 10.11.</translation>
 <translation id="5098668839038261629">ເມື່ອເປີດໃຊ້, ທ່ານຈະອອກຈາກລະບົບ Chrome ນຳ</translation>
-<translation id="5112116809696021727">ເພື່ອເບິ່ງວ່າອຸປະກອນຂອງທ່ານອັບເດດແລ້ວຫຼືຍັງ, ກະລຸນາເຂົ້າໄປ <ph name="LINK_BEGIN" />ການຕັ້ງຄ່າ ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">ຄົ້ນພົບແອັບຯ, ເກມ, ສ່ວນຂະຫຍາຍ ແລະ ຮູບແບບສີສັນສຳລັບ Google Chrome.</translation>
 <translation id="5139423532931106058">ປັບແຕ່ງໂປຣໄຟລ໌ Chrome ຂອງທ່ານ</translation>
 <translation id="5163087008893166964">ຍິນດີຕ້ອນຮັບສູ່ Chrome; ເປີດໜ້າຈໍໂປຣແກຣມທ່ອງເວັບໃໝ່ແລ້ວ</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">ເວັບຂອງທ່ານ, ບຸກມາກສ໌, ແລະ Chrome ອື່ນສົດຢູ່ທີ່ນີ້.</translation>
 <translation id="5941711191222866238">ຫຍໍ້ລົງ</translation>
 <translation id="5941830788786076944">ເຮັດ Google Chrome ເປັນບຣາວເຊີມາດຕະຖານ</translation>
-<translation id="5959292945051687759">ຫາກການຕັ້ງຄ່າໃດໜຶ່ງບໍ່ສະແດງຢູ່ໜ້ານີ້, ກະລຸນາເບິ່ງໃນ <ph name="LINK_BEGIN" />
-        ການຕັ້ງຄ່າ ChromeOS<ph name="LINK_END" /> ຂອງທ່ານ</translation>
 <translation id="6003112304606738118">ກຳລັງດາວໂຫຼດ... ຍັງເຫຼືອ <ph name="HOURS" /> ຊົ່ວໂມງ</translation>
 <translation id="6040143037577758943">ປິດ</translation>
 <translation id="6070348360322141662">ເພື່ອຄວາມປອດໄພເພີ່ມເຕີມ, Google Chrome ຈະເຂົ້າລະຫັດລັບຂໍ້ມູນຂອງທ່ານ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lt.xtb b/chrome/app/resources/google_chrome_strings_lt.xtb
index 3c8cdeb..43c90d34 100644
--- a/chrome/app/resources/google_chrome_strings_lt.xtb
+++ b/chrome/app/resources/google_chrome_strings_lt.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Nepavyko atnaujinti „Chrome“</translation>
 <translation id="1152920704813762236">Apie „Chrome“ OS</translation>
 <translation id="1154147086299354128">&amp;Atidaryti naudojant „Chrome“</translation>
-<translation id="1178374936842835197">Jei nustatymai šiame puslapyje nerodomi, jų ieškokite <ph name="LINK_BEGIN" />
-        „ChromeOS Flex“ nustatymuose<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Dėkojame už diegimą. Turite iš naujo paleisti naršyklę, prieš naudodami „<ph name="BUNDLE_NAME" />“.</translation>
 <translation id="1278833599417554002">Paleisti iš naujo atnaujinant „&amp;Chrome“</translation>
 <translation id="1302523850133262269">Palaukite, kol „Chrome“ įdiegs naujausius sistemos naujinius.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Uždarius „Google Chrome“ toliau leisti fono programas</translation>
 <translation id="3089968997497233615">Galima nauja, saugesnė „Google Chrome“ versija.</translation>
 <translation id="3100998948628680988">Pavadinkite „Chrome“ profilį</translation>
-<translation id="3103390129666310801">Jei norite sužinoti, ar įrenginys atnaujintas, eikite į <ph name="LINK_BEGIN" />„ChromeOS Flex“ nustatymus<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Jei norite patikrinti, ar kiti slaptažodžiai apsaugoti nuo duomenų saugos pažeidimų bei kitų saugos problemų, <ph name="BEGIN_LINK" />prisijunkite prie „Chrome“<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Pakeitimai įsigalios kitą kartą iš naujo paleidus „Google Chrome“.</translation>
 <translation id="3149510190863420837">„Chrome“ programos</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Jei norite gauti būsimus „Google Chrome“ naujinius, jums reikės 10.13 ar naujesnės „macOS“ versijos. Šiame kompiuteryje naudojama 10.11 versijos „OS X“.</translation>
 <translation id="5098668839038261629">Kai tai bus įjungta, taip pat būsite atjungti nuo „Chrome“</translation>
-<translation id="5112116809696021727">Jei norite sužinoti, ar įrenginys atnaujintas, eikite į <ph name="LINK_BEGIN" />„Chrome“ OS nustatymus<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Suraskite puikių „Google Chrome“ programų, žaidimų, plėtinių ir temų.</translation>
 <translation id="5139423532931106058">Tinkinti „Chrome“ profilį</translation>
 <translation id="5163087008893166964">Sveiki, tai – „Chrome“; atidarytas naujas naršyklės langas</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Čia saugoma žiniatinklio informacija, žymės ir kiti „Chrome“ duomenys.</translation>
 <translation id="5941711191222866238">Sumažinti</translation>
 <translation id="5941830788786076944">Padarykite „Google Chrome“ numatytąja naršykle</translation>
-<translation id="5959292945051687759">Jei nustatymas šiame puslapyje nerodomas, ieškokite jo <ph name="LINK_BEGIN" />
-      „Chrome“ OS nustatymuose<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Atsisiunčiama… Liko <ph name="HOURS" /> val.</translation>
 <translation id="6040143037577758943">Uždaryti</translation>
 <translation id="6070348360322141662">Kad būtų papildomai užtikrintas saugumas, „Google Chrome“ užšifruos duomenis</translation>
diff --git a/chrome/app/resources/google_chrome_strings_lv.xtb b/chrome/app/resources/google_chrome_strings_lv.xtb
index fcbb75a0..ea09a98 100644
--- a/chrome/app/resources/google_chrome_strings_lv.xtb
+++ b/chrome/app/resources/google_chrome_strings_lv.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">Nevar atjaunināt Chrome</translation>
 <translation id="1152920704813762236">Par Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Atvērt pārlūkā Chrome</translation>
-<translation id="1178374936842835197">Ja šajā lapā iestatījums nav pieejams, skatiet to <ph name="LINK_BEGIN" />Chrome OS Flex iestatījumos<ph name="LINK_END" />.</translation>
 <translation id="1203500561924088507">Pateicamies, ka veicāt instalēšanu. Pirms <ph name="BUNDLE_NAME" /> izmantošanas ir jārestartē pārlūkprogramma.</translation>
 <translation id="1278833599417554002">Atkārtoti palaist, lai atjauninātu &amp;Chrome</translation>
 <translation id="1302523850133262269">Lūdzu, uzgaidiet, kamēr Chrome instalē jaunākos sistēmas atjauninājumus.</translation>
@@ -120,7 +119,6 @@
 <translation id="3080151273017101988">Turpināt lietotņu izpildi fonā, kad Google Chrome ir aizvērts</translation>
 <translation id="3089968997497233615">Ir pieejama jauna un drošāka Google Chrome versija.</translation>
 <translation id="3100998948628680988">Chrome profila nosaukšana</translation>
-<translation id="3103390129666310801">Lai pārbaudītu, vai ierīce ir atjaunināta, pārejiet uz <ph name="LINK_BEGIN" />Chrome OS Flex iestatījumiem<ph name="LINK_END" />.</translation>
 <translation id="3114643501466072395">Lai pārbaudītu, vai jūsu pārējās paroles ir aizsargātas pret datu pārkāpumiem un citām drošības problēmām, <ph name="BEGIN_LINK" />pierakstieties pārlūkā Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Jūsu izmaiņas stāsies spēkā nākamajā reizē, kad atkārtoti palaidīsiet pārlūku Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome lietotnes</translation>
@@ -211,7 +209,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Lai saņemtu turpmākus Google Chrome atjauninājumus, ir nepieciešama operētājsistēma macOS 10.13 vai jaunāka versija. Šajā datorā tiek izmantota OS X 10.11 versija.</translation>
 <translation id="5098668839038261629">Iestatījumam esot ieslēgtam, jūs tiksiet izrakstīts arī no pārlūka Chrome.</translation>
-<translation id="5112116809696021727">Lai noskaidrotu, vai ierīce ir atjaunināta, pārejiet uz <ph name="LINK_BEGIN" />Chrome OS iestatījumiem<ph name="LINK_END" />.</translation>
 <translation id="5132929315877954718">Atklājiet lieliskas lietotnes, spēles, paplašinājumus un motīvus, ko varat izmantot pārlūkā Google Chrome.</translation>
 <translation id="5139423532931106058">Pielāgot Chrome profilu</translation>
 <translation id="5163087008893166964">Laipni lūdzam pārlūkā Chrome (tika atvērts jauns pārlūka logs)!</translation>
@@ -249,7 +246,6 @@
 <translation id="5940385492829620908">Šeit atrodas jūsu tīmekļa saturs, grāmatzīmes un cits Chrome saturs.</translation>
 <translation id="5941711191222866238">Minimizēt</translation>
 <translation id="5941830788786076944">Izveidot Google Chrome par noklusējuma pārlūku</translation>
-<translation id="5959292945051687759">Ja iestatījums nav redzams šajā lapā, meklējiet to <ph name="LINK_BEGIN" />Chrome OS iestatījumos<ph name="LINK_END" />.</translation>
 <translation id="6003112304606738118">Notiek lejupielāde... Atlikušais laiks: <ph name="HOURS" /> stunda(-as).</translation>
 <translation id="6040143037577758943">Aizvērt</translation>
 <translation id="6070348360322141662">Papildu drošības nolūkos Google Chrome šifrēs jūsu datus.</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mk.xtb b/chrome/app/resources/google_chrome_strings_mk.xtb
index 95f1190..3031223 100644
--- a/chrome/app/resources/google_chrome_strings_mk.xtb
+++ b/chrome/app/resources/google_chrome_strings_mk.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Не може да се ажурира Chrome</translation>
 <translation id="1152920704813762236">За Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Отвори во Chrome</translation>
-<translation id="1178374936842835197">Ако некоја поставка не се прикажува на страницава, погледнете во <ph name="LINK_BEGIN" />
-        поставките за ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Фала за инсталирањето. Мора да го рестартирате прелистувачот пред да користите <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Рестартирајте за да се ажурира &amp;Chrome</translation>
 <translation id="1302523850133262269">Почекајте додека Chrome ги инсталира последните системски ажурирања.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Продолжи со извршување апликации во заднина кога е затворен Google Chrome</translation>
 <translation id="3089968997497233615">Достапна е нова, побезбедна верзија на Google Chrome.</translation>
 <translation id="3100998948628680988">Именувајте го профилот на Chrome</translation>
-<translation id="3103390129666310801">За да видите дали уредот ви е ажуриран, одете во <ph name="LINK_BEGIN" />Поставките за ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">За да проверите дали другите ваши лозинки се заштитени од упад во податоците и други проблеми со безбедноста, <ph name="BEGIN_LINK" />најавете се на Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Вашите промени ќе делуваат со следното рестартирање на Google Chrome.</translation>
 <translation id="3149510190863420837">Апликации на Chrome</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Канари</translation>
 <translation id="5037581483200764584">За да добивате идни ажурирања на Google Chrome, потребен ви е macOS 10.13 или понова верзија. Компјутеров користи OS X 10.11.</translation>
 <translation id="5098668839038261629">Кога е вклучено, ќе се одјавите и од Chrome</translation>
-<translation id="5112116809696021727">За да видите дали уредот ви е ажуриран, одете на <ph name="LINK_BEGIN" />Поставки за Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Открива одлични апликации, игри, наставки и теми за Google Chrome.</translation>
 <translation id="5139423532931106058">Приспособете го вашиот профил на Chrome</translation>
 <translation id="5163087008893166964">Добре дојдовте на Chrome; отворен е нов прозорец во прелистувачот</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Вебот, обележувачите и останатите работи на Chrome живеат тука.</translation>
 <translation id="5941711191222866238">Минимизирај</translation>
 <translation id="5941830788786076944">Постави го Google Chrome за стандарден прелистувач</translation>
-<translation id="5959292945051687759">Ако некоја поставка не се прикажува на страницава, погледнете во <ph name="LINK_BEGIN" />
-    поставките за Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Се презема… Уште <ph name="HOURS" /> ч.</translation>
 <translation id="6040143037577758943">Затвори</translation>
 <translation id="6070348360322141662">За дополнителна безбедност, Google Chrome ќе ги шифрира вашите податоци</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ml.xtb b/chrome/app/resources/google_chrome_strings_ml.xtb
index c408b91..10090d4 100644
--- a/chrome/app/resources/google_chrome_strings_ml.xtb
+++ b/chrome/app/resources/google_chrome_strings_ml.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome അപ്‌ഡേറ്റ് ചെയ്യാനാവില്ല</translation>
 <translation id="1152920704813762236">ChromeOS-നെ കുറിച്ച്</translation>
 <translation id="1154147086299354128">&amp;Chrome-ൽ തുറക്കുക</translation>
-<translation id="1178374936842835197">ഈ പേജിൽ ക്രമീകരണം കാണുന്നില്ലെങ്കിൽ, നിങ്ങളുടെ <ph name="LINK_BEGIN" />
-        ChromeOS Flex ക്രമീകരണത്തിൽ<ph name="LINK_END" /> പരിശോധിക്കുക</translation>
 <translation id="1203500561924088507">ഇൻസ്റ്റാൾ ചെയ്തതിന് നന്ദി. <ph name="BUNDLE_NAME" /> ഉപയോഗിക്കും മുമ്പ് നിങ്ങളുടെ ബ്രൗസർ റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്.</translation>
 <translation id="1278833599417554002">&amp;Chrome അപ്‌ഡേറ്റ് ചെയ്യാൻ വീണ്ടും ആരംഭിക്കുക</translation>
 <translation id="1302523850133262269">ഏറ്റവും പുതിയ സിസ്‌റ്റം അപ്‌ഡേറ്റുകൾ Chrome ഇൻസ്റ്റാളുചെയ്യുന്നതുവരെ കാത്തിരിക്കുക.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Google Chrome അടച്ചാലും പശ്ചാത്തല ആപ്ലിക്കേഷനുകള്‍ പ്രവര്‍ത്തിപ്പിക്കുന്നത് തുടരുക</translation>
 <translation id="3089968997497233615">Google Chrome-ന്റെ പുതിയതും സുരക്ഷിതവുമായ പതിപ്പ് ലഭ്യമാണ്.</translation>
 <translation id="3100998948628680988">നിങ്ങളുടെ Chrome പ്രൊഫൈലിന് പേര് നൽകുക</translation>
-<translation id="3103390129666310801">നിങ്ങളുടെ ഉപകരണം അപ് ടു ഡേറ്റാണോ എന്ന് കാണാൻ <ph name="LINK_BEGIN" />ChromeOS Flex ക്രമീകരണത്തിലേക്ക്<ph name="LINK_END" /> പോകുക</translation>
 <translation id="3114643501466072395">ഡാറ്റാ ലംഘനങ്ങളിൽ നിന്നും മറ്റ് സുരക്ഷാ പ്രശ്‌നങ്ങളിൽ നിന്നും നിങ്ങളുടെ മറ്റ് പാസ്‌വേഡുകൾ സുരക്ഷിതമാണോ എന്ന് പരിശോധിക്കാൻ, <ph name="BEGIN_LINK" />Chrome-ൽ സൈൻ ഇൻ ചെയ്യുക<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">നിങ്ങളുടെ മാറ്റങ്ങൾ അടുത്ത തവണ Google Chrome വീണ്ടും ആരംഭിക്കുമ്പോൾ പ്രാബല്യത്തിൽ വരും.</translation>
 <translation id="3149510190863420837">Chrome അപ്ലിക്കേഷനുകൾ</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">ഭാവിയിലെ Google Chrome അപ്ഡേറ്റുകൾ ലഭിക്കാൻ macOS 10.13 അല്ലെങ്കിൽ അതിന് ശേഷമുള്ള പതിപ്പ് ആവശ്യമാണ്. ഈ കമ്പ്യൂട്ടർ ഉപയോഗിക്കുന്നത് OS X 10.11 ആണ്.</translation>
 <translation id="5098668839038261629">ഓണായിരിക്കുമ്പോൾ, Chrome-ൽ നിന്ന് നിങ്ങളും സൈൻ ഔട്ട് ആകും</translation>
-<translation id="5112116809696021727">നിങ്ങളുടെ ഉപകരണം അപ് ടു ഡേറ്റാണോ എന്ന് കാണാൻ <ph name="LINK_BEGIN" />ChromeOS ക്രമീകരണത്തിലേക്ക്<ph name="LINK_END" /> പോകുക</translation>
 <translation id="5132929315877954718">Google Chrome-നായി മികച്ച അപ്ലിക്കേഷനുകളും വിപുലീകരണങ്ങളും തീമുകളും കണ്ടെത്തുക.</translation>
 <translation id="5139423532931106058">നിങ്ങളുടെ Chrome പ്രൊഫൈൽ ഇഷ്‌ടാനുസൃതമാക്കുക</translation>
 <translation id="5163087008893166964">Chrome-ലേക്ക് സ്വാഗതം; പുതിയ ബ്രൗസർ വിൻഡോ തുറന്നു</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">നിങ്ങളുടെ വെബും ബുക്ക്മാർക്കുകളും മറ്റ് Chrome ഫയലും ഇവിടെ തത്സമയമാണ്.</translation>
 <translation id="5941711191222866238">ചെറുതാക്കുക</translation>
 <translation id="5941830788786076944">Google Chrome-നെ ഡിഫോൾട്ട് ബ്രൗസർ ആക്കുക</translation>
-<translation id="5959292945051687759">ഈ പേജിൽ ക്രമീകരണം കാണുന്നില്ലെങ്കിൽ, നിങ്ങളുടെ <ph name="LINK_BEGIN" />
-        ChromeOS ക്രമീകരണത്തിൽ<ph name="LINK_END" /> പരിശോധിക്കുക</translation>
 <translation id="6003112304606738118">ഡൗൺലോഡ് ചെയ്യുന്നു... <ph name="HOURS" /> മണിക്കൂർ ശേഷിക്കുന്നു</translation>
 <translation id="6040143037577758943">അടയ്ക്കുക</translation>
 <translation id="6070348360322141662">കൂടുതൽ സുരക്ഷ ലഭ്യമാക്കാൻ, Google Chrome നിങ്ങളുടെ ഡാറ്റ എന്‍‌ക്രിപ്‌റ്റ് ചെയ്യും</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mn.xtb b/chrome/app/resources/google_chrome_strings_mn.xtb
index 2ead7558..0286a73f 100644
--- a/chrome/app/resources/google_chrome_strings_mn.xtb
+++ b/chrome/app/resources/google_chrome_strings_mn.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome-г шинэчлэх боломжгүй байна</translation>
 <translation id="1152920704813762236">ChromeOS-н тухай</translation>
 <translation id="1154147086299354128">&amp;Chrome-д нээх</translation>
-<translation id="1178374936842835197">Хэрэв тохиргоог энэ хуудсанд харуулахгүй байвал <ph name="LINK_BEGIN" />
-        ChromeOS Flex-н тохиргооноосоо<ph name="LINK_END" /> хайна уу</translation>
 <translation id="1203500561924088507">Суулгасанд баярлалаа. Та <ph name="BUNDLE_NAME" />-г ашиглахаасаа өмнө хөтчөө дахин эхлүүлэх ёстой.</translation>
 <translation id="1278833599417554002">&amp;Chrome-г шинэчлэхийн тулд дахин ачаалах</translation>
 <translation id="1302523850133262269">Chrome-оос хамгийн сүүлийн үеийн системийн шинэчлэлтүүдийг суулгаж байгаа тул түр хүлээнэ үү.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Google Chrome хаагдсан үед үндсэн аппликйешнуудыг үргэлжлүүлэн ажиллуул</translation>
 <translation id="3089968997497233615">Google Chrome-ийн шинэ, илүү аюулгүй хувилбар бэлэн боллоо.</translation>
 <translation id="3100998948628680988">Chrome-н профайлаа нэрлэнэ үү</translation>
-<translation id="3103390129666310801">Таны төхөөрөмж шинэчлэгдсэн эсэхийг харахын тулд <ph name="LINK_BEGIN" />ChromeOS Flex-н тохиргоо<ph name="LINK_END" /> руу очно уу</translation>
 <translation id="3114643501466072395">Бусад нууц үгэндээ өгөгдлийн зөрчил болон аюулгүй байдлын өөр асуудал байхгүй болохыг шалгахын тулд <ph name="BEGIN_LINK" />Chrome-д нэвтэрнэ үү<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Таны оруулсан өөрчлөлт дараа дахин Google Chrome-г ашиглах үед идэвхжинэ.</translation>
 <translation id="3149510190863420837">Chrome Аппликейшнууд</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome цайвар шаргал өнгө</translation>
 <translation id="5037581483200764584">Google Chrome-н цаашдын шинэчлэлтийг авахын тулд танд macOS 10.13 эсвэл түүнээс хойших хувилбар хэрэгтэй болно. Энэ компьютер OS X 10.11 хувилбарыг ашиглаж байна.</translation>
 <translation id="5098668839038261629">Асаалттай үед таныг мөн Chrome-с гаргана</translation>
-<translation id="5112116809696021727">Таны төхөөрөмж шинэчлэгдсэн эсэхийг харахын тулд <ph name="LINK_BEGIN" />ChromeOS-н тохиргоо<ph name="LINK_END" /> руу очно уу</translation>
 <translation id="5132929315877954718">Google Кромын шилдэг апп, тоглоом, өргөтгөл болон загварыг ашиглах боломжтой.</translation>
 <translation id="5139423532931106058">Chrome-н профайлаа өөрчлөх</translation>
 <translation id="5163087008893166964">Chrome-д тавтай морилно уу; хөтчийн шинэ цонхыг нээсэн</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Таны веб, хавчуурга, болон Chrome-ийн бусад зүйлс энд хадгалагддаг.</translation>
 <translation id="5941711191222866238">Багасгах</translation>
 <translation id="5941830788786076944">Google Chrome-ыг анхдагч веб хөтөчөө болгоно уу</translation>
-<translation id="5959292945051687759">Хэрэв тохиргоог энэ хуудсанд харуулахгүй байвал <ph name="LINK_BEGIN" />
-        ChromeOS-н тохиргооноосоо<ph name="LINK_END" /> хайна уу</translation>
 <translation id="6003112304606738118">Татаж байна... <ph name="HOURS" /> цаг үлдсэн</translation>
 <translation id="6040143037577758943">Хаах</translation>
 <translation id="6070348360322141662">Таны аюулгүй байдлыг сайжруулахын тулд Google Chrome таны өгөгдлийг шифрлэнэ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_mr.xtb b/chrome/app/resources/google_chrome_strings_mr.xtb
index 33b3742..b7b6e519 100644
--- a/chrome/app/resources/google_chrome_strings_mr.xtb
+++ b/chrome/app/resources/google_chrome_strings_mr.xtb
@@ -13,8 +13,6 @@
 <translation id="1142745911746664600">Chrome अपडेट करू शकत नाही</translation>
 <translation id="1152920704813762236">ChromeOS बद्दल</translation>
 <translation id="1154147086299354128">Chrome मध्‍ये &amp;उघडा</translation>
-<translation id="1178374936842835197">या पेजवर सेटिंग दिसत नसल्यास, तुमची <ph name="LINK_BEGIN" />
-        ChromeOS Flex सेटिंग्ज<ph name="LINK_END" /> यामध्ये पहा</translation>
 <translation id="1203500561924088507">इंस्टॉल केल्याबद्दल धन्यवाद. तुम्ही <ph name="BUNDLE_NAME" /> वापरण्यापूर्वी तुमचा ब्राउझर रीस्टार्ट करणे आवश्यक आहे.</translation>
 <translation id="1278833599417554002">&amp;Chrome अपडेट करण्यासाठी पुन्हा लाँच करा</translation>
 <translation id="1302523850133262269">कृपया Chrome नवीनतम सिस्टम अपडेट इंस्टॉल करताना प्रतीक्षा करा.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">जेव्हा Google Chrome बंद असेल तेव्हा पार्श्वभूमीत ॲप्लिकेशन चालणे सुरू ठेवा</translation>
 <translation id="3089968997497233615">Google Chrome ची नवीन, सुरक्षित आवृत्ती उपलब्ध आहे.</translation>
 <translation id="3100998948628680988">तुमच्या Chrome प्रोफाइलला नाव द्या</translation>
-<translation id="3103390129666310801">तुमचे डिव्हाइस अप टू डेट आहे का हे पाहण्यासाठी, <ph name="LINK_BEGIN" />ChromeOS Flex सेटिंग्ज<ph name="LINK_END" /> वर जा</translation>
 <translation id="3114643501466072395">तुमचे इतर पासवर्ड डेटा भंग आणि इतर सुरक्षा समस्यांपासून सुरक्षित आहेत हे तपासण्यासाठी, <ph name="BEGIN_LINK" />Chrome मध्ये साइन इन करा<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">पुढील वेळी तुम्ही Google Chrome पुन्हा लाँच केल्यानंतर तुमचे बदल प्रभावी होतील.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome कॅनरी</translation>
 <translation id="5037581483200764584">भविष्यातील Google Chrome अपडेट मिळवण्यासाठी, तुमच्याकडे macOS 10.13 किंवा त्यानंतरची आवृत्ती असणे आवश्यक आहे. हा कॉंप्युटर OS X 10.11 ही आवृत्ती वापरत आहे.</translation>
 <translation id="5098668839038261629">सुरू केलेले असेल, तेव्हा तुम्हाला Chrome मधूनदेखील साइन आउट केले जाईल</translation>
-<translation id="5112116809696021727">तुमचे डिव्हाइस अप टू डेट आहे का हे पाहण्यासाठी, <ph name="LINK_BEGIN" />ChromeOS सेटिंग्ज<ph name="LINK_END" /> वर जा</translation>
 <translation id="5132929315877954718">Google Chrome साठी उत्कृष्ट ॲप, खेळ, विस्तार आणि थीम शोधा.</translation>
 <translation id="5139423532931106058">तुमची Chrome प्रोफाइल कस्टमाइझ करा</translation>
 <translation id="5163087008893166964">Chrome मध्ये स्वागत आहे; नवीन ब्राउझर विंडो उघडली</translation>
@@ -253,8 +249,6 @@
 <translation id="5940385492829620908">तुमचे वेब, बुकमार्क आणि अन्य Chrome आशय येथे थेट आहे.</translation>
 <translation id="5941711191222866238">कमी करा</translation>
 <translation id="5941830788786076944">Google Chromeला डीफॉल्ट ब्राउझर बनवा</translation>
-<translation id="5959292945051687759">या पेजवर एखादे सेटिंग दिसत नसल्यास, तुमची <ph name="LINK_BEGIN" />
-        ChromeOS सेटिंग्ज<ph name="LINK_END" /> यामध्ये पहा</translation>
 <translation id="6003112304606738118">डाउनलोड करत आहे... <ph name="HOURS" /> तास शिल्लक आहे(आहेत)</translation>
 <translation id="6040143037577758943">बंद करा</translation>
 <translation id="6070348360322141662">अतिरिक्त सुरक्षिततेसाठी, Google Chrome तुमचा डेटा एंक्रिप्ट करेल</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ms.xtb b/chrome/app/resources/google_chrome_strings_ms.xtb
index 3bdeb42c..0898551 100644
--- a/chrome/app/resources/google_chrome_strings_ms.xtb
+++ b/chrome/app/resources/google_chrome_strings_ms.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Tidak dapat mengemas kini Chrome</translation>
 <translation id="1152920704813762236">Perihal Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Buka dalam Chrome</translation>
-<translation id="1178374936842835197">Jika tetapan tidak ditunjukkan pada halaman ini, lihat dalam <ph name="LINK_BEGIN" />
-tetapan OS Chrome<ph name="LINK_END" /> anda</translation>
 <translation id="1203500561924088507">Terima kasih kerana memasang. Anda perlu memulakan semula penyemak imbas anda sebelum menggunakan <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Lancarkan semula untuk mengemas kini &amp;Chrome</translation>
 <translation id="1302523850133262269">Sila tunggu sementara Chrome memasang kemas kini sistem terkini.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Terus menjalankan apl latar belakang apabila Google Chrome ditutup</translation>
 <translation id="3089968997497233615">Terdapat versi Google Chrome baharu yang lebih selamat tersedia.</translation>
 <translation id="3100998948628680988">Namakan profil Chrome anda</translation>
-<translation id="3103390129666310801">Untuk melihat sama ada peranti anda adalah terkini, pergi ke <ph name="LINK_BEGIN" />Tetapan Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Untuk menyemak sama ada kata laluan anda yang lain selamat daripada pelanggaran data dan isu keselamatan lain, <ph name="BEGIN_LINK" />log masuk ke Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Perubahan anda akan berkuat kuasa apabila anda melancarkan semula Google Chrome pada masa hadapan.</translation>
 <translation id="3149510190863420837">Chrome Apps</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Untuk mendapatkan kemaskinian Google Chrome yang akan datang, anda memerlukan macOS 10.13 atau yang lebih baharu. Komputer ini menggunakan OS X 10.11.</translation>
 <translation id="5098668839038261629">Apabila dihidupkan, anda juga akan dilog keluar daripada Chrome</translation>
-<translation id="5112116809696021727">Untuk melihat sama ada peranti anda telah dikemas kini, pergi ke <ph name="LINK_BEGIN" />Tetapan Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Temui apl, permainan, sambungan dan tema hebat untuk Google Chrome.</translation>
 <translation id="5139423532931106058">Sesuaikan profil Chrome anda</translation>
 <translation id="5163087008893166964">Selamat datang ke Chrome; tetingkap penyemak imbas baharu dibuka</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">Web, penanda halaman dan barangan Chrome anda yang lain tinggal di sini.</translation>
 <translation id="5941711191222866238">Minimumkan</translation>
 <translation id="5941830788786076944">Jadikan Google Chrome penyemak imbas lalai</translation>
-<translation id="5959292945051687759">Jika tetapan tidak ditunjukkan pada halaman ini, lihat dalam <ph name="LINK_BEGIN" />
-        tetapan Chrome OS<ph name="LINK_END" /> anda</translation>
 <translation id="6003112304606738118">Memuat turun… <ph name="HOURS" /> jam lagi</translation>
 <translation id="6040143037577758943">Tutup</translation>
 <translation id="6070348360322141662">Untuk keselamatan tambahan, Google Chrome akan menyulitkan data anda</translation>
diff --git a/chrome/app/resources/google_chrome_strings_my.xtb b/chrome/app/resources/google_chrome_strings_my.xtb
index 6f2cf15..df4466b 100644
--- a/chrome/app/resources/google_chrome_strings_my.xtb
+++ b/chrome/app/resources/google_chrome_strings_my.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome ကို အပ်ဒိတ်လုပ်၍ မရခြင်း</translation>
 <translation id="1152920704813762236">ChromeOS အကြောင်း</translation>
 <translation id="1154147086299354128">&amp;Chrome တွင် ဖွင့်ရန်</translation>
-<translation id="1178374936842835197">ဤစာမျက်နှာတွင် ဆက်တင်ကိုမပြပါက <ph name="LINK_BEGIN" />
-        ChromeOS Flex ဆင်တင်များ<ph name="LINK_END" /> တွင် ကြည့်နိုင်သည်</translation>
 <translation id="1203500561924088507">ထည့်သွင်းသည့်အတွက် ကျေးဇူးတင်ပါသည်။ <ph name="BUNDLE_NAME" /> အသုံးမပြုမီ သင့်ဘရောင်ဇာကို ပြန်စရမည်။</translation>
 <translation id="1278833599417554002">&amp;Chrome အပ်ဒိတ်လုပ်ရန် ပြန်ဖွင့်ပါ</translation>
 <translation id="1302523850133262269">​​ကျေးဇူးပြုပြီး Chrome က စနစ်၏ နောက်ဆုံး မွမ်းမံမှုများကို တပ်ဆင်ပေးနေတာကို စောင့်ပါ။</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Google Chrome ကို ပိတ်လိုက်ချိန်မှာ နောက်ခံအက်ပ်များကို ဆက်ဖွင့် ထားရန်</translation>
 <translation id="3089968997497233615">ပိုသစ်သော၊ ပိုလုံခြုံသော Google Chrome ရနိုင်ပါသည်။</translation>
 <translation id="3100998948628680988">သင်၏ Chrome ပရိုဖိုင်ကို အမည်ပေးပါ</translation>
-<translation id="3103390129666310801">သင့်စက် အပ်ဒိတ်ဖြစ် မဖြစ် ကြည့်ရန် <ph name="LINK_BEGIN" />ChromeOS Flex ဆက်တင်များ<ph name="LINK_END" /> သို့သွားပါ</translation>
 <translation id="3114643501466072395">သင်၏အခြားစကားဝှက်များတွင် ဒေတာပေါက်ကြားမှုနှင့် အခြားသော လုံခြုံရေးပြဿနာများ ရှိ၊ မရှိ စစ်ဆေးရန် <ph name="BEGIN_LINK" />Chrome သို့ လက်မှတ်ထိုးဝင်ပါ<ph name="END_LINK" />။</translation>
 <translation id="3140883423282498090">သင် ပြောင်းလဲခဲ့သည်များမျာ သင်က Google Chrome ကို နောက်တစ်ကြိမ် ပြန်ဖွင့်စဉ် အကျိုးသက်ရောက် လာကြပါမည်။</translation>
 <translation id="3149510190863420837">Chrome အက်ပ်များ</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">နောက်ပိုင်းထွက်မည့် Google Chrome အပ်ဒိတ်များ ရယူရန် macOS 10.13 နှင့်အထက် လိုအပ်ပါမည်။ ဤကွန်ပျူတာက OS X 10.11 အသုံးပြုနေသည်။</translation>
 <translation id="5098668839038261629">ဖွင့်ထားပါက Chrome မှလည်း သင်ထွက်သွားပါမည်</translation>
-<translation id="5112116809696021727">သင်၏စက် အပ်ဒိတ်ဖြစ်၊ မဖြစ် ကြည့်ရန် <ph name="LINK_BEGIN" />ChromeOS ဆက်တင်များ<ph name="LINK_END" /> သို့သွားပါ</translation>
 <translation id="5132929315877954718">Google Chrome အတွက် ဧရာမ အက်ပ်များ၊ ဂိမ်းများ၊ တိုးချဲ့မှုများ နှင့် အပြင်အဆင်များကို ရှာကြည့်ပါ</translation>
 <translation id="5139423532931106058">သင့် Chrome ပရိုဖိုင်ကို စိတ်ကြိုက်လုပ်ရန်</translation>
 <translation id="5163087008893166964">Chrome က ကြိုဆိုပါသည်၊ ဘရောင်ဇာဝင်းဒိုးအသစ် ဖွင့်လိုက်ပါပြီ</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">သင်၏ ဝဘ်၊ စာညှပ်များ၊ နှင့် အခြားသော Chrome အရာများဟာ ဒီမှာ နေထိုင်ကြပါသည်။</translation>
 <translation id="5941711191222866238">အနည်းဆုံး လုပ်ရန်</translation>
 <translation id="5941830788786076944">Google Chrome ကို ပုံသေ ဘရောင်ဇာ ပြုလုပ်ပါ။</translation>
-<translation id="5959292945051687759">ဤစာမျက်နှာတွင် ဆက်တင်ကို မပြပါက <ph name="LINK_BEGIN" />
-        ChromeOS ဆင်တင်များ<ph name="LINK_END" /> တွင် ကြည့်နိုင်သည်</translation>
 <translation id="6003112304606738118">ဒေါင်းလုဒ်လုပ်နေသည်… <ph name="HOURS" /> နာရီ ကျန်သည်</translation>
 <translation id="6040143037577758943">ပိတ်ရန်</translation>
 <translation id="6070348360322141662">လုံခြုံရေး ပိုမိုတင်းကြပ်စေရန်အတွက် Google Chrome သည် သင်၏ ဒေတာများကို အသွင်ဝှက်ထားပါမည်</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ne.xtb b/chrome/app/resources/google_chrome_strings_ne.xtb
index b45c79b4..a6f418f 100644
--- a/chrome/app/resources/google_chrome_strings_ne.xtb
+++ b/chrome/app/resources/google_chrome_strings_ne.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome लाई अद्यावधिक गर्न सकिएन</translation>
 <translation id="1152920704813762236">ChromeOS का बारेमा</translation>
 <translation id="1154147086299354128">Chrome मा खोल्नुहोस्</translation>
-<translation id="1178374936842835197">यो पेजमा कुनै सेटिङ देखिएन भने <ph name="LINK_BEGIN" />
-        ChromeOS Flex का सेटिङ<ph name="LINK_END" /> हेर्नुहोस्</translation>
 <translation id="1203500561924088507">इन्स्टल गर्नुभएकोमा धन्यवाद। <ph name="BUNDLE_NAME" /> प्रयोग गर्नुअघि तपाईंले अनिवार्य रूपमा आफ्नो ब्राउजर रिस्टार्ट गर्नु पर्छ।</translation>
 <translation id="1278833599417554002">&amp;Chrome अपडेट गर्न पुनः सुरु गर्नुहोस्</translation>
 <translation id="1302523850133262269">Chrome ले नवीनतम सिस्टम अपडेटहरू स्थापित गर्दै गर्दा कृपया प्रतिक्षा गर्नुहोस्।</translation>
@@ -122,7 +120,6 @@
 <translation id="3080151273017101988">Google Chrome बन्दा हुँदा पृष्ठभूमि एपहरू चालू हुन जारी राख्नुहोस्</translation>
 <translation id="3089968997497233615">Google Chrome खो नयाँ, सुरक्षित संस्करण उपलब्ध छ।</translation>
 <translation id="3100998948628680988">आफ्नो Chrome प्रोफाइलको नाम राख्नुहोस्</translation>
-<translation id="3103390129666310801">तपाईं आफ्नो डिभाइस अप टु डेट छ कि छैन भन्ने कुरा हेर्न चाहनुहुन्छ भने <ph name="LINK_BEGIN" />ChromeOS Flex का सेटिङ<ph name="LINK_END" />मा जानुहोस्</translation>
 <translation id="3114643501466072395">तपाईंका अन्य पासवर्डहरू कतै खुलासा भएका छन् कि छैनन् तथा सुरक्षासम्बन्धी अन्य समस्याबाट सुरक्षित छन् कि छैनन् भन्ने कुरा जाँच्न <ph name="BEGIN_LINK" />Chrome मा साइन इन गर्नुहोस्<ph name="END_LINK" />।</translation>
 <translation id="3140883423282498090">तपाइँले अर्को पटक Google Chrome पुन: सुरुवात गर्दा तपाइँका परिवर्तनहरू लागू हुनेछन्।</translation>
 <translation id="3149510190863420837">Chrome एपहरू</translation>
@@ -213,7 +210,6 @@
 <translation id="4990567037958725628">Google Chrome क्यानरी</translation>
 <translation id="5037581483200764584">तपाईंको कम्प्युटरमा macOS १०.१३ वा सोभन्दा नयाँ संस्करण छ भने मात्र तपाईं भविष्यमा Google Chrome का अपडेट प्राप्त गर्नुहुन्छ। यो कम्प्युटरमा OS X १०.११ प्रयोग भइरहेको छ।</translation>
 <translation id="5098668839038261629">टगल अन गरिएका खण्डमा तपाईंलाई Chrome बाट साइन आउट पनि गरिने छ</translation>
-<translation id="5112116809696021727">तपाईं आफ्नो डिभाइस अप टु डेट छ कि छैन भन्ने कुरा हेर्न चाहनुहुन्छ भने <ph name="LINK_BEGIN" />ChromeOS का सेटिङ<ph name="LINK_END" />मा जानुहोस्</translation>
 <translation id="5132929315877954718">Google Chrome को लागि उत्कृष्ट एप्स, खेलहरू, एक्स्टेन्सनहरू र थिमहरू पत्ता लगाउनुहोस्।</translation>
 <translation id="5139423532931106058">आफ्नो Chrome प्रोफाइल आफूले चाहे जस्तो बनाउनुहोस्</translation>
 <translation id="5163087008893166964">Chrome मा तपाईंलाई स्वागत छ; ब्राउजरको नयाँ विन्डो खोलियो</translation>
@@ -251,8 +247,6 @@
 <translation id="5940385492829620908">तपाईंको वेब, बुकमार्कहरू, र अन्य Chrome सामान यहाँ रहन्छन्।</translation>
 <translation id="5941711191222866238">सानो बनाउनुहोस</translation>
 <translation id="5941830788786076944">Google Chrome लाई डिफल्ट ब्राउजर बनाउनुहोस्</translation>
-<translation id="5959292945051687759">यो पेजमा कुनै सेटिङ देखिएन भने <ph name="LINK_BEGIN" />
-        ChromeOS का सेटिङ<ph name="LINK_END" /> हेर्नुहोस्</translation>
 <translation id="6003112304606738118">डाउनलोड गरिँदै छ... <ph name="HOURS" /> घण्टा बाँकी छ</translation>
 <translation id="6040143037577758943">बन्द गर्नुहोस्</translation>
 <translation id="6070348360322141662">थप गरिएको सुरक्षाका लागि Google Chrome ले तपाईंको डेटालाई इन्क्रिप्ट गर्ने छ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_nl.xtb b/chrome/app/resources/google_chrome_strings_nl.xtb
index b628fea..1fe9f26 100644
--- a/chrome/app/resources/google_chrome_strings_nl.xtb
+++ b/chrome/app/resources/google_chrome_strings_nl.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Kan Chrome niet updaten</translation>
 <translation id="1152920704813762236">Over Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Openen in Chrome</translation>
-<translation id="1178374936842835197">Als je een instelling niet ziet op deze pagina, kijk je in de <ph name="LINK_BEGIN" />instellingen van Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Bedankt voor het installeren. Je moet de browser opnieuw opstarten voordat je <ph name="BUNDLE_NAME" /> kunt gebruiken.</translation>
 <translation id="1278833599417554002">Opnieuw starten om &amp;Chrome te updaten</translation>
 <translation id="1302523850133262269">Wacht terwijl Chrome de nieuwste systeemupdates installeert.</translation>
@@ -122,7 +121,6 @@
 <translation id="3080151273017101988">Achtergrondapps blijven uitvoeren wanneer Google Chrome is gesloten</translation>
 <translation id="3089968997497233615">Er is een nieuwere, veiligere versie van Google Chrome beschikbaar.</translation>
 <translation id="3100998948628680988">Je Chrome-profiel een naam geven</translation>
-<translation id="3103390129666310801">Als je wilt nagaan of je apparaat up-to-date is, ga je naar de <ph name="LINK_BEGIN" />instellingen van Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Als je wilt checken of je andere wachtwoorden zijn beveiligd tegen gegevenslekken en andere beveiligingsproblemen, <ph name="BEGIN_LINK" />log je in bij Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Je wijzigingen worden toegepast als je Google Chrome opnieuw start.</translation>
 <translation id="3149510190863420837">Chrome-apps</translation>
@@ -213,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Als je toekomstige Google Chrome-updates wilt krijgen, heb je macOS 10.13 of hoger nodig. Deze computer gebruikt OS X 10.11.</translation>
 <translation id="5098668839038261629">Als de schakelaar aanstaat, word je ook uitgelogd van Chrome</translation>
-<translation id="5112116809696021727">Ga naar de <ph name="LINK_BEGIN" />instellingen van Chrome OS<ph name="LINK_END" /> om te kijken of je apparaat up-to-date is</translation>
 <translation id="5132929315877954718">Ontdek fantastische apps, games, extensies en thema's voor Google Chrome.</translation>
 <translation id="5139423532931106058">Je Chrome-profiel aanpassen</translation>
 <translation id="5163087008893166964">Welkom bij Chrome, nieuw browservenster geopend</translation>
@@ -251,7 +248,6 @@
 <translation id="5940385492829620908">Hier vind je internet, bookmarks en andere Chrome-instellingen.</translation>
 <translation id="5941711191222866238">Minimaliseren</translation>
 <translation id="5941830788786076944">Google Chrome instellen als mijn standaardbrowser</translation>
-<translation id="5959292945051687759">Als je een instelling niet ziet op deze pagina, kijk je in de <ph name="LINK_BEGIN" />Chrome OS-instellingen<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Downloaden... Nog <ph name="HOURS" /> uur</translation>
 <translation id="6040143037577758943">Sluiten</translation>
 <translation id="6070348360322141662">Je gegevens worden voor extra beveiliging door Google Chrome versleuteld</translation>
diff --git a/chrome/app/resources/google_chrome_strings_no.xtb b/chrome/app/resources/google_chrome_strings_no.xtb
index 76ac6e4..b02e5ba 100644
--- a/chrome/app/resources/google_chrome_strings_no.xtb
+++ b/chrome/app/resources/google_chrome_strings_no.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Kan ikke oppdatere Chrome</translation>
 <translation id="1152920704813762236">Om ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Åpne i Chrome</translation>
-<translation id="1178374936842835197">Hvis en innstilling ikke vises på denne siden, kan du se i <ph name="LINK_BEGIN" />
-        innstillingene for ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Installasjonen er fullført. Start nettleseren på nytt før du tar i bruk <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Start på nytt for å oppdatere &amp;Chrome</translation>
 <translation id="1302523850133262269">Vent mens Chrome installerer de nyeste systemoppdateringene.</translation>
@@ -119,7 +117,6 @@
 <translation id="3080151273017101988">Fortsett kjøringen av bakgrunnsprogrammer når Google Chrome er lukket</translation>
 <translation id="3089968997497233615">En ny, sikrere versjon av Google Chrome er tilgjengelig</translation>
 <translation id="3100998948628680988">Gi navn til Chrome-profilen din</translation>
-<translation id="3103390129666310801">For å se om enheten er oppdatert, gå til <ph name="LINK_BEGIN" />Innstillinger for ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">For å sjekke om de andre passordene dine er trygge mot databrudd og andre sikkerhetsproblemer, <ph name="BEGIN_LINK" />logg på Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Endringene dine trer i kraft neste gang du starter Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome-apper</translation>
@@ -210,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">For å få fremtidige Google Chrome-oppdateringer må du ha macOS 10.13 eller nyere. Denne datamaskinen bruker OS X 10.11.</translation>
 <translation id="5098668839038261629">Når dette er på, blir du også logget av Chrome</translation>
-<translation id="5112116809696021727">For å se om enheten er oppdatert, gå til <ph name="LINK_BEGIN" />ChromeOS-innstillingene<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Oppdag flotte apper, spill, utvidelser og temaer for Google Chrome.</translation>
 <translation id="5139423532931106058">Tilpass Chrome-profilen din</translation>
 <translation id="5163087008893166964">Velkommen til Chrome – et nytt nettleservindu er åpnet</translation>
@@ -246,8 +242,6 @@
 <translation id="5940385492829620908">Her finner du nettinnholdet, bokmerkene og de andre Chrome-tingene dine.</translation>
 <translation id="5941711191222866238">Minimer</translation>
 <translation id="5941830788786076944">Gjør Google Chrome til standardleser</translation>
-<translation id="5959292945051687759">Hvis en innstilling ikke vises på denne siden, kan du se i <ph name="LINK_BEGIN" />
-        ChromeOS-innstillingene<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Laster ned … <ph name="HOURS" /> time(r) igjen</translation>
 <translation id="6040143037577758943">Lukk</translation>
 <translation id="6070348360322141662">Google Chrome krypterer dataene dine for å øke sikkerheten</translation>
diff --git a/chrome/app/resources/google_chrome_strings_or.xtb b/chrome/app/resources/google_chrome_strings_or.xtb
index bcf8601..d4c3aa71 100644
--- a/chrome/app/resources/google_chrome_strings_or.xtb
+++ b/chrome/app/resources/google_chrome_strings_or.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Chrome ଅପ୍‌ଡେଟ୍ ହୋଇପାରିବ ନାହିଁ</translation>
 <translation id="1152920704813762236">ChromeOS ବିଷୟରେ</translation>
 <translation id="1154147086299354128">&amp;Chromeରେ ଖୋଲନ୍ତୁ</translation>
-<translation id="1178374936842835197">ଯଦି ଏହି ପୃଷ୍ଠାରେ କୌଣସି ସେଟିଂ ଦେଖାଯାଏ ନାହିଁ, ତେବେ ଆପଣଙ୍କ <ph name="LINK_BEGIN" />ChromeOS Flex ସେଟିଂସ<ph name="LINK_END" />ରେ ଦେଖନ୍ତୁ</translation>
 <translation id="1203500561924088507">ଇନଷ୍ଟଲ କରିଥିବା ଯୋଗୁଁ ଧନ୍ୟବାଦ। ଆପଣ <ph name="BUNDLE_NAME" /> ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଆପଣଙ୍କ ବ୍ରାଉଜରକୁ ରିଷ୍ଟାର୍ଟ କରିବା ଆବଶ୍ୟକ।</translation>
 <translation id="1278833599417554002">&amp;Chrome ଅପଡେଟ୍ କରିବା ପାଇଁ ପୁଣି ଲଞ୍ଚ କରନ୍ତୁ</translation>
 <translation id="1302523850133262269">Chrome ନବୀନତମ ସିଷ୍ଟମ୍ ଅପ୍‌ଡେଟ୍‌ଗୁଡ଼ିକ ଇନ୍‌ଷ୍ଟଲ୍ କରୁଛି, ଦୟାକରି ଅପେକ୍ଷା କରନ୍ତୁ।</translation>
@@ -123,7 +122,6 @@
 <translation id="3080151273017101988">ଯେତେବେଳେ Google Chrome ବନ୍ଦ ଅଛି, ସେତେବେଳେ ପୃଷ୍ଠପଟରେ ଥିବା ଆପ୍ସ ଚାଲିବା ଜାରି ରଖନ୍ତୁ।</translation>
 <translation id="3089968997497233615">Google Chromeର ଏକ ନୂଆ, ସୁରକ୍ଷିତ ସଂସ୍କରଣ ଉପଲବ୍ଧ ଅଛି।</translation>
 <translation id="3100998948628680988">ଆପଣଙ୍କ Chrome ପ୍ରୋଫାଇଲର ନାମ ଦିଅନ୍ତୁ</translation>
-<translation id="3103390129666310801">ଆପଣଙ୍କ ଡିଭାଇସ ଅପଟୁଡେଟ ଅଛି କି ନାହିଁ, ତାହା ଦେଖିବାକୁ <ph name="LINK_BEGIN" />ChromeOS Flex ସେଟିଂସ<ph name="LINK_END" />କୁ ଯାଆନ୍ତୁ</translation>
 <translation id="3114643501466072395">ଆପଣଙ୍କ ଅନ୍ୟ ପାସୱାର୍ଡଗୁଡ଼ିକ ଡାଟା ଚୋରି ଏବଂ ଅନ୍ୟ ସୁରକ୍ଷା ସମସ୍ୟାଗୁଡ଼ିକରୁ ସୁରକ୍ଷିତ ଅଛି ନା ନାହିଁ ତାହା ଯାଞ୍ଚ କରିବାକୁ, <ph name="BEGIN_LINK" />Chromeରେ ସାଇନ୍ ଇନ୍ କରନ୍ତୁ<ph name="END_LINK" />।</translation>
 <translation id="3140883423282498090">ପରବର୍ତ୍ତୀ ସମୟରେ Google Chromeକୁ ପୁଣି ଲଞ୍ଚ କରିବାବେଳେ ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ଲାଗୁ ହେବ।</translation>
 <translation id="3149510190863420837">Chrome ଆପ୍ସ</translation>
@@ -214,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome କ୍ୟାନାରୀ</translation>
 <translation id="5037581483200764584">Google Chromeର ଭବିଷ୍ୟତର ଅପଡେଟଗୁଡ଼ିକ ପାଇବା ପାଇଁ, ଆପଣ macOS 10.13 କିମ୍ବା ତା'ପରର ସଂସ୍କରଣ ଆବଶ୍ୟକ କରିବେ। ଏହି କମ୍ପ୍ୟୁଟରରେ OS X 10.11 ସଂସ୍କରଣ ବ୍ୟବହାର କରାଯାଉଛି।</translation>
 <translation id="5098668839038261629">ଚାଲୁ ଥିବା ସମୟରେ, ଆପଣ Chromeରୁ ମଧ୍ୟ ସାଇନ ଆଉଟ ହୋଇଯିବେ</translation>
-<translation id="5112116809696021727">ଆପଣଙ୍କ ଡିଭାଇସ ଅପଟୁଡେଟ ଅଛି କି ନାହିଁ ଦେଖିବାକୁ, <ph name="LINK_BEGIN" />ChromeOS Flex ସେଟିଂସ<ph name="LINK_END" />କୁ ଯାଆନ୍ତୁ</translation>
 <translation id="5132929315877954718">Google Chrome ପାଇଁ ଆହୁରି ଭଲ ଆପ୍, ଗେମ୍, ଏକ୍ସଟେନ୍‌ସନ୍ ଏବଂ ଥିମ୍‌ଗୁଡ଼ିକ ଖୋଜି ପାଆନ୍ତୁ।</translation>
 <translation id="5139423532931106058">ଆପଣଙ୍କ Chrome ପ୍ରୋଫାଇଲକୁ କଷ୍ଟମାଇଜ୍ କରନ୍ତୁ</translation>
 <translation id="5163087008893166964">Chromeକୁ ସ୍ୱାଗତ; ନୂଆ ବ୍ରାଉଜର୍ ୱିଣ୍ଡୋ ଖୋଲାଯାଇଛି</translation>
@@ -254,7 +251,6 @@
 <translation id="5940385492829620908">ଆପଣଙ୍କର ୱେବ୍, ବୁକ୍‌ମାର୍କ ଏବଂ ଅନ୍ୟାନ୍ୟ Chrome ଷ୍ଟଫ୍ ଏଠାରେ ଅଛି।</translation>
 <translation id="5941711191222866238">ସର୍ବନିମ୍ନ କରନ୍ତୁ</translation>
 <translation id="5941830788786076944">ଡିଫଲ୍ଟ ବ୍ରାଉଜର୍ ଭାବରେ Google Chrome ପ୍ରସ୍ତୁତ କରନ୍ତୁ</translation>
-<translation id="5959292945051687759">ଯଦି ଏହି ପୃଷ୍ଠାରେ କୌଣସି ସେଟିଂ ଦେଖାଯାଏ ନାହିଁ, ତେବେ ଆପଣଙ୍କ <ph name="LINK_BEGIN" />ChromeOS ସେଟିଂସ<ph name="LINK_END" />ରେ ଦେଖନ୍ତୁ</translation>
 <translation id="6003112304606738118">ଡାଉନଲୋଡ ହେଉଛି… <ph name="HOURS" /> ଘଣ୍ଟା ବାକି ଅଛି</translation>
 <translation id="6040143037577758943">ବନ୍ଦ</translation>
 <translation id="6070348360322141662">ଅତିରିକ୍ତ ସୁରକ୍ଷା ପାଇଁ, Google Chrome ଆପଣଙ୍କର ଡାଟା ଏନକ୍ରିପ୍ଟ କରିବ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pa.xtb b/chrome/app/resources/google_chrome_strings_pa.xtb
index 3cf2a13..74ba742 100644
--- a/chrome/app/resources/google_chrome_strings_pa.xtb
+++ b/chrome/app/resources/google_chrome_strings_pa.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome ਅੱਪਡੇਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ</translation>
 <translation id="1152920704813762236">ChromeOS ਬਾਰੇ</translation>
 <translation id="1154147086299354128">&amp;Chrome ਵਿੱਚ ਖੋਲ੍ਹੋ</translation>
-<translation id="1178374936842835197">ਜੇ ਸੈਟਿੰਗ ਇਸ ਪੰਨੇ 'ਤੇ ਨਹੀਂ ਦਿਸਦੀ, ਤਾਂ ਆਪਣੀਆਂ <ph name="LINK_BEGIN" />
-        ChromeOS Flex ਸੈਟਿੰਗਾਂ<ph name="LINK_END" /> ਵਿੱਚ ਦੇਖੋ</translation>
 <translation id="1203500561924088507">ਸਥਾਪਨਾ ਕਰਨ ਲਈ ਧੰਨਵਾਦ। <ph name="BUNDLE_NAME" /> ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ।</translation>
 <translation id="1278833599417554002">&amp;Chrome ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਮੁੜ-ਲਾਂਚ ਕਰੋ</translation>
 <translation id="1302523850133262269">ਕਿਰਪਾ ਕਰਕੇ Chrome ਵੱਲੋਂ ਨਵੀਨਤਮ ਸਿਸਟਮ ਅੱਪਡੇਟਾਂ ਨੂੰ ਸਥਾਪਤ ਕੀਤੇ ਜਾਣ ਤੱਕ ਉਡੀਕ ਕਰੋ।</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Google Chrome ਬੰਦ ਹੋਣ 'ਤੇ ਵੀ ਬੈਕਗ੍ਰਾਊਂਡ ਐਪਾਂ ਨੂੰ ਚਲਦੇ ਰਹਿਣ ਦਿਓ</translation>
 <translation id="3089968997497233615">Google Chrome ਦਾ ਇੱਕ ਨਵਾਂ, ਵੱਧ ਸੁਰੱਖਿਅਤ ਵਰਜਨ ਉਪਲਬਧ ਹੈ।</translation>
 <translation id="3100998948628680988">ਆਪਣੇ Chrome ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਨਾਮ ਦਿਓ</translation>
-<translation id="3103390129666310801">ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਅੱਪ-ਟੂ-ਡੇਟ ਹੈ ਜਾਂ ਨਹੀਂ, <ph name="LINK_BEGIN" />ChromeOS Flex ਸੈਟਿੰਗਾਂ<ph name="LINK_END" /> 'ਤੇ ਜਾਓ</translation>
 <translation id="3114643501466072395">ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਕਿ ਤੁਹਾਡੇ ਹੋਰ ਪਾਸਵਰਡ ਡਾਟਾ ਉਲੰਘਣਾਵਾਂ ਅਤੇ ਹੋਰ ਸੁਰੱਖਿਆ ਸੰਬੰਧੀ ਸਮੱਸਿਆਵਾਂ ਤੋਂ ਸੁਰੱਖਿਅਤ ਹਨ ਜਾਂ ਨਹੀਂ, <ph name="BEGIN_LINK" />Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ<ph name="END_LINK" />।</translation>
 <translation id="3140883423282498090">ਤੁਹਾਡੀਆਂ ਤਬਦੀਲੀਆਂ ਤੁਹਾਡੇ ਵੱਲੋਂ ਅਗਲੀ ਵਾਰ Google Chrome ਨੂੰ ਮੁੜ-ਲਾਂਚ ਕਰਨ 'ਤੇ ਲਾਗੂ ਹੋਣਗੀਆਂ।</translation>
 <translation id="3149510190863420837">Chrome ਐਪਸ</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chrome ਸੰਬੰਧੀ ਭਵਿੱਖੀ ਅੱਪਡੇਟ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ macOS 10.13 ਜਾਂ ਇਸ ਤੋਂ ਬਾਅਦ ਵਾਲੇ ਵਰਜਨ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਇਸ ਕੰਪਿਊਟਰ 'ਤੇ OS X 10.11 ਵਰਜਨ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ।</translation>
 <translation id="5098668839038261629">ਚਾਲੂ ਹੋਣ 'ਤੇ, ਤੁਹਾਨੂੰ Chrome ਤੋਂ ਵੀ ਸਾਈਨ-ਆਊਟ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ</translation>
-<translation id="5112116809696021727">ਇਹ ਦੇਖਣ ਲਈ ਕਿ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਅੱਪ-ਟੂ-ਡੇਟ ਹੈ ਜਾਂ ਨਹੀਂ, <ph name="LINK_BEGIN" />ChromeOS ਸੈਟਿੰਗਾਂ<ph name="LINK_END" /> 'ਤੇ ਜਾਓ</translation>
 <translation id="5132929315877954718">Google Chrome ਲਈ ਸ਼ਾਨਦਾਰ ਐਪਾਂ, ਗੇਮਾਂ, ਐਕਸਟੈਂਸ਼ਨਾਂ ਅਤੇ ਵਿਸ਼ੇ ਖੋਜੋ।</translation>
 <translation id="5139423532931106058">ਆਪਣੇ Chrome ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਵਿਉਂਤਬੱਧ ਕਰੋ</translation>
 <translation id="5163087008893166964">Chrome ਵਿੱਚ ਜੀ ਆਇਆਂ ਨੂੰ; ਨਵੀਂ ਬ੍ਰਾਊਜ਼ਰ ਵਿੰਡੋ ਖੋਲ੍ਹੀ ਗਈ</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">ਤੁਹਾਡੀ ਵੈੱਬ, ਬੁੱਕਮਾਰਕ ਅਤੇ ਹੋਰ Chrome ਸਮੱਗਰੀ ਇੱਥੇ ਲਾਈਵ ਹੈ।</translation>
 <translation id="5941711191222866238">ਨਿਊਨਤਮ</translation>
 <translation id="5941830788786076944">Google Chrome ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਤ ਬ੍ਰਾਊਜ਼ਰ ਬਣਾਓ</translation>
-<translation id="5959292945051687759">ਜੇ ਸੈਟਿੰਗ ਇਸ ਪੰਨੇ 'ਤੇ ਨਹੀਂ ਦਿਸਦੀ, ਤਾਂ ਆਪਣੀਆਂ <ph name="LINK_BEGIN" />
-        ChromeOS ਸੈਟਿੰਗਾਂ<ph name="LINK_END" /> ਵਿੱਚ ਦੇਖੋ</translation>
 <translation id="6003112304606738118">ਡਾਊਨਲੋਡ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ... <ph name="HOURS" /> ਘੰਟੇ ਬਾਕੀ</translation>
 <translation id="6040143037577758943">ਬੰਦ ਕਰੋ</translation>
 <translation id="6070348360322141662">ਬਿਹਤਰ ਸੁਰੱਖਿਆ ਲਈ, Google Chrome ਤੁਹਾਡੇ ਡਾਟੇ ਨੂੰ ਇਨਕ੍ਰਿਪਟ ਕਰੇਗਾ</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pl.xtb b/chrome/app/resources/google_chrome_strings_pl.xtb
index 29040f4..d4f402b1c 100644
--- a/chrome/app/resources/google_chrome_strings_pl.xtb
+++ b/chrome/app/resources/google_chrome_strings_pl.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">Nie można zaktualizować Chrome</translation>
 <translation id="1152920704813762236">System operacyjny Chrome – informacje</translation>
 <translation id="1154147086299354128">&amp;Otwórz w Chrome</translation>
-<translation id="1178374936842835197">Jeśli ustawienia nie widać na tej stronie, zajrzyj do <ph name="LINK_BEGIN" />ustawień ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Dziękujemy za instalację. Przed rozpoczęciem korzystania z programu <ph name="BUNDLE_NAME" /> musisz ponownie uruchomić przeglądarkę.</translation>
 <translation id="1278833599417554002">Uruchom ponownie, aby zaktualizować &amp;Chrome</translation>
 <translation id="1302523850133262269">Poczekaj, aż Chrome zainstaluje najnowsze aktualizacje systemu.</translation>
@@ -118,7 +117,6 @@
 <translation id="3080151273017101988">Kontynuuj działanie aplikacji w tle po zamknięciu przeglądarki Google Chrome</translation>
 <translation id="3089968997497233615">Dostępna jest nowa, bezpieczniejsza wersja przeglądarki Google Chrome.</translation>
 <translation id="3100998948628680988">Nadaj nazwę swojemu profilowi Chrome</translation>
-<translation id="3103390129666310801">Aby sprawdzić, czy urządzenie jest zaktualizowane, otwórz <ph name="LINK_BEGIN" />ustawienia ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Aby sprawdzić, czy Twoje pozostałe hasła są chronione przed naruszeniami bezpieczeństwa danych i innymi zagrożeniami tego typu, <ph name="BEGIN_LINK" />zaloguj się w Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Zmiany zaczną obowiązywać po ponownym uruchomieniu Google Chrome.</translation>
 <translation id="3149510190863420837">Aplikacje Chrome</translation>
@@ -209,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Aby otrzymywać w przyszłości aktualizacje Google Chrome, musisz mieć system macOS 10.13 lub nowszy. Na komputerze jest zainstalowany system OS X 10.11.</translation>
 <translation id="5098668839038261629">Jeśli ta opcja jest włączona, zostaniesz też wylogowany(-a) z Chrome</translation>
-<translation id="5112116809696021727">Aby sprawdzić, czy urządzenie jest zaktualizowane, otwórz <ph name="LINK_BEGIN" />ustawienia Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Odkryj znakomite aplikacje, gry, rozszerzenia i motywy do przeglądarki Google Chrome.</translation>
 <translation id="5139423532931106058">Dostosuj swój profil Chrome</translation>
 <translation id="5163087008893166964">Witamy w Chrome. Zostało otwarte nowe okno przeglądarki.</translation>
@@ -245,7 +242,6 @@
 <translation id="5940385492829620908">Tu są Twoje strony, zakładki i inne dane z Chrome.</translation>
 <translation id="5941711191222866238">Minimalizuj</translation>
 <translation id="5941830788786076944">Ustaw Google Chrome jako domyślną przeglądarkę</translation>
-<translation id="5959292945051687759">Jeśli ustawienia nie widać na tej stronie, zajrzyj do <ph name="LINK_BEGIN" />ustawień Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Pobieram… Pozostało: <ph name="HOURS" /> godz.</translation>
 <translation id="6040143037577758943">Zamknij</translation>
 <translation id="6070348360322141662">Dla większego bezpieczeństwa Google Chrome szyfruje dane</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-BR.xtb b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
index 19f3210..a8dd2e09 100644
--- a/chrome/app/resources/google_chrome_strings_pt-BR.xtb
+++ b/chrome/app/resources/google_chrome_strings_pt-BR.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Não é possível atualizar o Chrome</translation>
 <translation id="1152920704813762236">Sobre o ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Abrir no Chrome</translation>
-<translation id="1178374936842835197">Se uma configuração não aparecer nesta página, confira as <ph name="LINK_BEGIN" />
-        configurações do ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Agradecemos por fazer a instalação. É necessário reiniciar o navegador antes de utilizar o <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Reinicializar para atualizar o &amp;Chrome</translation>
 <translation id="1302523850133262269">Aguarde enquanto o Chrome instala as últimas atualizações do sistema.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Executar aplicativos em segundo plano quando o Google Chrome estiver fechado</translation>
 <translation id="3089968997497233615">Há uma versão nova e mais segura do Google Chrome disponível.</translation>
 <translation id="3100998948628680988">Nomear seu perfil do Chrome</translation>
-<translation id="3103390129666310801">Para conferir se o dispositivo está atualizado, acesse as <ph name="LINK_BEGIN" />Configurações do ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Para verificar se suas outras senhas estão protegidas contra violações de dados e outros problemas de segurança, <ph name="BEGIN_LINK" />faça login no Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Suas alterações terão efeito na próxima vez que você reiniciar o Google Chrome.</translation>
 <translation id="3149510190863420837">apps do Chrome</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Para receber as próximas atualizações do Google Chrome, você vai precisar do macOS 10.13 ou versão mais recente. Este computador está usando o OS X 10.11.</translation>
 <translation id="5098668839038261629">Quando essa opção for ativada, sua conta será desconectada do Chrome</translation>
-<translation id="5112116809696021727">Para verificar se o dispositivo está atualizado, acesse as <ph name="LINK_BEGIN" />Configurações do ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Descubra ótimos aplicativos, jogos, extensões e temas para o Google Chrome.</translation>
 <translation id="5139423532931106058">Personalize seu perfil do Chrome</translation>
 <translation id="5163087008893166964">Conheça o Chrome. Nova janela do navegador aberta</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">Sua Web, seus favoritos e demais conteúdo do Chrome estão aqui.</translation>
 <translation id="5941711191222866238">Minimizar</translation>
 <translation id="5941830788786076944">Fazer do Google Chrome o navegador padrão</translation>
-<translation id="5959292945051687759">Se uma configuração não for exibida nesta página, verifique as <ph name="LINK_BEGIN" />
-        configurações do ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Fazendo o download… <ph name="HOURS" /> hora(s) restante(s)</translation>
 <translation id="6040143037577758943">Fechar</translation>
 <translation id="6070348360322141662">Para maior segurança, o Google Chrome criptografará seus dados</translation>
diff --git a/chrome/app/resources/google_chrome_strings_pt-PT.xtb b/chrome/app/resources/google_chrome_strings_pt-PT.xtb
index 4269fbb..d724164 100644
--- a/chrome/app/resources/google_chrome_strings_pt-PT.xtb
+++ b/chrome/app/resources/google_chrome_strings_pt-PT.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Não é possível atualizar o Chrome</translation>
 <translation id="1152920704813762236">Acerca do ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Abrir no Chrome</translation>
-<translation id="1178374936842835197">Se não encontrar uma definição nesta página, procure nas <ph name="LINK_BEGIN" />
-        definições do ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Agradecemos a instalação. Tem de reiniciar o navegador antes de utilizar o <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Reiniciar para atualizar o &amp;Chrome</translation>
 <translation id="1302523850133262269">Aguarde até que o Chrome instale as atualizações do sistema mais recentes.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Continuar a executar aplicações em segundo plano quando o Google Chrome está fechado</translation>
 <translation id="3089968997497233615">Está disponível uma versão nova e mais segura do Google Chrome.</translation>
 <translation id="3100998948628680988">Atribua um nome ao seu perfil do Chrome</translation>
-<translation id="3103390129666310801">Para ver se o seu dispositivo está atualizado, aceda às <ph name="LINK_BEGIN" />Definições do ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Para verificar se as suas outras palavras-passe estão protegidas contra violação de dados e outros problemas de segurança, <ph name="BEGIN_LINK" />inicie sessão no Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">As alterações terão efeito da próxima vez que voltar a iniciar o Google Chrome.</translation>
 <translation id="3149510190863420837">Apps do Chrome</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Para obter atualizações futuras do Google Chrome, precisa do macOS 10.13 posterior. Este computador está a utilizar o OS X 10.11.</translation>
 <translation id="5098668839038261629">Quando está ativado, a sua sessão também é terminada no Chrome</translation>
-<translation id="5112116809696021727">Para ver se o seu dispositivo está atualizado, aceda às <ph name="LINK_BEGIN" />Definições do ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Descubra fantásticas aplicações, jogos, extensões e temas para o Google Chrome.</translation>
 <translation id="5139423532931106058">Personalize o seu perfil do Chrome</translation>
 <translation id="5163087008893166964">Damos-lhe as boas-vindas ao Chrome; nova janela do navegador aberta</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">A sua Web, os seus marcadores e os seus outros itens do Chrome estão aqui.</translation>
 <translation id="5941711191222866238">Minimizar</translation>
 <translation id="5941830788786076944">Tornar o Google Chrome no browser padrão.</translation>
-<translation id="5959292945051687759">Se não encontrar uma definição nesta página, procure nas <ph name="LINK_BEGIN" />
-        definições do ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">A transferir… Falta(m) <ph name="HOURS" /> hora(s)</translation>
 <translation id="6040143037577758943">Fechar</translation>
 <translation id="6070348360322141662">Para uma segurança adicional, o Google Chrome encripta os seus dados</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ro.xtb b/chrome/app/resources/google_chrome_strings_ro.xtb
index 14f1acb..ba704ec 100644
--- a/chrome/app/resources/google_chrome_strings_ro.xtb
+++ b/chrome/app/resources/google_chrome_strings_ro.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">Chrome nu se poate actualiza</translation>
 <translation id="1152920704813762236">Despre sistemul de operare Chrome</translation>
 <translation id="1154147086299354128">&amp;Deschide în Chrome</translation>
-<translation id="1178374936842835197">Dacă o setare nu apare în pagină, încearcă <ph name="LINK_BEGIN" />setările sistemului de operare Chrome Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Mulțumim pentru instalare. Înainte să folosești <ph name="BUNDLE_NAME" /> trebuie să repornești browserul.</translation>
 <translation id="1278833599417554002">Relansează pentru a actualiza &amp;Chrome</translation>
 <translation id="1302523850133262269">Așteaptă până când Chrome instalează cele mai recente actualizări de sistem.</translation>
@@ -118,7 +117,6 @@
 <translation id="3080151273017101988">Rulează în continuare aplicații în fundal când Google Chrome este închis</translation>
 <translation id="3089968997497233615">Google Chrome este disponibil într-o versiune nouă și mai sigură.</translation>
 <translation id="3100998948628680988">Denumește profilul Chrome</translation>
-<translation id="3103390129666310801">Pentru a verifica dacă dispozitivul este actualizat, accesează <ph name="LINK_BEGIN" />Setările sistemului de operare Chrome Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Ca să verifici dacă celelalte parole sunt protejate împotriva încălcării securității datelor și a altor probleme de securitate, <ph name="BEGIN_LINK" />conectează-te la Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Modificările se vor aplica următoarea dată când relansați Google Chrome.</translation>
 <translation id="3149510190863420837">Aplicații Chrome</translation>
@@ -209,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Pentru a primi actualizările Google Chrome viitoare, vei avea nevoie de macOS 10.13 sau o versiune ulterioară. Acest computer folosește OS X 10.11.</translation>
 <translation id="5098668839038261629">Când opțiunea este activată, te vei deconecta de la Chrome</translation>
-<translation id="5112116809696021727">Pentru a verifica dacă dispozitivul este actualizat, accesează <ph name="LINK_BEGIN" />Setările sistemului de operare Chrome<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Descoperă aplicații, jocuri, extensii și teme extraordinare pentru Google Chrome.</translation>
 <translation id="5139423532931106058">Personalizează-ți profilul Chrome</translation>
 <translation id="5163087008893166964">Bun venit la Chrome; fereastră de browser nouă deschisă</translation>
@@ -245,7 +242,6 @@
 <translation id="5940385492829620908">Experiența web personalizată, marcajele și celelalte date Chrome chiar aici.</translation>
 <translation id="5941711191222866238">Minimizează</translation>
 <translation id="5941830788786076944">Setează Google Chrome ca browser prestabilit</translation>
-<translation id="5959292945051687759">Dacă o setare nu apare în pagină, încearcă <ph name="LINK_BEGIN" />Setările sistemului de operare Chrome<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Se descarcă… Au rămas <ph name="HOURS" /> ore</translation>
 <translation id="6040143037577758943">Închide</translation>
 <translation id="6070348360322141662">Pentru un plus de securitate, Google Chrome îți va cripta datele</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ru.xtb b/chrome/app/resources/google_chrome_strings_ru.xtb
index 1b17bb4..965566d 100644
--- a/chrome/app/resources/google_chrome_strings_ru.xtb
+++ b/chrome/app/resources/google_chrome_strings_ru.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Не удалось обновить Chrome</translation>
 <translation id="1152920704813762236">Подробнее о Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Открыть в Chrome</translation>
-<translation id="1178374936842835197">Если нужного параметра нет на этой странице, откройте <ph name="LINK_BEGIN" />
-        настройки Chrome OS Flex<ph name="LINK_END" />.</translation>
 <translation id="1203500561924088507">Спасибо, что установили <ph name="BUNDLE_NAME" />. Чтобы изменения вступили в силу, перезапустите браузер.</translation>
 <translation id="1278833599417554002">Перезапустить для обновления &amp;Chrome</translation>
 <translation id="1302523850133262269">Подождите, пока Chrome устанавливает последние обновления системы</translation>
@@ -119,7 +117,6 @@
 <translation id="3080151273017101988">Не отключать работающие в фоновом режиме сервисы при закрытии браузера</translation>
 <translation id="3089968997497233615">Доступна новая, более безопасная версия Google Chrome.</translation>
 <translation id="3100998948628680988">Введите название профиля Chrome</translation>
-<translation id="3103390129666310801">Чтобы посмотреть, обновлена ли операционная система устройства, перейдите в <ph name="LINK_BEGIN" />настройки Chrome OS Flex<ph name="LINK_END" />.</translation>
 <translation id="3114643501466072395">Чтобы проверить, защищены ли другие ваши пароли от утечки данных и прочих проблем с безопасностью, <ph name="BEGIN_LINK" />войдите в Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Внесенные изменения станут активны после перезапуска Google Chrome.</translation>
 <translation id="3149510190863420837">Приложения Chrome</translation>
@@ -210,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">На вашем компьютере используется OS X 10.11. Чтобы получать обновления Google Chrome, установите на устройство macOS 10.13 или более поздней версии.</translation>
 <translation id="5098668839038261629">Также выполняется выход из Chrome</translation>
-<translation id="5112116809696021727">Чтобы посмотреть, обновлена ли операционная система устройства, перейдите в <ph name="LINK_BEGIN" />настройки Chrome OS<ph name="LINK_END" />.</translation>
 <translation id="5132929315877954718">Широкий выбор приложений, игр, расширений и тем для Google Chrome.</translation>
 <translation id="5139423532931106058">Настроить профиль Chrome</translation>
 <translation id="5163087008893166964">Добро пожаловать в Chrome! Открыто новое окно браузера.</translation>
@@ -246,8 +242,6 @@
 <translation id="5940385492829620908">Все веб-страницы, закладки и другие данные Chrome можно найти здесь.</translation>
 <translation id="5941711191222866238">Свернуть</translation>
 <translation id="5941830788786076944">Назначить Google Chrome браузером по умолчанию</translation>
-<translation id="5959292945051687759">Если нужного параметра нет на этой странице, откройте <ph name="LINK_BEGIN" />
-        настройки Chrome OS<ph name="LINK_END" />.</translation>
 <translation id="6003112304606738118">Скачивание… Осталось: <ph name="HOURS" /> ч.</translation>
 <translation id="6040143037577758943">Закрыть</translation>
 <translation id="6070348360322141662">В целях повышения безопасности Google Chrome шифрует ваши данные</translation>
diff --git a/chrome/app/resources/google_chrome_strings_si.xtb b/chrome/app/resources/google_chrome_strings_si.xtb
index 5371a3b..76dce65 100644
--- a/chrome/app/resources/google_chrome_strings_si.xtb
+++ b/chrome/app/resources/google_chrome_strings_si.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome යාවත්කාලීන කළ නොහැක</translation>
 <translation id="1152920704813762236">ChromeOS ගැන</translation>
 <translation id="1154147086299354128">&amp;Chrome තුළ විවෘත කරන්න</translation>
-<translation id="1178374936842835197">මෙම පිටුවෙහි සැකසීමක් නොපෙන්වන්නේ නම්, ඔබගේ <ph name="LINK_BEGIN" />
-     ChromeOS Flex සැකසීම්<ph name="LINK_END" /> තුළ සොයා බලන්න</translation>
 <translation id="1203500561924088507">ස්ථාපනය කිරීම වෙනුවෙන් ස්තුතියි. ඔබ <ph name="BUNDLE_NAME" /> භාවිත කිරීමට පෙර ඔබගේ බ්‍රවුසරය යළි ඇරඹිය යුතුය.</translation>
 <translation id="1278833599417554002">&amp;Chrome යාවත්කාලීන කිරීමට යළි දියත් කරන්න</translation>
 <translation id="1302523850133262269">කරුණාකර Chrome නවතම පද්ධති යාවත්කාලීන ස්ථාපනය කරන අතරතුර රැඳී සිටින්න.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">Google Chrome වසා ඇති විට පසුබිම් යෙදුම් ධාවනය අඛණ්ඩව කරන්න</translation>
 <translation id="3089968997497233615">Google Chrome හි නව, වඩා ආරක්ෂිත සංස්කරණයක් පවතී.</translation>
 <translation id="3100998948628680988">ඔබගේ Chrome පැතිකඩ නම් කරන්න</translation>
-<translation id="3103390129666310801">ඔබගේ උපාංගය යාවත්කාලීනදැයි බැලීමට, <ph name="LINK_BEGIN" />ChromeOS Flex සැකසීම්<ph name="LINK_END" /> වෙත යන්න</translation>
 <translation id="3114643501466072395">ඔබගේ වෙනත් මුරපද දත්ත කඩ කිරීම්වලින් සහ අනෙකුත් ආරක්ෂක ගැටලුවලින් සුරක්ෂිතද යන්න පරීක්ෂා කිරීමට, <ph name="BEGIN_LINK" />Chrome වෙත පුරන්න<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">ඔබ ඊළඟ අවස්ථාවේ Google Chrome යළි දියත් කරන විට ඔබේ වෙනස් කිරීම් බල පැවැත්වෙනු ඇත.</translation>
 <translation id="3149510190863420837">Chrome යෙදුම්</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">අනාගත Google Chrome යාවත්කාලීන ලබා ගැනීමට, ඔබට macOS 10.13 හෝ පසු අනුවාදයක් අවශ්‍ය වේ. මෙම පරිගණකය OS X 10.11 භාවිත කරමින් සිටියි.</translation>
 <translation id="5098668839038261629">ක්‍රියාත්මක විට, ඔබව Chrome වෙතින්ද වරනු ඇත</translation>
-<translation id="5112116809696021727">ඔබගේ උපාංගය යාවත්කාලීනදැයි බැලීමට, <ph name="LINK_BEGIN" />ChromeOS සැකසීම්<ph name="LINK_END" /> වෙත යන්න</translation>
 <translation id="5132929315877954718">Google Chrome සඳහා විශිෂ්ට යෙදුම්, ක්‍රීඩා, දිගු සහ තේමා සොයා ගන්න.</translation>
 <translation id="5139423532931106058">ඔබගේ Chrome පැතිකඩ අභිරුචිකරණය කරන්න</translation>
 <translation id="5163087008893166964">Chrome වෙත සාදරයෙන් පිළිගනිමු; නව බ්‍රවුසර කවුළුවක් විවෘත කරන ලදි</translation>
@@ -254,8 +250,6 @@
 <translation id="5940385492829620908">ඔබේ වෙබ් අඩවි, පිටු සලකුණු සහ වෙනත් Chrome උපකරණ මෙහි ඇත.</translation>
 <translation id="5941711191222866238">කුඩා කරන්න</translation>
 <translation id="5941830788786076944">Google Chrome පෙරනිමි බ්‍රව්සරය කරන්න</translation>
-<translation id="5959292945051687759">මෙම පිටුවෙහි සැකසීමක් නොපෙන්වන්නේ නම්, ඔබගේ <ph name="LINK_BEGIN" />
-      ChromeOS සැකසීම්<ph name="LINK_END" /> තුළ සොයා බලන්න</translation>
 <translation id="6003112304606738118">බාගනිමින්... පැය <ph name="HOURS" />ක් ඉතිරිව ඇත</translation>
 <translation id="6040143037577758943">වසන්න</translation>
 <translation id="6070348360322141662">අමතර ආරක්ෂාව සඳහා, Google Chrome ඔබේ දත්ත සංකේතනය කරනු ඇත</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sk.xtb b/chrome/app/resources/google_chrome_strings_sk.xtb
index 605865e..3282061 100644
--- a/chrome/app/resources/google_chrome_strings_sk.xtb
+++ b/chrome/app/resources/google_chrome_strings_sk.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">Chrome sa nedá aktualizovať</translation>
 <translation id="1152920704813762236">Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Otvoriť v Chrome</translation>
-<translation id="1178374936842835197">Ak nie je určité nastavenie zobrazené na tejto stránke, skontrolujte <ph name="LINK_BEGIN" />nastavenia systému Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Ďakujeme za inštaláciu. Než začnete aplikáciu <ph name="BUNDLE_NAME" /> používať, musíte reštartovať prehliadač.</translation>
 <translation id="1278833599417554002">Znova spustiť a aktualizovať Chrome</translation>
 <translation id="1302523850133262269">Počkajte, kým Chrome nainštaluje najnovšie aktualizácie systému.</translation>
@@ -121,7 +120,6 @@
 <translation id="3080151273017101988">Po zatvorení prehliadača Google Chrome nechať aplikácie na pozadí spustené</translation>
 <translation id="3089968997497233615">K dispozícii je nová, bezpečnejšia verzia prehliadača Google Chrome.</translation>
 <translation id="3100998948628680988">Pomenujte svoj profil Chromu</translation>
-<translation id="3103390129666310801">Ak chcete zistiť, či je zariadenie aktuálne, prejdite do <ph name="LINK_BEGIN" />nastavení systému Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Ak chcete skontrolovať, či sú vaše ostatné heslá chránené pred porušením ochrany údajov a inými bezpečnostnými hrozbami, <ph name="BEGIN_LINK" />prihláste sa do Chromu<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Zmeny sa prejavia pri nasledujúcom reštartovaní prehliadača Google Chrome.</translation>
 <translation id="3149510190863420837">Aplikácie Chrome</translation>
@@ -212,7 +210,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Ak chcete dostávať budúce aktualizácie prehliadača Google Chrome, musíte používať systém macOS 10.13 alebo novší. V tomto počítači používate OS X 10.11.</translation>
 <translation id="5098668839038261629">Keď zapnete túto možnosť, systém vás odhlási aj z Chromu</translation>
-<translation id="5112116809696021727">Ak chcete zistiť, či je zariadenie aktuálne, prejdite do <ph name="LINK_BEGIN" />nastavení systému Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Objavte skvelé aplikácie, hry, rozšírenia a motívy pre prehliadač Google Chrome.</translation>
 <translation id="5139423532931106058">Prispôsobiť profil Chromu</translation>
 <translation id="5163087008893166964">Vitajte v Chrome, otvorilo sa nové okno prehliadača</translation>
@@ -252,7 +249,6 @@
 <translation id="5940385492829620908">Tu nájdete svoj obsah na webe, záložky a ďalšie položky prehliadača Chrome.</translation>
 <translation id="5941711191222866238">Minimalizovať</translation>
 <translation id="5941830788786076944">Nastaviť prehľadávač Google Chrome ako predvolený</translation>
-<translation id="5959292945051687759">Ak nie je určité nastavenie zobrazené na tejto stránke, skontrolujte <ph name="LINK_BEGIN" />nastavenia systému Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Sťahuje sa… Zostávajúci čas: <ph name="HOURS" /> h</translation>
 <translation id="6040143037577758943">Zavrieť</translation>
 <translation id="6070348360322141662">V záujme vyššej miery zabezpečenia budú dáta v prehliadači Google Chrome šifrované</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sl.xtb b/chrome/app/resources/google_chrome_strings_sl.xtb
index d01bf80..a259c43 100644
--- a/chrome/app/resources/google_chrome_strings_sl.xtb
+++ b/chrome/app/resources/google_chrome_strings_sl.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chroma ni mogoče posodobiti</translation>
 <translation id="1152920704813762236">O sistemu Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Odpri v Chromu</translation>
-<translation id="1178374936842835197">Če nastavitev ni prikazana na tej strani, preverite <ph name="LINK_BEGIN" />
-        nastavitve sistema ChromeOS Flex<ph name="LINK_END" />.</translation>
 <translation id="1203500561924088507">Hvala, ker ste se odločili za namestitev. Preden uporabite <ph name="BUNDLE_NAME" />, morate znova zagnati brskalnik.</translation>
 <translation id="1278833599417554002">Znova zaženite, če želite posodobiti &amp;Chrome</translation>
 <translation id="1302523850133262269">Počakajte, da Chrome namesti najnovejše sistemske posodobitve.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Nadaljuj izvajanje programov v ozadju, ko je Google Chrome zaprt</translation>
 <translation id="3089968997497233615">Na voljo je nova, varnejša različica Google Chroma.</translation>
 <translation id="3100998948628680988">Poimenujte profil v Chromu</translation>
-<translation id="3103390129666310801">Če želite preveriti, ali je naprava posodobljena, odprite <ph name="LINK_BEGIN" />nastavitve sistema ChromeOS Flex<ph name="LINK_END" />.</translation>
 <translation id="3114643501466072395">Če želite preveriti, ali so druga gesla varna pred podatkovnimi kršitvami in drugimi varnostnimi težavami, <ph name="BEGIN_LINK" />se prijavite v Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Spremembe bodo začele veljati ob naslednjem zagonu Google Chroma.</translation>
 <translation id="3149510190863420837">Aplikacije za Chrome</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Če želite prejemati prihodnje posodobitve Google Chroma, potrebujete macOS 10.13 ali novejšega. V tem računalniku je nameščen OS X 10.11.</translation>
 <translation id="5098668839038261629">Če je to vklopljeno, boste odjavljeni tudi iz Chroma.</translation>
-<translation id="5112116809696021727">Če želite preveriti, ali je naprava posodobljena, odprite <ph name="LINK_BEGIN" />nastavitve sistema OS Chrome<ph name="LINK_END" />.</translation>
 <translation id="5132929315877954718">Odkrijte zanimive aplikacije, igre, razširitve in teme za Google Chrome.</translation>
 <translation id="5139423532931106058">Prilagajanje profila v Chromu</translation>
 <translation id="5163087008893166964">Pozdravljeni v Chromu; odprlo se je novo okno brskalnika</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Tu so shranjeni vaš splet, zaznamki in druge stvari v Chromu.</translation>
 <translation id="5941711191222866238">Minimiziraj</translation>
 <translation id="5941830788786076944">Nastavi Google Chrome kot privzeti brskalnik</translation>
-<translation id="5959292945051687759">Če nastavitev ni prikazana na tej strani, preverite <ph name="LINK_BEGIN" />
-        nastavitve sistema Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Prenašanje … Še <ph name="HOURS" /> h.</translation>
 <translation id="6040143037577758943">Zapri</translation>
 <translation id="6070348360322141662">Zaradi večje varnosti bo Google Chrome šifriral vaše podatke</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sq.xtb b/chrome/app/resources/google_chrome_strings_sq.xtb
index 2c38008c..e3351c3 100644
--- a/chrome/app/resources/google_chrome_strings_sq.xtb
+++ b/chrome/app/resources/google_chrome_strings_sq.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Chrome nuk mund të përditësohet</translation>
 <translation id="1152920704813762236">Rreth ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Hape në Chrome</translation>
-<translation id="1178374936842835197">Nëse cilësimi nuk shfaqet në këtë faqe, shiko te <ph name="LINK_BEGIN" />
-        cilësimet e tua të Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Faleminderit që e instalove. Duhet të rinisësh shfletuesin përpara se të përdorësh <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Nise përsëri për të përditësuar &amp;Chrome</translation>
 <translation id="1302523850133262269">Prit ndërsa Chrome instalon përditësimet më të fundit të sistemit.</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">Vazhdo ekzekutimin e aplikacioneve në sfond kur Google Chrome është i mbyllur</translation>
 <translation id="3089968997497233615">Ofrohet një version i ri dhe më i sigurt i Google Chrome.</translation>
 <translation id="3100998948628680988">Emërto profilin tënd të Chrome</translation>
-<translation id="3103390129666310801">Për të parë nëse pajisja jote është e përditësuar, shko te <ph name="LINK_BEGIN" />Cilësimet e Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Për të kontrolluar nëse fjalëkalimet e tjera janë të sigurta nga nxjerrjet e paautorizuara të të dhënave dhe probleme të tjera të sigurisë, <ph name="BEGIN_LINK" />identifikohu në Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Ndryshimet e tua do të hyjnë në fuqi herën tjetër kur të rinisësh Google Chrome.</translation>
 <translation id="3149510190863420837">Aplikacionet e Chrome</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Për të marrë përditësimet e ardhshme të Google Chrome, do të të duhet macOS 10.13 e lart. Ky kompjuter përdor OS X 10.11.</translation>
 <translation id="5098668839038261629">Kur opsioni është aktiv, do të dalësh po ashtu nga Chrome</translation>
-<translation id="5112116809696021727">Për të parë nëse pajisja jote është e përditësuar, shko te <ph name="LINK_BEGIN" />Cilësimet e ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Zbulo aplikacione, lojëra, shtesa dhe tema të mrekullueshme për Google Chrome.</translation>
 <translation id="5139423532931106058">Personalizo profilin tënd të Chrome</translation>
 <translation id="5163087008893166964">Mirë se erdhe në Chrome. U hap një dritare e re e shfletuesit</translation>
@@ -254,8 +250,6 @@
 <translation id="5940385492829620908">Këtu janë materialet e tua të uebit, të faqeshënuesve dhe të tjera nga Chrome.</translation>
 <translation id="5941711191222866238">Minimizo</translation>
 <translation id="5941830788786076944">Bëje Google Chrome shfletuesin e parazgjedhur</translation>
-<translation id="5959292945051687759">Nëse cilësimi nuk shfaqet në këtë faqe, shiko te <ph name="LINK_BEGIN" />
-        cilësimet e ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Po shkarkohet... Kanë mbetur edhe <ph name="HOURS" /> orë</translation>
 <translation id="6040143037577758943">Mbyll</translation>
 <translation id="6070348360322141662">Për më shumë siguri, Google Chrome do t'i enkriptojë të dhënat e tua</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr-Latn.xtb b/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
index 0bc40d1..5ccd38dd 100644
--- a/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
+++ b/chrome/app/resources/google_chrome_strings_sr-Latn.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Ne možete da ažurirate Chrome</translation>
 <translation id="1152920704813762236">O Chrome OS-u</translation>
 <translation id="1154147086299354128">&amp;Otvori u Chrome-u</translation>
-<translation id="1178374936842835197">Ako se podešavanje ne prikazuje na ovoj stranici, pogledajte u <ph name="LINK_BEGIN" />
-        Chrome OS Flex podešavanjima<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Hvala vam na instalaciji. Potrebno je da restartujete pregledač pre nego što počnete da koristite <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Ponovo pokreni da bi se &amp;Chrome ažurirao</translation>
 <translation id="1302523850133262269">Sačekajte da Chrome instalira najnovija ažuriranja sistema.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Nastavi sa pokretanjem aplikacija u pozadini kada se Google Chrome zatvori</translation>
 <translation id="3089968997497233615">Dostupna je nova, bezbednija verzija Google Chrome pregledača.</translation>
 <translation id="3100998948628680988">Dajte naziv Chrome profilu</translation>
-<translation id="3103390129666310801">Da biste proverili da li je uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Podešavanja Chrome OS Flex-a<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Da biste proverili da li su ostale lozinke bezbedne od upada u podatke i drugih bezbednosnih problema, <ph name="BEGIN_LINK" />prijavite se u Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Promene će stupiti na snagu kada sledeći put ponovo pokrenete Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome aplikacije</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Da biste dobijali buduća Google Chrome ažuriranja, treba vam macOS 10.13 ili novija verzija. Ovaj računar koristi OS X 10.11.</translation>
 <translation id="5098668839038261629">Kada je ovo uključeno, bićete i odjavljeni iz Chrome-a</translation>
-<translation id="5112116809696021727">Da biste proverili da li je uređaj ažuriran, idite u <ph name="LINK_BEGIN" />Podešavanja Chrome OS-a<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Otkrijte odlične aplikacije, igre, dodatke i teme za Google Chrome.</translation>
 <translation id="5139423532931106058">Prilagodite Chrome profil</translation>
 <translation id="5163087008893166964">Dobro došli u Chrome; otvoren je novi prozor pregledača</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Veb, obeleživači i drugi Chrome sadržaj se ovde uživo prikazuju.</translation>
 <translation id="5941711191222866238">Umanji</translation>
 <translation id="5941830788786076944">Podesite Google Chrome kao podrazumevani pregledač</translation>
-<translation id="5959292945051687759">Ako se podešavanje ne prikazuje na ovoj stranici, potražite ga u <ph name="LINK_BEGIN" />
-      podešavanjima Chrome OS-a<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Preuzima se... Još <ph name="HOURS" /> č</translation>
 <translation id="6040143037577758943">Zatvori</translation>
 <translation id="6070348360322141662">Google Chrome će šifrovati podatke radi dodatne sigurnosti</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sr.xtb b/chrome/app/resources/google_chrome_strings_sr.xtb
index 74d1cf5..b3227e2 100644
--- a/chrome/app/resources/google_chrome_strings_sr.xtb
+++ b/chrome/app/resources/google_chrome_strings_sr.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Не можете да ажурирате Chrome</translation>
 <translation id="1152920704813762236">О Chrome ОС-у</translation>
 <translation id="1154147086299354128">&amp;Отвори у Chrome-у</translation>
-<translation id="1178374936842835197">Ако се подешавање не приказује на овој страници, погледајте у <ph name="LINK_BEGIN" />
-        Chrome OS Flex подешавањима<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Хвала вам на инсталацији. Потребно је да рестартујете прегледач пре него што почнете да користите <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Поново покрени да би се &amp;Chrome ажурирао</translation>
 <translation id="1302523850133262269">Сачекајте да Chrome инсталира најновија ажурирања система.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Настави са покретањем апликација у позадини када се Google Chrome затвори</translation>
 <translation id="3089968997497233615">Доступна је нова, безбеднија верзија Google Chrome прегледача.</translation>
 <translation id="3100998948628680988">Дајте назив Chrome профилу</translation>
-<translation id="3103390129666310801">Да бисте проверили да ли је уређај ажуриран, идите у <ph name="LINK_BEGIN" />Подешавања Chrome OS Flex-а<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Да бисте проверили да ли су остале лозинке безбедне од упада у податке и других безбедносних проблема, <ph name="BEGIN_LINK" />пријавите се у Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Промене ће ступити на снагу када следећи пут поново покренете Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome апликације</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Да бисте добијали будућа Google Chrome ажурирања, треба вам macOS 10.13 или новија верзија. Овај рачунар користи ОС X 10.11.</translation>
 <translation id="5098668839038261629">Када је ово укључено, бићете и одјављени из Chrome-а</translation>
-<translation id="5112116809696021727">Да бисте проверили да ли је уређај ажуриран, идите у <ph name="LINK_BEGIN" />Подешавања Chrome ОС-а<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Откријте одличне апликације, игре, додатке и теме за Google Chrome.</translation>
 <translation id="5139423532931106058">Прилагодите Chrome профил</translation>
 <translation id="5163087008893166964">Добро дошли у Chrome; отворен је нови прозор прегледача</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Веб, обележивачи и други Chrome садржај се овде уживо приказују.</translation>
 <translation id="5941711191222866238">Умањи</translation>
 <translation id="5941830788786076944">Подесите Google Chrome као подразумевани прегледач</translation>
-<translation id="5959292945051687759">Ако се подешавање не приказује на овој страници, потражите га у <ph name="LINK_BEGIN" />
-      подешавањима Chrome ОС-а<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Преузима се... Још <ph name="HOURS" /> ч</translation>
 <translation id="6040143037577758943">Затвори</translation>
 <translation id="6070348360322141662">Google Chrome ће шифровати податке ради додатне сигурности</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sv.xtb b/chrome/app/resources/google_chrome_strings_sv.xtb
index f24cd0d34..1d4eb659 100644
--- a/chrome/app/resources/google_chrome_strings_sv.xtb
+++ b/chrome/app/resources/google_chrome_strings_sv.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Det gick inte att uppdatera Chrome</translation>
 <translation id="1152920704813762236">Om Chrome OS</translation>
 <translation id="1154147086299354128">&amp;Öppna i Chrome</translation>
-<translation id="1178374936842835197">Om en inställning saknas på den här sidan tittar du i <ph name="LINK_BEGIN" />
-        inställningarna för ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Tack för att du installerat programmet. Du måste starta om webbläsaren innan du använder <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Starta om för att uppdatera &amp;Chrome</translation>
 <translation id="1302523850133262269">Vänta medan de senaste systemuppdateringarna installeras av Chrome.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Fortsätt köra bakgrundsappar när Google Chrome avslutas</translation>
 <translation id="3089968997497233615">Det finns en ny, ännu säkrare version av Google Chrome.</translation>
 <translation id="3100998948628680988">Ge Chrome-profilen ett namn</translation>
-<translation id="3103390129666310801">Om du vill se om enheten är uppdaterad öppnar du <ph name="LINK_BEGIN" />inställningarna för ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395"><ph name="BEGIN_LINK" />Logga in i Chrome<ph name="END_LINK" /> om du vill kontrollera att dina andra lösenord skyddas från dataintrång och andra säkerhetsproblem.</translation>
 <translation id="3140883423282498090">Ändringarna börjar gälla nästa gång du startar Google Chrome.</translation>
 <translation id="3149510190863420837">Chrome-appar</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Du behöver macOS 10.13 eller senare för att få kommande uppdateringar av Google Chrome. På den här datorn används OS X 10.11.</translation>
 <translation id="5098668839038261629">När inställningen är aktiverad loggas du också ut från Chrome</translation>
-<translation id="5112116809696021727">Om du vill se om enheten är uppdaterad öppnar du <ph name="LINK_BEGIN" />inställningarna för Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Upptäck fantastiska program, spel, tillägg och teman för Google Chrome.</translation>
 <translation id="5139423532931106058">Anpassa din Chrome-profil</translation>
 <translation id="5163087008893166964">Välkommen till Chrome, ett nytt webbläsarfönster har öppnats</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Här finns webben, bokmärken och allt annat du använder Chrome till.</translation>
 <translation id="5941711191222866238">Minimera</translation>
 <translation id="5941830788786076944">Använd Google Chrome som standardwebbläsare</translation>
-<translation id="5959292945051687759">Om en inställning saknas på den här sidan tittar du i <ph name="LINK_BEGIN" />
-        inställningarna för Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Laddar ned … <ph name="HOURS" /> timme/timmar kvar</translation>
 <translation id="6040143037577758943">Stäng</translation>
 <translation id="6070348360322141662">Din data krypteras i Google Chrome för att öka säkerheten</translation>
diff --git a/chrome/app/resources/google_chrome_strings_sw.xtb b/chrome/app/resources/google_chrome_strings_sw.xtb
index d1f833a..828df119 100644
--- a/chrome/app/resources/google_chrome_strings_sw.xtb
+++ b/chrome/app/resources/google_chrome_strings_sw.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Imeshindwa kusasisha Chrome</translation>
 <translation id="1152920704813762236">Kuhusu Mfumo wa Uendeshaji wa Chrome</translation>
 <translation id="1154147086299354128">na Fungua katika Chrome</translation>
-<translation id="1178374936842835197">Iwapo mipangilio haionekani kwenye ukurasa huu, angalia katika <ph name="LINK_BEGIN" />
-        mipangilio yako ya ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Asante kwa kusakinisha. Ni lazima uzime kisha uwashe tena kivinjari chako kabla ya kutumia <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Fungua tena ili usasishe &amp;Chrome</translation>
 <translation id="1302523850133262269">Tafadhali subiri Chrome inaposakinisha sasisho mpya za mfumo.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Endelea kuendesha programu zinazofanya kazi chini chini wakati Google Chrome imefungwa</translation>
 <translation id="3089968997497233615">Kuna toleo jipya na salama la Google Chrome.</translation>
 <translation id="3100998948628680988">Upe wasifu wako wa Chrome jina</translation>
-<translation id="3103390129666310801">Ili kuona kama kifaa chako kimesasishwa, nenda kwenye <ph name="LINK_BEGIN" />Mipangilio ya ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Ili uangalie kama manenosiri yako mengine ni salama dhidi ya ufichuzi haramu wa data na matatizo mengine ya usalama, <ph name="BEGIN_LINK" />ingia katika akaunti kwenye Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Mabadiliko yako yataanza kufanya kazi wakati ujao utakapozindua Google Chrome.</translation>
 <translation id="3149510190863420837">Programu za Chrome</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">Kanari ya Google Chrome</translation>
 <translation id="5037581483200764584">Ili upate masasisho ya Google Chrome ya hapo baadaye, utahitaji toleo la macOS 10.13 au toleo jipya zaidi. Kompyuta hii inatumia OS X 10.11.</translation>
 <translation id="5098668839038261629">Kinapokuwa kimewashwa, utaondolewa pia katika akauti ya Chrome</translation>
-<translation id="5112116809696021727">Ili kuona kama kifaa chako kimesasishwa, nenda kwenye <ph name="LINK_BEGIN" />Mipangilio ya Mfumo wa Uendeshaji wa Chrome<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Gundua programu, michezo, viendelezi na mandhari bora ya Google Chrome.</translation>
 <translation id="5139423532931106058">Weka mapendeleo ya wasifu wako kwenye Chrome</translation>
 <translation id="5163087008893166964">Karibu kwenye Chrome; dirisha jipya la kivinjari limefunguliwa</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Wavuti, alamisho, na vitu vyako vingine vya Chrome vinapatikana hapa.</translation>
 <translation id="5941711191222866238">Punguza</translation>
 <translation id="5941830788786076944">Fanya Google Chrome iwe kivinjari chaguomsingi</translation>
-<translation id="5959292945051687759">Ikiwa mipangilio haionekani kwenye ukurasa huu, angalia kwenye <ph name="LINK_BEGIN" />
-        mipangilio yako ya Mfumo wa Uendeshaji wa Chrome<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Inapakua... Zimesalia saa <ph name="HOURS" /></translation>
 <translation id="6040143037577758943">Funga</translation>
 <translation id="6070348360322141662">Kwa usalama wa ziada, Google Chrome itasimba data yako kwa njia fiche</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ta.xtb b/chrome/app/resources/google_chrome_strings_ta.xtb
index cf0bffcf..e097cb3 100644
--- a/chrome/app/resources/google_chrome_strings_ta.xtb
+++ b/chrome/app/resources/google_chrome_strings_ta.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chromeஐப் புதுப்பிக்க முடியவில்லை</translation>
 <translation id="1152920704813762236">ChromeOS - ஓர் அறிமுகம்</translation>
 <translation id="1154147086299354128">&amp;Chrome இல் திற</translation>
-<translation id="1178374936842835197">இந்தப் பக்கத்தில் ஓர் அமைப்பு காட்டப்படவில்லை எனில் அதை உங்கள் <ph name="LINK_BEGIN" />
-        ChromeOS Flex அமைப்புகளுக்குச்<ph name="LINK_END" /> சென்று பார்க்கவும்</translation>
 <translation id="1203500561924088507">நிறுவியதற்கு நன்றி. <ph name="BUNDLE_NAME" /> ஐப் பயன்படுத்துவதற்கு முன் உலாவியை மீண்டும் தொடங்க வேண்டும்.</translation>
 <translation id="1278833599417554002">&amp;Chromeமைப் புதுப்பிக்க மீண்டும் தொடங்கு</translation>
 <translation id="1302523850133262269">சமீபத்திய முறைமை புதுப்பிப்புகளை Chrome நிறுவும் வரை காத்திருக்கவும்.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Google Chrome மூடப்பட்டிருக்கும்போது பின்புல ஆப்ஸை இயக்க அனுமதி</translation>
 <translation id="3089968997497233615">புதிய, இன்னும் பாதுகாப்பான Google Chrome பதிப்பு தற்போது கிடைக்கிறது.</translation>
 <translation id="3100998948628680988">உங்கள் Chrome சுயவிவரத்திற்குப் பெயரிடுங்கள்</translation>
-<translation id="3103390129666310801">உங்கள் சாதனம் சமீபத்திய பதிப்பில் இயங்குகிறதா எனப் பார்க்க, <ph name="LINK_BEGIN" />ChromeOS Flex அமைப்புகளுக்குச்<ph name="LINK_END" /> செல்லவும்</translation>
 <translation id="3114643501466072395">தரவு மீறல்கள் மற்றும் பிற பாதுகாப்புச் சிக்கல்களிலிருந்து உங்கள் மற்ற கடவுச்சொற்கள் பாதுகாப்பாக இருக்கின்றனவா என்பதைச் சரிபார்க்க <ph name="BEGIN_LINK" />Chromeமில் உள்நுழையுங்கள்<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">அடுத்த முறை Google Chrome ஐ மீண்டும் தொடங்கியவுடன் உங்கள் மாற்றங்கள் செயல்படும்.</translation>
 <translation id="3149510190863420837">Chrome ஆப்ஸ்</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">இனிவரும் Google Chrome புதுப்பிப்புகளைப் பெற, macOS 10.13 அல்லது அதற்குப் பிந்தைய பதிப்பு தேவை. இந்தக் கம்ப்யூட்டர் OS X 10.11 பதிப்பைப் பயன்படுத்துகிறது.</translation>
 <translation id="5098668839038261629">இயக்கினால் Chromeமில் இருந்தும் வெளியேறுவீர்கள்</translation>
-<translation id="5112116809696021727">உங்கள் சாதனம் சமீபத்திய பதிப்பில் இயங்குகிறதா எனப் பார்க்க, <ph name="LINK_BEGIN" />ChromeOS அமைப்புகளுக்குச்<ph name="LINK_END" /> செல்லவும்</translation>
 <translation id="5132929315877954718">Google Chrome க்கான சிறந்த ஆப்ஸ், கேம்ஸ், நீட்டிப்புகள் மற்றும் தீம்களைக் கண்டறியவும்.</translation>
 <translation id="5139423532931106058">உங்கள் Chrome சுயவிவரத்தைப் பிரத்தியேகமாக்குக</translation>
 <translation id="5163087008893166964">Chromeமிற்கு வரவேற்கிறோம்; புதிய உலாவிச் சாளரம் திறக்கப்பட்டது</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">உங்களின் இணையம், புக்மார்க்குகள் மற்றும் பிற Chrome உருப்படிகள் இங்கே உள்ளன.</translation>
 <translation id="5941711191222866238">சிறிதாக்கு</translation>
 <translation id="5941830788786076944">Google Chrome ஐ இயல்புநிலை உலாவியாக அமை</translation>
-<translation id="5959292945051687759">இந்தப் பக்கத்தில் ஓர் அமைப்பு காட்டப்படவில்லை எனில் அதை <ph name="LINK_BEGIN" />
-       ChromeOS அமைப்புகளுக்குச்<ph name="LINK_END" /> சென்று பார்க்கவும்</translation>
 <translation id="6003112304606738118">பதிவிறக்குகிறது... <ph name="HOURS" /> மணிநேரம் மீதமுள்ளது</translation>
 <translation id="6040143037577758943">மூடு</translation>
 <translation id="6070348360322141662">கூடுதல் பாதுகாப்பிற்கு, Google Chrome உங்கள் தரவை என்கிரிப்ட் செய்யும்</translation>
diff --git a/chrome/app/resources/google_chrome_strings_te.xtb b/chrome/app/resources/google_chrome_strings_te.xtb
index c007f0d4..824a3bbec 100644
--- a/chrome/app/resources/google_chrome_strings_te.xtb
+++ b/chrome/app/resources/google_chrome_strings_te.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chromeను అప్‌డేట్ చేయడం సాధ్యం కాదు</translation>
 <translation id="1152920704813762236">ChromeOS గురించి</translation>
 <translation id="1154147086299354128">&amp;Chromeలో తెరువు</translation>
-<translation id="1178374936842835197">ఈ పేజీలో సెట్టింగ్ కనిపించకపోతే, మీ <ph name="LINK_BEGIN" />
-        ChromeOS Flex సెట్టింగ్‌లు<ph name="LINK_END" /> ఆప్షన్‌లో చూడండి</translation>
 <translation id="1203500561924088507">ఇన్‌స్టాల్ చేసినందుకు ధన్యవాదాలు. <ph name="BUNDLE_NAME" />‌ను ఉపయోగించడానికి ముందు మీరు బ్రౌజర్‌ను తప్పకుండా రీస్టార్ట్ చేయాలి.</translation>
 <translation id="1278833599417554002">&amp;Chromeను అప్‌డేట్ చేయడానికి రీ-లాంచ్ చేయండి</translation>
 <translation id="1302523850133262269">దయచేసి Chrome తాజా సిస్టమ్ అప్‌డేట్‌లను ఇన్‌స్టాల్ చేస్తున్నప్పుడు వేచి ఉండండి.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Google Chromeను మూసివేసినపుడు, యాప్‌లను బ్యాక్‌గ్రౌండ్‌లో రన్ చేయడాన్ని కొనసాగించు</translation>
 <translation id="3089968997497233615">Google Chrome యొక్క కొత్తదైన, మరింత సురక్షిత వెర్షన్ అందుబాటులో ఉంది.</translation>
 <translation id="3100998948628680988">మీ Chrome ప్రొఫైల్‌కు పేరు పెట్టండి</translation>
-<translation id="3103390129666310801">మీ పరికరం అప్‌డేట్ అయ్యి ఉందో లేదో చూడటానికి, <ph name="LINK_BEGIN" />ChromeOS Flex సెట్టింగ్‌లకు<ph name="LINK_END" /> వెళ్లండి</translation>
 <translation id="3114643501466072395">డేటా ఉల్లంఘనల నుండి, ఇతర భద్రతా సమస్యల నుండి మీ ఇతర పాస్‌వర్డ్‌లు సురక్షితంగా ఉన్నాయో లేదో చెక్ చేయడానికి, <ph name="BEGIN_LINK" />Chromeకు సైన్ ఇన్ చేయండి<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">మీ మార్పులు మీరు Google Chromeను మళ్లీ ప్రారంభించినప్పుడు ప్రభావాన్ని చూపుతాయి.</translation>
 <translation id="3149510190863420837">Chrome యాప్‌లు</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome కేనరీ</translation>
 <translation id="5037581483200764584">భవిష్యత్తులో Google Chrome అప్‌డేట్‌లను పొందడానికి, మీకు macOS 10.13 లేదా ఆ తర్వాతి వెర్షన్ అవసరం అవుతుంది. ఈ కంప్యూటర్ OS X 10.11ను ఉపయోగిస్తోంది.</translation>
 <translation id="5098668839038261629">దీన్ని ఆన్ చేసినప్పుడు, మీరు Chrome నుండి కూడా సైన్ అవుట్ చేయబడతారు</translation>
-<translation id="5112116809696021727">మీ పరికరం అప్‌డేట్ అయ్యి ఉందో లేదో చూడటానికి, <ph name="LINK_BEGIN" />ChromeOS సెట్టింగ్‌లకు<ph name="LINK_END" /> వెళ్లండి</translation>
 <translation id="5132929315877954718">Google Chrome కోసం గొప్ప యాప్‌లు, ఆటలు, ఎక్స్‌టెన్షన్‌లు మరియు థీమ్‌లను కనుగొనండి.</translation>
 <translation id="5139423532931106058">మీ Chrome ప్రొఫైల్‌ను అనుకూలంగా మార్చండి</translation>
 <translation id="5163087008893166964">Chromeకు స్వాగతం; కొత్త బ్రౌజర్ విండో తెరవబడింది</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">మీ వెబ్, బుక్‌మార్క్‌లు మరియు ఇతర Chrome అంశాలు ఇక్కడ చూపబడతాయి.</translation>
 <translation id="5941711191222866238">కనిష్టీకరించు</translation>
 <translation id="5941830788786076944">Google Chromeను డిఫాల్ట్ బ్రౌజర్‌గా చేసుకోండి</translation>
-<translation id="5959292945051687759">ఈ పేజీలో సెట్టింగ్ కనిపించకపోతే, మీ <ph name="LINK_BEGIN" />
-        ChromeOS సెట్టింగ్‌లు<ph name="LINK_END" /> ఆప్షన్‌లో చూడండి</translation>
 <translation id="6003112304606738118">డౌన్‌లోడ్ అవుతోంది... <ph name="HOURS" /> గంట(లు) సమయం మిగిలి ఉంది</translation>
 <translation id="6040143037577758943">మూసివేయి</translation>
 <translation id="6070348360322141662">అదనపు భద్రత దృష్ట్యా, Google Chrome మీ డేటాను ఎన్‌క్రిప్ట్ చేస్తుంది</translation>
diff --git a/chrome/app/resources/google_chrome_strings_th.xtb b/chrome/app/resources/google_chrome_strings_th.xtb
index b0207f0..885066f 100644
--- a/chrome/app/resources/google_chrome_strings_th.xtb
+++ b/chrome/app/resources/google_chrome_strings_th.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">อัปเดต Chrome ไม่ได้</translation>
 <translation id="1152920704813762236">เกี่ยวกับ Chrome OS</translation>
 <translation id="1154147086299354128">เ&amp;ปิดใน Chrome</translation>
-<translation id="1178374936842835197">หากการตั้งค่าไม่แสดงในหน้านี้ โปรดดูที่<ph name="LINK_BEGIN" />การตั้งค่า Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">ขอขอบคุณที่ติดตั้ง คุณต้องรีสตาร์ทเบราว์เซอร์ก่อนใช้ <ph name="BUNDLE_NAME" /></translation>
 <translation id="1278833599417554002">เปิดอีกครั้งเพื่ออัปเดต Chrome</translation>
 <translation id="1302523850133262269">โปรดรอขณะที่ Chrome ติดตั้งการอัปเดตระบบล่าสุด</translation>
@@ -118,7 +117,6 @@
 <translation id="3080151273017101988">เรียกใช้แอปพลิเคชันเบื้องหลังต่อไปเมื่อ Google Chrome ถูกปิดลง</translation>
 <translation id="3089968997497233615">Google Chrome มีรุ่นใหม่ที่ปลอดภัยกว่าให้ใช้งานแล้ว</translation>
 <translation id="3100998948628680988">ตั้งชื่อโปรไฟล์ Chrome ของคุณ</translation>
-<translation id="3103390129666310801">หากต้องการดูว่าอุปกรณ์เป็นเวอร์ชันล่าสุดแล้วหรือไม่ ให้ไปที่<ph name="LINK_BEGIN" />การตั้งค่า Chrome OS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395"><ph name="BEGIN_LINK" />ลงชื่อเข้าใช้ Chrome<ph name="END_LINK" /> เพื่อตรวจสอบว่ารหัสผ่านรายการอื่นไม่ได้รับผลกระทบจากการละเมิดข้อมูลและปัญหาด้านความปลอดภัยอื่นๆ</translation>
 <translation id="3140883423282498090">การเปลี่ยนแปลงของคุณจะมีผลในครั้งถัดไปที่คุณเปิด Google Chrome</translation>
 <translation id="3149510190863420837">แอป Chrome</translation>
@@ -209,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">คุณจะต้องใช้ macOS 10.13 ขึ้นไปเพื่อรับการอัปเดต Google Chrome ในอนาคต คอมพิวเตอร์เครื่องนี้ใช้ OS X 10.11</translation>
 <translation id="5098668839038261629">หากเปิดใช้ คุณจะออกจากระบบของ Chrome ด้วย</translation>
-<translation id="5112116809696021727">หากต้องการดูว่าอุปกรณ์เป็นเวอร์ชันล่าสุดแล้วหรือไม่ ให้ไปที่<ph name="LINK_BEGIN" />การตั้งค่า Chrome OS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">พบกับแอป เกม ส่วนขยาย และธีมเด็ดๆ สำหรับ Google Chrome</translation>
 <translation id="5139423532931106058">ปรับแต่งโปรไฟล์ Chrome ของคุณ</translation>
 <translation id="5163087008893166964">ยินดีต้อนรับสู่ Chrome เปิดหน้าต่างเบราวเซอร์ใหม่แล้ว</translation>
@@ -245,7 +242,6 @@
 <translation id="5940385492829620908">เว็บของคุณ บุ๊กมาร์ก และสิ่งอื่นๆ ใน Chrome พร้อมใช้แล้วที่นี่</translation>
 <translation id="5941711191222866238">ย่อเล็กสุด</translation>
 <translation id="5941830788786076944">ทำให้ Google Chrome เป็นเบราว์เซอร์เริ่มต้น</translation>
-<translation id="5959292945051687759">หากการตั้งค่าไม่แสดงในหน้านี้ โปรดดูที่<ph name="LINK_BEGIN" />การตั้งค่า Chrome OS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">กำลังดาวน์โหลด... เหลืออีก <ph name="HOURS" /> ชั่วโมง</translation>
 <translation id="6040143037577758943">ปิด</translation>
 <translation id="6070348360322141662">Google Chrome จะเข้ารหัสลับข้อมูลของคุณเพื่อเพิ่มความปลอดภัยให้มากยิ่งขึ้น</translation>
diff --git a/chrome/app/resources/google_chrome_strings_tr.xtb b/chrome/app/resources/google_chrome_strings_tr.xtb
index 6f8c083a..8750c3a 100644
--- a/chrome/app/resources/google_chrome_strings_tr.xtb
+++ b/chrome/app/resources/google_chrome_strings_tr.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chrome güncellenemiyor</translation>
 <translation id="1152920704813762236">ChromeOS hakkında</translation>
 <translation id="1154147086299354128">&amp;Chrome'da aç</translation>
-<translation id="1178374936842835197">Bu sayfada bulunmayan bir ayar varsa <ph name="LINK_BEGIN" />ChromeOS Flex ayarlarınıza
-        <ph name="LINK_END" /> bakın</translation>
 <translation id="1203500561924088507">Yüklediğiniz için teşekkürler. <ph name="BUNDLE_NAME" /> uygulamasını kullanmadan önce tarayıcınızı yeniden başlatmanız gerekir.</translation>
 <translation id="1278833599417554002">&amp;Chrome'u güncellemek için yeniden başlat</translation>
 <translation id="1302523850133262269">Chrome en son sistem güncellemelerini yüklerken lütfen bekleyin.</translation>
@@ -119,7 +117,6 @@
 <translation id="3080151273017101988">Google Chrome kapandığında arka plan uygulamaları çalıştırmaya devam et</translation>
 <translation id="3089968997497233615">Google Chrome'un kullanabileceğiniz yeni, daha güvenli bir sürümü var.</translation>
 <translation id="3100998948628680988">Chrome profilinize bir ad verin</translation>
-<translation id="3103390129666310801">Cihazınızın güncel olup olmadığını görmek için <ph name="LINK_BEGIN" />ChromeOS Flex Ayarları<ph name="LINK_END" />'na gidin.</translation>
 <translation id="3114643501466072395">Öteki şifrelerinizin veri ihlali ve diğer güvenlik sorunlarına karşı güvende olup olmadığını kontrol etmek için <ph name="BEGIN_LINK" />Chrome'da oturum açın<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Yaptığınız değişiklikler Google Chrome'u yeniden başlattığınızda geçerli olacak.</translation>
 <translation id="3149510190863420837">Chrome Uygulamaları</translation>
@@ -210,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Gelecekteki Google Chrome güncellemelerini almak için macOS 10.13 veya sonraki bir sürümün yüklü olması gerekir. Bu bilgisayar OS X 10.11 kullanıyor.</translation>
 <translation id="5098668839038261629">Etkin durumdayken Chrome oturumunuz da kapatılır</translation>
-<translation id="5112116809696021727">Cihazınızın güncel olup olmadığını görmek için <ph name="LINK_BEGIN" />ChromeOS Ayarları<ph name="LINK_END" />'na gidin</translation>
 <translation id="5132929315877954718">Google Chrome'a özgü harika uygulamaları, oyunları, uzantıları ve temaları keşfedin.</translation>
 <translation id="5139423532931106058">Chrome profilinizi özelleştirin</translation>
 <translation id="5163087008893166964">Chrome'a hoş geldiniz; yeni tarayıcı penceresi açıldı</translation>
@@ -248,8 +244,6 @@
 <translation id="5940385492829620908">Web, yer işaretleri ve diğer Chrome öğeleriniz burada bulunur.</translation>
 <translation id="5941711191222866238">Küçült</translation>
 <translation id="5941830788786076944">Google Chrome varsayılan tarayıcı olsun</translation>
-<translation id="5959292945051687759">Bir ayar bu sayfada görünmüyorsa <ph name="LINK_BEGIN" />
-        ChromiumOS ayarlarınıza<ph name="LINK_END" /> bakın</translation>
 <translation id="6003112304606738118">İndiriliyor... <ph name="HOURS" /> saat kaldı</translation>
 <translation id="6040143037577758943">Kapat</translation>
 <translation id="6070348360322141662">Google Chrome ek güvenlik sağlamak için verilerinizi şifreler</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uk.xtb b/chrome/app/resources/google_chrome_strings_uk.xtb
index 4c5b9e85..457348a1 100644
--- a/chrome/app/resources/google_chrome_strings_uk.xtb
+++ b/chrome/app/resources/google_chrome_strings_uk.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Не вдається оновити Chrome</translation>
 <translation id="1152920704813762236">Про ОС Chrome</translation>
 <translation id="1154147086299354128">&amp;Відкрити в Chrome</translation>
-<translation id="1178374936842835197">Якщо налаштування не з’явиться на цій сторінці, пошукайте його в <ph name="LINK_BEGIN" />
-        налаштуваннях ОС Chrome Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Дякуємо за встановлення. Щоб почати використовувати пакет <ph name="BUNDLE_NAME" />, потрібно перезапустити веб-переглядач.</translation>
 <translation id="1278833599417554002">Перезапустити, щоб оновити &amp;Chrome</translation>
 <translation id="1302523850133262269">Зачекайте, доки Chrome установить найновіші оновлення системи.</translation>
@@ -120,7 +118,6 @@
 <translation id="3080151273017101988">Продовжувати роботу фонових програм, коли Google Chrome закрито</translation>
 <translation id="3089968997497233615">Доступна нова, безпечніша версія Google Chrome.</translation>
 <translation id="3100998948628680988">Додайте назву свого профілю Chrome</translation>
-<translation id="3103390129666310801">Щоб дізнатися, чи пристрій використовує актуальну версію операційної системи, перейдіть у <ph name="LINK_BEGIN" />налаштування ОС Chrome Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Щоб перевірити, чи відомі порушення безпеки даних або інші проблеми не заторкнули інші ваші паролі, <ph name="BEGIN_LINK" />увійдіть у Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Ваші зміни почнуть діяти після наступного перезапуску Google Chrome.</translation>
 <translation id="3149510190863420837">Додатки Chrome</translation>
@@ -211,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Щоб отримувати майбутні оновлення Google Chrome, потрібна операційна система macOS 10.13 або новішої версії. На цьому комп’ютері встановлено OS X 10.11.</translation>
 <translation id="5098668839038261629">Якщо перемикач увімкнено, ви також автоматично вийдете зі свого облікового запису в Chrome</translation>
-<translation id="5112116809696021727">Щоб дізнатися, чи використовує пристрій актуальну версію операційної системи, перейдіть у <ph name="LINK_BEGIN" />налаштування ОС Chrome<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Знаходьте чудові додатки, ігри, розширення й теми для Google Chrome.</translation>
 <translation id="5139423532931106058">Налаштувати профіль Chrome</translation>
 <translation id="5163087008893166964">Вітаємо в Chrome! Відкрито нове вікно веб-переглядача</translation>
@@ -247,8 +243,6 @@
 <translation id="5940385492829620908">Тут містяться ваші веб-сторінки, закладки та інші дані Chrome.</translation>
 <translation id="5941711191222866238">Згорнути</translation>
 <translation id="5941830788786076944">Зробити Google Chrome переглядачем за промовчанням</translation>
-<translation id="5959292945051687759">Якщо налаштування немає на цій сторінці, пошукайте його в <ph name="LINK_BEGIN" />
-      налаштуваннях ОС Chrome<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Завантаження… Залишилося: <ph name="HOURS" /> год.</translation>
 <translation id="6040143037577758943">Закрити</translation>
 <translation id="6070348360322141662">Щоб підвищити безпеку, Google Chrome шифруватиме ваші дані</translation>
diff --git a/chrome/app/resources/google_chrome_strings_ur.xtb b/chrome/app/resources/google_chrome_strings_ur.xtb
index 5c1fff691..fc57ca0 100644
--- a/chrome/app/resources/google_chrome_strings_ur.xtb
+++ b/chrome/app/resources/google_chrome_strings_ur.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">‏Chrome اپ ڈیٹ نہیں ہو سکتا</translation>
 <translation id="1152920704813762236">‏ChromeOS کے بارے میں</translation>
 <translation id="1154147086299354128">‏Chrome میں &amp;کھولیں</translation>
-<translation id="1178374936842835197">‏اگر اس صفحے پر کوئی ترتیب دکھائی نہیں دیتی ہے تو اپنے <ph name="LINK_BEGIN" />
-        ChromeOS Flex کی ترتیبات<ph name="LINK_END" /> میں دیکھیں</translation>
 <translation id="1203500561924088507">انسٹال کرنے کا شکریہ۔ آپ کو <ph name="BUNDLE_NAME" /> استعمال کرنے سے پہلے اپنا براؤزر لازمی طور سے ری اسٹارٹ کرنا چاہیے۔</translation>
 <translation id="1278833599417554002">‏Chrome&amp; کو اپ ڈیٹ کرنے کیلئے بند کر کے دوبارہ چلائیں</translation>
 <translation id="1302523850133262269">‏Chrome کے ذریعے تازہ ترین سسٹم اپ ڈیٹس کو انسٹال کرتے ہوئے براہ کرم انتظار کریں۔</translation>
@@ -123,7 +121,6 @@
 <translation id="3080151273017101988">‏Google Chrome بند ہونے پر پس منظر کی ایپس چلانا جاری رکھیں</translation>
 <translation id="3089968997497233615">‏Google Chrome کا ایک نیا، محفوظ تر ورژن دستیاب ہے۔</translation>
 <translation id="3100998948628680988">‏اپنی Chrome پروفائل کو نام دیں</translation>
-<translation id="3103390129666310801">‏یہ دیکھنے کے لیے کہ کیا آپ کا آلہ اپ ٹو ڈیٹ ہے، <ph name="LINK_BEGIN" />ChromeOS Flex کی ترتیبات<ph name="LINK_END" /> پر جائیں</translation>
 <translation id="3114643501466072395">‏یہ چیک کرنے کے لئے کہ آیا آپ کے دیگر پاس ورڈز ڈیٹا کی خلاف ورزیوں اور دیگر سیکیورٹی مسائل سے محفوظ ہیں، <ph name="BEGIN_LINK" />Chrome میں سائن ان کریں<ph name="END_LINK" />۔</translation>
 <translation id="3140883423282498090">‏آپ کی تبدیلیاں Google Chrome اگلی بار آپ کے دوبارہ شروع کرنے کے وقت نافذ ہوں گی۔</translation>
 <translation id="3149510190863420837">‏Chrome ایپس</translation>
@@ -214,7 +211,6 @@
 <translation id="4990567037958725628">‏Google Chrome کینیری</translation>
 <translation id="5037581483200764584">‏مستقبل میں Google Chrome اپ ڈیٹس حاصل کرنے کے لیے آپ کو macOS 10.13 یا اس کے بعد کے ورژن کی ضرورت ہوگی۔ یہ کمپیوٹر OS X 10.11 استعمال کرتا ہے۔</translation>
 <translation id="5098668839038261629">‏آن ہونے پر، آپ Chrome سے بھی سائن آؤٹ ہو جائیں گے</translation>
-<translation id="5112116809696021727">‏یہ دیکھنے کی لیے کہ کیا آپ کا آلہ اپ ٹو ڈیٹ ہے <ph name="LINK_BEGIN" />ChromiumOS کی ترتیبات<ph name="LINK_END" /> پر جائیں</translation>
 <translation id="5132929315877954718">‏Google Chrome کیلئے زبردست اطلاقات، گیمز، ایکسٹینشنز اور تھیمز کو دریافت کریں۔</translation>
 <translation id="5139423532931106058">‏اپنی Chrome پروفائل کو حسب ضرورت بنائیں</translation>
 <translation id="5163087008893166964">‏Chrome میں آپ کا استقبال ہے، براؤزر کی نئی ونڈو کھلی</translation>
@@ -254,8 +250,6 @@
 <translation id="5940385492829620908">‏آپ کا ویب، بُک مارکس اور دیگر Chrome مواد یہاں رہتے ہیں۔</translation>
 <translation id="5941711191222866238">چھوٹا کریں</translation>
 <translation id="5941830788786076944">‏Google Chrome کو ڈیفالٹ براؤزر بنائیں</translation>
-<translation id="5959292945051687759">‏اگر اس صفحے پر کوئی ترتیب دکھائی نہیں دیتی ہے تو اپنے <ph name="LINK_BEGIN" />
-        ChromeOS کی ترتیبات<ph name="LINK_END" /> میں دیکھیں</translation>
 <translation id="6003112304606738118">ڈاؤن لوڈ ہو رہی ہے… <ph name="HOURS" /> گھنٹہ(گھنٹے) باقی ہے</translation>
 <translation id="6040143037577758943">بند کریں</translation>
 <translation id="6070348360322141662">‏اضافی سیکیورٹی کیلئے، Google Chrome آپ کا ڈیٹا مرموز کر دے گا</translation>
diff --git a/chrome/app/resources/google_chrome_strings_uz.xtb b/chrome/app/resources/google_chrome_strings_uz.xtb
index 48bfd205..f9e3763 100644
--- a/chrome/app/resources/google_chrome_strings_uz.xtb
+++ b/chrome/app/resources/google_chrome_strings_uz.xtb
@@ -12,8 +12,6 @@
 <translation id="1142745911746664600">Chromeni yangilab bo‘lmadi</translation>
 <translation id="1152920704813762236">ChromeOS haqida</translation>
 <translation id="1154147086299354128">Chrome brauzerida &amp;ochish</translation>
-<translation id="1178374936842835197">Agar sozlama bu sahifada chiqmasa, <ph name="LINK_BEGIN" />
-        ChromeOS Flex sozlamalarini<ph name="LINK_END" /> tekshiring.</translation>
 <translation id="1203500561924088507">Oʻrnatganingiz uchun tashakkur! <ph name="BUNDLE_NAME" />ni ishlatishdan oldin brauzerni qayta ishga tushirishingiz lozim.</translation>
 <translation id="1278833599417554002">&amp;Chrome brauzerini yangilash uchun qayta ishga tushiring</translation>
 <translation id="1302523850133262269">Chrome so‘nggi tizim yangilanishlarini o‘rnatguncha kutib turing.</translation>
@@ -121,7 +119,6 @@
 <translation id="3080151273017101988">Google Chrome yopilishida orqa fon rejimida ishlayotgan ilovalar to‘xtatilmasin</translation>
 <translation id="3089968997497233615">Google Chrome brauzerining yangi, yanada xavfsiz versiyasi chiqdi.</translation>
 <translation id="3100998948628680988">Chrome profilingizga nom bering</translation>
-<translation id="3103390129666310801">Qurilmangiz tizimi yangilanganini <ph name="LINK_BEGIN" />ChromeOS Flex sozlamalari<ph name="LINK_END" /> orqali bilish mumkin</translation>
 <translation id="3114643501466072395">Parollarni axborotlar sizib chiqishi va xavfsizlikka oid boshqa muammolardan himoyalash uchun <ph name="BEGIN_LINK" />Chrome hisobingizga kiring<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">O‘zgartirishlar Google Chrome qaytadan ishga tushirilganda kuchga kiradi.</translation>
 <translation id="3149510190863420837">Chrome ilovalari</translation>
@@ -212,7 +209,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Google Chrome yangilanishlari macOS 10.13 yoki undan yuqori versiyalarda ishlaydi. Bu kompyuterdagi versiya: OS X 10.11.</translation>
 <translation id="5098668839038261629">Bu yoqilsa, Chrome dasturida ham hisobingizdan chiqasiz</translation>
-<translation id="5112116809696021727">Qurilmangiz tizimi yangilanganligini <ph name="LINK_BEGIN" />ChromeOS sozlamalari<ph name="LINK_END" /> orqali bilish mumkin</translation>
 <translation id="5132929315877954718">Google Chrome uchun zo‘r ilovalar, o‘yinlar, kengaytmalar va mavzular bilan tanishing.</translation>
 <translation id="5139423532931106058">Chrome profilingizni sozlang</translation>
 <translation id="5163087008893166964">Chrome brauzeriga xush kelibsiz, yangi oyna ochildi</translation>
@@ -252,9 +248,6 @@
 <translation id="5940385492829620908">Chrome‘dagi barcha veb sahifalar, xatcho‘plar va boshqa ma’lumotlarni bu yerdan topish mumkin.</translation>
 <translation id="5941711191222866238">Yig‘ish</translation>
 <translation id="5941830788786076944">Google Chrome standart brauzer qilib belgilansin</translation>
-<translation id="5959292945051687759">Agar sozlama bu sahifada chiqmasa, <ph name="LINK_BEGIN" />
-
-        ChromeOS sozlamalarini<ph name="LINK_END" /> tekshiring.</translation>
 <translation id="6003112304606738118">Yuklab olinmoqda... <ph name="HOURS" /> soat qoldi</translation>
 <translation id="6040143037577758943">Yopish</translation>
 <translation id="6070348360322141662">Xavfsizlik himoyasini oshirish maqsadida Google Chrome ma’lumotlaringizni shifrlaydi</translation>
diff --git a/chrome/app/resources/google_chrome_strings_vi.xtb b/chrome/app/resources/google_chrome_strings_vi.xtb
index c8eeff1f..93382abe0 100644
--- a/chrome/app/resources/google_chrome_strings_vi.xtb
+++ b/chrome/app/resources/google_chrome_strings_vi.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">Không thể cập nhật Chrome</translation>
 <translation id="1152920704813762236">Giới thiệu về ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Mở trong Chrome</translation>
-<translation id="1178374936842835197">Nếu bạn không thấy một chế độ cài đặt nào đó trên trang này, hãy xem phần <ph name="LINK_BEGIN" />Cài đặt ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Cảm ơn bạn đã cài đặt. Bạn phải khởi động lại trình duyệt trước khi sử dụng <ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Chạy lại để cập nhật &amp;Chrome</translation>
 <translation id="1302523850133262269">Vui lòng đợi khi Chrome cài đặt các bản cập nhật hệ thống mới nhất.</translation>
@@ -121,7 +120,6 @@
 <translation id="3080151273017101988">Tiếp tục chạy các ứng dụng nền khi Google Chrome đóng</translation>
 <translation id="3089968997497233615">Đã có phiên bản Google Chrome mới và an toàn hơn.</translation>
 <translation id="3100998948628680988">Đặt tên cho hồ sơ của bạn trên Chrome</translation>
-<translation id="3103390129666310801">Để kiểm tra xem thiết bị của bạn đã cập nhật hay chưa, hãy chuyển đến phần <ph name="LINK_BEGIN" />Cài đặt ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Để kiểm tra xem các mật khẩu khác của bạn có bị ảnh hưởng bởi các vụ rò rỉ dữ liệu và sự cố bảo mật khác hay không, hãy <ph name="BEGIN_LINK" />đăng nhập vào Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Thay đổi của bạn sẽ có hiệu lực vào lần tiếp theo bạn chạy lại Google Chrome.</translation>
 <translation id="3149510190863420837">Ứng dụng Chrome</translation>
@@ -212,7 +210,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">Để nhận các bản cập nhật Google Chrome sau này, bạn cần có macOS 10.13 trở lên. Máy tính này đang dùng OS X 10.11.</translation>
 <translation id="5098668839038261629">Khi bật, bạn cũng sẽ đăng xuất khỏi Chrome</translation>
-<translation id="5112116809696021727">Để kiểm tra xem thiết bị của bạn đã cập nhật hay chưa, hãy chuyển đến phần <ph name="LINK_BEGIN" />Cài đặt ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Khám phá các ứng dụng, trò chơi, tiện ích và chủ đề tuyệt vời cho Google Chrome.</translation>
 <translation id="5139423532931106058">Tùy chỉnh hồ sơ của bạn trên Chrome</translation>
 <translation id="5163087008893166964">Chào mừng bạn đến với Chrome. Cửa sổ trình duyệt mới đã mở ra</translation>
@@ -250,8 +247,6 @@
 <translation id="5940385492829620908">Web, dấu trang và các nội dung khác của bạn trên Chrome đều có ở đây.</translation>
 <translation id="5941711191222866238">Thu nhỏ</translation>
 <translation id="5941830788786076944">Chọn Google Chrome làm trình duyệt mặc định</translation>
-<translation id="5959292945051687759">Nếu một chế độ cài đặt nào đó không xuất hiện trên trang này, hãy tìm trong phần <ph name="LINK_BEGIN" />
-        Cài đặt ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Đang tải xuống... Còn <ph name="HOURS" /> giờ.</translation>
 <translation id="6040143037577758943">Đóng</translation>
 <translation id="6070348360322141662">Để bảo mật hơn, Google Chrome sẽ mã hóa dữ liệu của bạn</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-CN.xtb b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
index 8e06217..171f22b 100644
--- a/chrome/app/resources/google_chrome_strings_zh-CN.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-CN.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">无法更新 Chrome</translation>
 <translation id="1152920704813762236">关于 ChromeOS</translation>
 <translation id="1154147086299354128">在 Chrome 中打开(&amp;O)</translation>
-<translation id="1178374936842835197">如果此页面中未显示某项设置,请在 <ph name="LINK_BEGIN" />ChromeOS Flex 设置<ph name="LINK_END" />中查找</translation>
 <translation id="1203500561924088507">感谢您完成安装。您必须重启浏览器才能使用 <ph name="BUNDLE_NAME" />。</translation>
 <translation id="1278833599417554002">重新启动以更新 Chrome(&amp;C)</translation>
 <translation id="1302523850133262269">Chrome正在安装最新的系统更新,请稍候。</translation>
@@ -118,7 +117,6 @@
 <translation id="3080151273017101988">关闭 Google Chrome 后继续运行后台应用</translation>
 <translation id="3089968997497233615">Google Chrome 浏览器现已推出更安全的新版本。</translation>
 <translation id="3100998948628680988">请为您的 Chrome 个人资料命名</translation>
-<translation id="3103390129666310801">若想确认您设备上的操作系统是否是最新版本,请前往 <ph name="LINK_BEGIN" />ChromeOS Flex 设置<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">若要检查您的其他密码是否未曾遭遇数据泄露和其他安全问题,请<ph name="BEGIN_LINK" />登录 Chrome<ph name="END_LINK" />。</translation>
 <translation id="3140883423282498090">您所做的更改会在下次重新启动 Google Chrome 时生效。</translation>
 <translation id="3149510190863420837">Chrome 应用</translation>
@@ -209,7 +207,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">若要接收后续 Google Chrome 更新,您需使用 macOS 10.13 或更高版本。该计算机目前使用的是 OS X 10.11。</translation>
 <translation id="5098668839038261629">当此设置处于开启状态时,关闭所有窗口的操作也会致使您退出 Chrome</translation>
-<translation id="5112116809696021727">如需确认您设备上的操作系统是否是最新版本,请前往 <ph name="LINK_BEGIN" />Chrome 操作系统设置<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">查找适用于Google Chrome的精彩应用、游戏、扩展程序和主题背景。</translation>
 <translation id="5139423532931106058">自定义您的 Chrome 个人资料</translation>
 <translation id="5163087008893166964">欢迎使用 Chrome;已打开新的浏览器窗口</translation>
@@ -245,7 +242,6 @@
 <translation id="5940385492829620908">您的上网记录、书签和其他Chrome资料和数据都保存在此处。</translation>
 <translation id="5941711191222866238">最小化</translation>
 <translation id="5941830788786076944">将 Google Chrome 浏览器设为默认浏览器</translation>
-<translation id="5959292945051687759">如果此页面中未显示某项设置,请在 <ph name="LINK_BEGIN" />Chrome 操作系统设置<ph name="LINK_END" />中查找</translation>
 <translation id="6003112304606738118">正在下载…还需 <ph name="HOURS" /> 小时</translation>
 <translation id="6040143037577758943">关闭</translation>
 <translation id="6070348360322141662">为了提高安全性,Google Chrome 将对您的数据进行加密</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-HK.xtb b/chrome/app/resources/google_chrome_strings_zh-HK.xtb
index f09f8e9..b2ac6f9 100644
--- a/chrome/app/resources/google_chrome_strings_zh-HK.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-HK.xtb
@@ -14,7 +14,6 @@
 <translation id="1142745911746664600">無法更新 Chrome</translation>
 <translation id="1152920704813762236">關於 Chrome OS</translation>
 <translation id="1154147086299354128">在 Chrome 中開啟(&amp;O)</translation>
-<translation id="1178374936842835197">如果此頁面沒有顯示設定,請前往 <ph name="LINK_BEGIN" />ChromeOS Flex 設定<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">多謝安裝。您必須先重新啟動瀏覽器,才能使用 <ph name="BUNDLE_NAME" />。</translation>
 <translation id="1278833599417554002">重新啟動以更新 &amp;Chrome</translation>
 <translation id="1302523850133262269">請稍候,Chrome 正在安裝最新的系統更新。</translation>
@@ -122,7 +121,6 @@
 <translation id="3080151273017101988">Google Chrome 關閉時繼續執行背景應用程式</translation>
 <translation id="3089968997497233615">Google Chrome 推出全新版本,安全性更勝從前。</translation>
 <translation id="3100998948628680988">為 Chrome 設定檔命名</translation>
-<translation id="3103390129666310801">如要查看裝置是否已更新,請前往 <ph name="LINK_BEGIN" />ChromeOS Flex 設定<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">如要檢查其他密碼是否安全,且未受資料外洩或其他安全性問題影響,請<ph name="BEGIN_LINK" />登入 Chrome<ph name="END_LINK" />。</translation>
 <translation id="3140883423282498090">您的變更將於下次重新啟動 Google Chrome 時生效。</translation>
 <translation id="3149510190863420837">Chrome 應用程式</translation>
@@ -213,7 +211,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">如要取得日後的 Google Chrome 更新,您將需要 macOS 10.13 或以上版本。此電腦正在使用 OS X 10.11。</translation>
 <translation id="5098668839038261629">開啟時,您亦將會從 Chrome 登出</translation>
-<translation id="5112116809696021727">如要查看裝置是否已更新,請前往 <ph name="LINK_BEGIN" />Chrome OS 設定<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">為您的 Google Chrome 探索各種實用有趣的應用程式、遊戲、擴充功能和主題。</translation>
 <translation id="5139423532931106058">自訂您的 Chrome 設定檔</translation>
 <translation id="5163087008893166964">歡迎使用 Chrome;開咗新瀏覽器視窗</translation>
@@ -253,7 +250,6 @@
 <translation id="5940385492829620908">您的網頁、書籤和其他 Chrome 資料在這裡直播。</translation>
 <translation id="5941711191222866238">最小化</translation>
 <translation id="5941830788786076944">將 Google Chrome 設為預設瀏覽器</translation>
-<translation id="5959292945051687759">如果此頁面沒有顯示設定,請前往 <ph name="LINK_BEGIN" />Chrome OS 設定<ph name="LINK_END" />。</translation>
 <translation id="6003112304606738118">正在下載… 剩餘 <ph name="HOURS" /> 小時</translation>
 <translation id="6040143037577758943">關閉</translation>
 <translation id="6070348360322141662">為提高安全性,Google Chrome 會將您的資料加密</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zh-TW.xtb b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
index 9de9d94..30735cd 100644
--- a/chrome/app/resources/google_chrome_strings_zh-TW.xtb
+++ b/chrome/app/resources/google_chrome_strings_zh-TW.xtb
@@ -12,7 +12,6 @@
 <translation id="1142745911746664600">無法更新 Chrome</translation>
 <translation id="1152920704813762236">關於 Chrome OS</translation>
 <translation id="1154147086299354128">在 Chrome 中開啟(&amp;O)</translation>
-<translation id="1178374936842835197">如果這個頁面上並未顯示你的設定,請檢查 <ph name="LINK_BEGIN" />ChromeOS Flex 設定<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">感謝你安裝本服務。你必須重新啟動瀏覽器,才能使用 <ph name="BUNDLE_NAME" />。</translation>
 <translation id="1278833599417554002">重新啟動以更新 &amp;Chrome</translation>
 <translation id="1302523850133262269">請稍候,Chrome 正在安裝最新的系統更新。</translation>
@@ -119,7 +118,6 @@
 <translation id="3080151273017101988">Google Chrome 關閉時繼續執行背景應用程式</translation>
 <translation id="3089968997497233615">Google Chrome 推出全新版本,安全性更勝以往。</translation>
 <translation id="3100998948628680988">為 Chrome 設定檔命名</translation>
-<translation id="3103390129666310801">如要查看你的裝置是否為最新版,請前往 <ph name="LINK_BEGIN" />ChromeOS Flex 設定<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">如要檢查你其他的密碼是否因資料侵害事件而遭到外洩,或是否有其他安全性問題,<ph name="BEGIN_LINK" />請登入 Chrome<ph name="END_LINK" />。</translation>
 <translation id="3140883423282498090">你的變更將於下次重新啟動 Google Chrome 時生效。</translation>
 <translation id="3149510190863420837">Chrome 應用程式</translation>
@@ -210,7 +208,6 @@
 <translation id="4990567037958725628">Google Chrome Canary</translation>
 <translation id="5037581483200764584">如要取得日後的 Google Chrome 更新,必須使用 macOS 10.13 以上版本。這部電腦目前版本為 OS X 10.11。</translation>
 <translation id="5098668839038261629">如果啟用此選項,系統也會將你從 Chrome 登出</translation>
-<translation id="5112116809696021727">如要查看裝置是否為最新版,請前往 <ph name="LINK_BEGIN" />Chrome OS 設定<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">幫你的 Google Chrome 物色各種實用有趣的應用程式、遊戲、擴充功能和主題。</translation>
 <translation id="5139423532931106058">自訂 Chrome 設定檔</translation>
 <translation id="5163087008893166964">歡迎使用 Chrome;新的瀏覽器視窗已開啟</translation>
@@ -248,7 +245,6 @@
 <translation id="5940385492829620908">你瀏覽的網頁、書籤和其他 Chrome 設定都在這裡。</translation>
 <translation id="5941711191222866238">最小化</translation>
 <translation id="5941830788786076944">使用 Google Chrome 做為我的預設瀏覽器</translation>
-<translation id="5959292945051687759">如果這個頁面上未顯示設定,請檢查 <ph name="LINK_BEGIN" />Chrome OS 設定<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">下載中… 還剩 <ph name="HOURS" /> 小時</translation>
 <translation id="6040143037577758943">關閉</translation>
 <translation id="6070348360322141662">為了提升安全性,Google Chrome 會將你的資料加密保護</translation>
diff --git a/chrome/app/resources/google_chrome_strings_zu.xtb b/chrome/app/resources/google_chrome_strings_zu.xtb
index fb4cd2a..ed049ea76 100644
--- a/chrome/app/resources/google_chrome_strings_zu.xtb
+++ b/chrome/app/resources/google_chrome_strings_zu.xtb
@@ -14,8 +14,6 @@
 <translation id="1142745911746664600">Ayikwazi ukubuyekeza i-Chrome</translation>
 <translation id="1152920704813762236">Mayelana ne-ChromeOS</translation>
 <translation id="1154147086299354128">&amp;Vula ku-Chrome</translation>
-<translation id="1178374936842835197">Uma isethingi ingabonisi kuleli khasi, bheka <ph name="LINK_BEGIN" />
-        kumasethingi wakho we-ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="1203500561924088507">Siyabonga ngokufaka. Kufanele uqale kabusha ibhrawuza yakho ngaphambi kokusebenzisa i-<ph name="BUNDLE_NAME" />.</translation>
 <translation id="1278833599417554002">Qalisa kabusha ukuze ubuyekeze i-&amp;Chrome</translation>
 <translation id="1302523850133262269">Sicela ulinde ngenkathi i-Chrome ifaka izibuyekezo zesistimu zakamuva.</translation>
@@ -124,7 +122,6 @@
 <translation id="3080151273017101988">Qhubeka nokusebenzisa izinhlelo zokusebenza zangemuva ngenkathi i-Google Chrome ivaliwe</translation>
 <translation id="3089968997497233615">Kukhona inguqulo entsha, evikelekile ye-Google Chrome etholakalayo.</translation>
 <translation id="3100998948628680988">Qamba iphrofayela lakho le-Chrome</translation>
-<translation id="3103390129666310801">Ukuze ubone ukuthi idivayisi yakho isesikhathini yini, iya kokuthi <ph name="LINK_BEGIN" />Amasethingi we-ChromeOS Flex<ph name="LINK_END" /></translation>
 <translation id="3114643501466072395">Ukuze uhlole ukuba amanye amaphasiwedi akho aphephile yini kusukela ekuphulweni kwedatha nezinye izinkinga zezokuvikela, <ph name="BEGIN_LINK" />ngena ngemvume ku-Chrome<ph name="END_LINK" />.</translation>
 <translation id="3140883423282498090">Izinguquko zakho zizosebenza ngesikhathi esilandelayo lapho uqalisa kabusha i-Google Chrome.</translation>
 <translation id="3149510190863420837">Izinhlelo zokusebenza ze-Chrome</translation>
@@ -215,7 +212,6 @@
 <translation id="4990567037958725628">I-Canary ye-Google Chrome</translation>
 <translation id="5037581483200764584">Ukuze uthole izibuyekezo zesikhathi esizayo ze-Google Chrome, uzodinga i-macOS 10.13 noma eyakamuva. Le khompuyutha isebenzisa i-OS X 10.11.</translation>
 <translation id="5098668839038261629">Lapho ivuliwe, uzophinde futhi uphume ngemvume ku-Chrome</translation>
-<translation id="5112116809696021727">Ukuze ubone ukuthi idivayisi yakho isesikhathini yini, iya <ph name="LINK_BEGIN" />Kumasethingi we-ChromeOS<ph name="LINK_END" /></translation>
 <translation id="5132929315877954718">Thola izinhlelo zokusebenza ezinhle, amageyimu, izandiso namatimu e-Google Chrome.</translation>
 <translation id="5139423532931106058">Yenza ngokwezifiso iphrofayela yakho ye-Chrome</translation>
 <translation id="5163087008893166964">Siyakwamukela ku-Chrome; iwindi elisha lesiphequluli livuliwe</translation>
@@ -255,8 +251,6 @@
 <translation id="5940385492829620908">Iwebhu yakho, amabhukhimakhi, nezinye izinto ze-Chrome zihlala lapha.</translation>
 <translation id="5941711191222866238">Nciphisa</translation>
 <translation id="5941830788786076944">Yenza i-Google Chrome ibe isiphequluli sokuzenzakalelayo</translation>
-<translation id="5959292945051687759">Uma isethingi ingaveli kuleli khasi, bheka <ph name="LINK_BEGIN" />
-        kumasethingi wakho we-ChromeOS<ph name="LINK_END" /></translation>
 <translation id="6003112304606738118">Iyadawuniloda... Kusele amahora angu-<ph name="HOURS" /></translation>
 <translation id="6040143037577758943">Vala</translation>
 <translation id="6070348360322141662">Ngokuvikela okungeziwe, i-Google Chromium izobethela idatha yakho</translation>
diff --git a/chrome/browser/apps/app_service/intent_util.cc b/chrome/browser/apps/app_service/intent_util.cc
index a9fe3077..02d02c3 100644
--- a/chrome/browser/apps/app_service/intent_util.cc
+++ b/chrome/browser/apps/app_service/intent_util.cc
@@ -892,7 +892,7 @@
               /*host=*/condition_value->value, /*port=*/0);
         }
         break;
-      case apps::ConditionType::kPattern:
+      case apps::ConditionType::kPath:
         for (auto& condition_value : condition->condition_values) {
           arc::mojom::PatternType match_type;
           switch (condition_value->match_type) {
@@ -1026,7 +1026,7 @@
   }
   if (!path_condition_values.empty()) {
     auto path_condition = std::make_unique<apps::Condition>(
-        apps::ConditionType::kPattern, std::move(path_condition_values));
+        apps::ConditionType::kPath, std::move(path_condition_values));
     intent_filter->conditions.push_back(std::move(path_condition));
   }
 
@@ -1136,7 +1136,7 @@
         MakeConditionValue("/", apps::mojom::PatternMatchType::kPrefix));
   }
   if (!path_condition_values.empty()) {
-    auto path_condition = MakeCondition(apps::mojom::ConditionType::kPattern,
+    auto path_condition = MakeCondition(apps::mojom::ConditionType::kPath,
                                         std::move(path_condition_values));
     intent_filter->conditions.push_back(std::move(path_condition));
   }
diff --git a/chrome/browser/apps/app_service/intent_util_unittest.cc b/chrome/browser/apps/app_service/intent_util_unittest.cc
index a5d53e2..332f8e7 100644
--- a/chrome/browser/apps/app_service/intent_util_unittest.cc
+++ b/chrome/browser/apps/app_service/intent_util_unittest.cc
@@ -269,7 +269,7 @@
 
   {
     const Condition& condition = *filter->conditions[3];
-    EXPECT_EQ(condition.condition_type, ConditionType::kPattern);
+    EXPECT_EQ(condition.condition_type, ConditionType::kPath);
     ASSERT_EQ(condition.condition_values.size(), 1U);
     EXPECT_EQ(condition.condition_values[0]->match_type,
               PatternMatchType::kPrefix);
@@ -325,7 +325,7 @@
 
   {
     const apps::mojom::Condition& condition = *filter->conditions[3];
-    EXPECT_EQ(condition.condition_type, apps::mojom::ConditionType::kPattern);
+    EXPECT_EQ(condition.condition_type, apps::mojom::ConditionType::kPath);
     ASSERT_EQ(condition.condition_values.size(), 1U);
     EXPECT_EQ(condition.condition_values[0]->match_type,
               apps::mojom::PatternMatchType::kPrefix);
@@ -1003,7 +1003,7 @@
       apps_util::CreateIntentFilterForArc(filter_with_path);
 
   for (auto& condition : app_service_filter->conditions) {
-    if (condition->condition_type == apps::ConditionType::kPattern) {
+    if (condition->condition_type == apps::ConditionType::kPath) {
       EXPECT_EQ(4u, condition->condition_values.size());
       EXPECT_EQ(apps::ConditionValue("/foo", apps::PatternMatchType::kPrefix),
                 *condition->condition_values[0]);
@@ -1045,7 +1045,7 @@
       apps_util::ConvertArcToAppServiceIntentFilter(filter_with_path);
 
   for (auto& condition : app_service_filter->conditions) {
-    if (condition->condition_type == apps::mojom::ConditionType::kPattern) {
+    if (condition->condition_type == apps::mojom::ConditionType::kPath) {
       EXPECT_EQ(4u, condition->condition_values.size());
       EXPECT_EQ(apps_util::MakeConditionValue(
                     "/foo", apps::mojom::PatternMatchType::kPrefix),
diff --git a/chrome/browser/apps/app_service/publishers/arc_apps_unittest.cc b/chrome/browser/apps/app_service/publishers/arc_apps_unittest.cc
index 5b7d6f6..789ce8b 100644
--- a/chrome/browser/apps/app_service/publishers/arc_apps_unittest.cc
+++ b/chrome/browser/apps/app_service/publishers/arc_apps_unittest.cc
@@ -90,7 +90,7 @@
   values3.push_back(std::make_unique<apps::ConditionValue>(
       "/", apps::PatternMatchType::kPrefix));
   filter->conditions.push_back(std::make_unique<apps::Condition>(
-      apps::ConditionType::kPattern, std::move(values3)));
+      apps::ConditionType::kPath, std::move(values3)));
 
   filters.push_back(std::move(filter));
 
diff --git a/chrome/browser/apps/app_service/publishers/publisher_unittest.cc b/chrome/browser/apps/app_service/publishers/publisher_unittest.cc
index 9416216..57cda243 100644
--- a/chrome/browser/apps/app_service/publishers/publisher_unittest.cc
+++ b/chrome/browser/apps/app_service/publishers/publisher_unittest.cc
@@ -166,7 +166,7 @@
   values4.push_back(std::make_unique<apps::ConditionValue>(
       url.path(), apps::PatternMatchType::kPrefix));
   filter->conditions.push_back(std::make_unique<apps::Condition>(
-      apps::ConditionType::kPattern, std::move(values4)));
+      apps::ConditionType::kPath, std::move(values4)));
 
   filters.push_back(std::move(filter));
 
diff --git a/chrome/browser/ash/BUILD.gn b/chrome/browser/ash/BUILD.gn
index 126602e..da06f5f 100644
--- a/chrome/browser/ash/BUILD.gn
+++ b/chrome/browser/ash/BUILD.gn
@@ -616,8 +616,6 @@
     "borealis/borealis_features.h",
     "borealis/borealis_features_util.cc",
     "borealis/borealis_features_util.h",
-    "borealis/borealis_game_mode_controller.cc",
-    "borealis/borealis_game_mode_controller.h",
     "borealis/borealis_installer.cc",
     "borealis/borealis_installer.h",
     "borealis/borealis_installer_impl.cc",
@@ -1130,6 +1128,8 @@
     "fusebox/fusebox_server.h",
     "fusebox/fusebox_util.cc",
     "fusebox/fusebox_util.h",
+    "game_mode/game_mode_controller.cc",
+    "game_mode/game_mode_controller.h",
     "guest_os/guest_id.cc",
     "guest_os/guest_id.h",
     "guest_os/guest_os_diagnostics_builder.cc",
diff --git a/chrome/browser/ash/borealis/borealis_context.cc b/chrome/browser/ash/borealis/borealis_context.cc
index 6409e6a..8251507 100644
--- a/chrome/browser/ash/borealis/borealis_context.cc
+++ b/chrome/browser/ash/borealis/borealis_context.cc
@@ -19,13 +19,13 @@
 #include "base/time/time.h"
 #include "chrome/browser/ash/borealis/borealis_disk_manager_impl.h"
 #include "chrome/browser/ash/borealis/borealis_engagement_metrics.h"
-#include "chrome/browser/ash/borealis/borealis_game_mode_controller.h"
 #include "chrome/browser/ash/borealis/borealis_metrics.h"
 #include "chrome/browser/ash/borealis/borealis_power_controller.h"
 #include "chrome/browser/ash/borealis/borealis_service.h"
 #include "chrome/browser/ash/borealis/borealis_shutdown_monitor.h"
 #include "chrome/browser/ash/borealis/borealis_util.h"
 #include "chrome/browser/ash/borealis/borealis_window_manager.h"
+#include "chrome/browser/ash/game_mode/game_mode_controller.h"
 #include "chrome/browser/ash/guest_os/guest_os_stability_monitor.h"
 #include "chrome/browser/notifications/notification_display_service.h"
 #include "chrome/grit/generated_resources.h"
@@ -200,7 +200,7 @@
       guest_os_stability_monitor_(
           std::make_unique<guest_os::GuestOsStabilityMonitor>(
               kBorealisStabilityHistogram)),
-      game_mode_controller_(std::make_unique<BorealisGameModeController>()),
+      game_mode_controller_(std::make_unique<game_mode::GameModeController>()),
       engagement_metrics_(std::make_unique<BorealisEngagementMetrics>(profile)),
       disk_manager_(std::make_unique<BorealisDiskManagerImpl>(this)),
       power_controller_(std::make_unique<BorealisPowerController>()) {}
diff --git a/chrome/browser/ash/borealis/borealis_context.h b/chrome/browser/ash/borealis/borealis_context.h
index fc545c4..62a951a 100644
--- a/chrome/browser/ash/borealis/borealis_context.h
+++ b/chrome/browser/ash/borealis/borealis_context.h
@@ -16,11 +16,13 @@
 namespace guest_os {
 class GuestOsStabilityMonitor;
 }
+namespace game_mode {
+class GameModeController;
+}
 namespace borealis {
 
 class BorealisDiskManager;
 class BorealisEngagementMetrics;
-class BorealisGameModeController;
 class BorealisLifetimeObserver;
 class BorealisPowerController;
 
@@ -87,7 +89,7 @@
   std::unique_ptr<guest_os::GuestOsStabilityMonitor>
       guest_os_stability_monitor_;
 
-  std::unique_ptr<BorealisGameModeController> game_mode_controller_;
+  std::unique_ptr<game_mode::GameModeController> game_mode_controller_;
 
   std::unique_ptr<BorealisEngagementMetrics> engagement_metrics_;
 
diff --git a/chrome/browser/ash/bruschetta/bruschetta_launcher.h b/chrome/browser/ash/bruschetta/bruschetta_launcher.h
index 14cec25b..1b37eb5 100644
--- a/chrome/browser/ash/bruschetta/bruschetta_launcher.h
+++ b/chrome/browser/ash/bruschetta/bruschetta_launcher.h
@@ -10,6 +10,7 @@
 #include "base/callback_list.h"
 #include "base/files/file.h"
 #include "base/memory/weak_ptr.h"
+#include "chrome/browser/ash/bruschetta/bruschetta_util.h"
 #include "chrome/browser/ash/guest_os/guest_os_session_tracker.h"
 #include "chromeos/ash/components/dbus/concierge/concierge_service.pb.h"
 #include "chromeos/dbus/dlcservice/dlcservice_client.h"
@@ -19,15 +20,6 @@
 
 namespace bruschetta {
 
-enum class BruschettaResult {
-  kUnknown,
-  kSuccess,
-  kDlcInstallError,
-  kBiosNotAccessible,
-  kStartVmFailed,
-  kTimeout,
-};
-
 // Launches Bruschetta. One instance per VM.
 class BruschettaLauncher {
  public:
diff --git a/chrome/browser/ash/bruschetta/bruschetta_terminal_provider.cc b/chrome/browser/ash/bruschetta/bruschetta_terminal_provider.cc
index b5e8d70..510262f 100644
--- a/chrome/browser/ash/bruschetta/bruschetta_terminal_provider.cc
+++ b/chrome/browser/ash/bruschetta/bruschetta_terminal_provider.cc
@@ -3,6 +3,7 @@
 // found in the LICENSE file.
 
 #include "chrome/browser/ash/bruschetta/bruschetta_terminal_provider.h"
+#include "base/strings/stringprintf.h"
 #include "chrome/browser/ash/bruschetta/bruschetta_launcher.h"
 #include "chrome/browser/ash/bruschetta/bruschetta_service.h"
 #include "chrome/browser/ash/bruschetta/bruschetta_util.h"
@@ -59,8 +60,13 @@
       ->EnsureRunning(base::BindOnce(
           [](base::OnceCallback<void(bool, std::string)> callback,
              BruschettaResult result) {
-            std::move(callback).Run(result == BruschettaResult::kSuccess,
-                                    "Error starting Bruschetta");
+            bool success = (result == BruschettaResult::kSuccess);
+            std::move(callback).Run(
+                success,
+                success ? ""
+                        : base::StringPrintf(
+                              "Error starting bruschetta for terminal: %d (%s)",
+                              result, BruschettaResultString(result)));
           },
           std::move(callback)));
 }
diff --git a/chrome/browser/ash/bruschetta/bruschetta_util.cc b/chrome/browser/ash/bruschetta/bruschetta_util.cc
index 7ce4fb5..bb1bde6 100644
--- a/chrome/browser/ash/bruschetta/bruschetta_util.cc
+++ b/chrome/browser/ash/bruschetta/bruschetta_util.cc
@@ -9,4 +9,20 @@
 const char kBruschettaVmName[] = "bru";
 const char kBruschettaDisplayName[] = "Bruschetta";
 
+const char* BruschettaResultString(const BruschettaResult res) {
+#define ENTRY(name)            \
+  case BruschettaResult::name: \
+    return #name
+  switch (res) {
+    ENTRY(kUnknown);
+    ENTRY(kSuccess);
+    ENTRY(kDlcInstallError);
+    ENTRY(kBiosNotAccessible);
+    ENTRY(kStartVmFailed);
+    ENTRY(kTimeout);
+  }
+#undef ENTRY
+  return "unknown code";
+}
+
 }  // namespace bruschetta
diff --git a/chrome/browser/ash/bruschetta/bruschetta_util.h b/chrome/browser/ash/bruschetta/bruschetta_util.h
index 0c9b24c..7a50bfa 100644
--- a/chrome/browser/ash/bruschetta/bruschetta_util.h
+++ b/chrome/browser/ash/bruschetta/bruschetta_util.h
@@ -10,6 +10,18 @@
 extern const char kBruschettaVmName[];
 extern const char kBruschettaDisplayName[];
 
+enum class BruschettaResult {
+  kUnknown,
+  kSuccess,
+  kDlcInstallError,
+  kBiosNotAccessible,
+  kStartVmFailed,
+  kTimeout,
+};
+
+// Returns the string name of the BruschettaResult.
+const char* BruschettaResultString(const BruschettaResult res);
+
 }  // namespace bruschetta
 
 #endif  // CHROME_BROWSER_ASH_BRUSCHETTA_BRUSCHETTA_UTIL_H_
diff --git a/chrome/browser/ash/bruschetta/fake_bruschetta_launcher.h b/chrome/browser/ash/bruschetta/fake_bruschetta_launcher.h
index e43714d..de3ce10 100644
--- a/chrome/browser/ash/bruschetta/fake_bruschetta_launcher.h
+++ b/chrome/browser/ash/bruschetta/fake_bruschetta_launcher.h
@@ -21,7 +21,7 @@
   void set_ensure_running_result(BruschettaResult result) { result_ = result; }
 
  private:
-  BruschettaResult result_;
+  BruschettaResult result_ = BruschettaResult::kSuccess;
 };
 
 }  // namespace bruschetta
diff --git a/chrome/browser/ash/crosapi/networking_private_ash.cc b/chrome/browser/ash/crosapi/networking_private_ash.cc
index 8fcf1cbc..866de94 100644
--- a/chrome/browser/ash/crosapi/networking_private_ash.cc
+++ b/chrome/browser/ash/crosapi/networking_private_ash.cc
@@ -238,7 +238,7 @@
     return mojom::CaptivePortalStatus::kOnline;
   }
 
-  switch (network->portal_state()) {
+  switch (network->GetPortalState()) {
     case NetworkState::PortalState::kUnknown:
       return mojom::CaptivePortalStatus::kUnknown;
     case NetworkState::PortalState::kOnline:
diff --git a/chrome/browser/ash/borealis/borealis_game_mode_controller.cc b/chrome/browser/ash/game_mode/game_mode_controller.cc
similarity index 78%
rename from chrome/browser/ash/borealis/borealis_game_mode_controller.cc
rename to chrome/browser/ash/game_mode/game_mode_controller.cc
index adc1d1e1..90bead2 100644
--- a/chrome/browser/ash/borealis/borealis_game_mode_controller.cc
+++ b/chrome/browser/ash/game_mode/game_mode_controller.cc
@@ -2,22 +2,24 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ash/borealis/borealis_game_mode_controller.h"
+#include "chrome/browser/ash/game_mode/game_mode_controller.h"
 
 #include "ash/shell.h"
 #include "base/time/time.h"
 #include "chrome/browser/ash/borealis/borealis_metrics.h"
-#include "chrome/browser/ash/borealis/borealis_service.h"
 #include "chrome/browser/ash/borealis/borealis_window_manager.h"
 #include "chromeos/ash/components/dbus/resourced/resourced_client.h"
 #include "ui/views/widget/widget.h"
 
-namespace borealis {
+namespace game_mode {
+
+using borealis::BorealisGameModeResult;
+using borealis::BorealisWindowManager;
 
 constexpr int kRefreshSec = 60;
 constexpr int kTimeoutSec = kRefreshSec + 10;
 
-BorealisGameModeController::BorealisGameModeController() {
+GameModeController::GameModeController() {
   if (!ash::Shell::HasInstance())
     return;
   aura::client::FocusClient* focus_client =
@@ -27,13 +29,13 @@
   OnWindowFocused(focus_client->GetFocusedWindow(), nullptr);
 }
 
-BorealisGameModeController::~BorealisGameModeController() {
+GameModeController::~GameModeController() {
   if (ash::Shell::HasInstance())
     aura::client::GetFocusClient(ash::Shell::GetPrimaryRootWindow())
         ->RemoveObserver(this);
 }
 
-void BorealisGameModeController::OnWindowFocused(aura::Window* gained_focus,
+void GameModeController::OnWindowFocused(aura::Window* gained_focus,
                                                  aura::Window* lost_focus) {
   if (!gained_focus) {
     focused_.reset();
@@ -52,7 +54,7 @@
   }
 }
 
-BorealisGameModeController::WindowTracker::WindowTracker(
+GameModeController::WindowTracker::WindowTracker(
     ash::WindowState* window_state,
     std::unique_ptr<WindowTracker> previous_focus) {
   if (previous_focus && previous_focus->game_mode_) {
@@ -63,15 +65,15 @@
   window_observer_.Observe(window_state->window());
 }
 
-BorealisGameModeController::WindowTracker::~WindowTracker() {}
+GameModeController::WindowTracker::~WindowTracker() {}
 
-void BorealisGameModeController::WindowTracker::OnPostWindowStateTypeChange(
+void GameModeController::WindowTracker::OnPostWindowStateTypeChange(
     ash::WindowState* window_state,
     chromeos::WindowStateType old_type) {
   UpdateGameModeStatus(window_state);
 }
 
-void BorealisGameModeController::WindowTracker::UpdateGameModeStatus(
+void GameModeController::WindowTracker::UpdateGameModeStatus(
     ash::WindowState* window_state) {
   if (!game_mode_ && window_state->IsFullscreen()) {
     game_mode_ = std::make_unique<GameModeEnabler>();
@@ -80,16 +82,16 @@
   }
 }
 
-void BorealisGameModeController::WindowTracker::OnWindowDestroying(
+void GameModeController::WindowTracker::OnWindowDestroying(
     aura::Window* window) {
   window_state_observer_.Reset();
   window_observer_.Reset();
   game_mode_.reset();
 }
 
-bool BorealisGameModeController::GameModeEnabler::should_record_failure;
+bool GameModeController::GameModeEnabler::should_record_failure;
 
-BorealisGameModeController::GameModeEnabler::GameModeEnabler() {
+GameModeController::GameModeEnabler::GameModeEnabler() {
   GameModeEnabler::should_record_failure = true;
   RecordBorealisGameModeResultHistogram(BorealisGameModeResult::kAttempted);
   if (ash::ResourcedClient::Get()) {
@@ -101,7 +103,7 @@
                &GameModeEnabler::RefreshGameMode);
 }
 
-BorealisGameModeController::GameModeEnabler::~GameModeEnabler() {
+GameModeController::GameModeEnabler::~GameModeEnabler() {
   timer_.Stop();
   if (ash::ResourcedClient::Get()) {
     ash::ResourcedClient::Get()->SetGameModeWithTimeout(
@@ -110,7 +112,7 @@
   }
 }
 
-void BorealisGameModeController::GameModeEnabler::RefreshGameMode() {
+void GameModeController::GameModeEnabler::RefreshGameMode() {
   if (ash::ResourcedClient::Get()) {
     ash::ResourcedClient::Get()->SetGameModeWithTimeout(
         ash::ResourcedClient::GameMode::BOREALIS, kTimeoutSec,
@@ -119,7 +121,7 @@
 }
 
 // Previous is whether game mode was enabled previous to this call.
-void BorealisGameModeController::GameModeEnabler::OnSetGameMode(
+void GameModeController::GameModeEnabler::OnSetGameMode(
     bool was_refresh,
     absl::optional<ash::ResourcedClient::GameMode> previous) {
   if (!previous.has_value()) {
@@ -134,4 +136,4 @@
   }
 }
 
-}  // namespace borealis
+}  // namespace game_mode
diff --git a/chrome/browser/ash/borealis/borealis_game_mode_controller.h b/chrome/browser/ash/game_mode/game_mode_controller.h
similarity index 80%
rename from chrome/browser/ash/borealis/borealis_game_mode_controller.h
rename to chrome/browser/ash/game_mode/game_mode_controller.h
index e2b15b3..daf2af35 100644
--- a/chrome/browser/ash/borealis/borealis_game_mode_controller.h
+++ b/chrome/browser/ash/game_mode/game_mode_controller.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 CHROME_BROWSER_ASH_BOREALIS_BOREALIS_GAME_MODE_CONTROLLER_H_
-#define CHROME_BROWSER_ASH_BOREALIS_BOREALIS_GAME_MODE_CONTROLLER_H_
+#ifndef CHROME_BROWSER_ASH_GAME_MODE_GAME_MODE_CONTROLLER_H_
+#define CHROME_BROWSER_ASH_GAME_MODE_GAME_MODE_CONTROLLER_H_
 
 #include "ash/wm/window_state.h"
 #include "ash/wm/window_state_observer.h"
@@ -13,7 +13,7 @@
 #include "ui/aura/client/focus_change_observer.h"
 #include "ui/aura/client/focus_client.h"
 
-namespace borealis {
+namespace game_mode {
 
 // When a borealis window enters full screen, game mode is enabled.
 // The controller works as follows:
@@ -29,13 +29,13 @@
 //         +------"GameMode off"<-----------------+
 //                                No window focused
 //
-class BorealisGameModeController : public aura::client::FocusChangeObserver {
+class GameModeController : public aura::client::FocusChangeObserver {
  public:
-  BorealisGameModeController();
-  BorealisGameModeController(const BorealisGameModeController&) = delete;
-  BorealisGameModeController& operator=(const BorealisGameModeController&) =
+  GameModeController();
+  GameModeController(const GameModeController&) = delete;
+  GameModeController& operator=(const GameModeController&) =
       delete;
-  ~BorealisGameModeController() override;
+  ~GameModeController() override;
 
   // Overridden from FocusChangeObserver
   void OnWindowFocused(aura::Window* gained_focus,
@@ -79,13 +79,13 @@
         window_state_observer_{this};
     base::ScopedObservation<aura::Window, aura::WindowObserver>
         window_observer_{this};
-    std::unique_ptr<BorealisGameModeController::GameModeEnabler> game_mode_;
+    std::unique_ptr<GameModeController::GameModeEnabler> game_mode_;
   };
 
  private:
   std::unique_ptr<WindowTracker> focused_;
 };
 
-}  // namespace borealis
+}  // namespace game_mode
 
-#endif  // CHROME_BROWSER_ASH_BOREALIS_BOREALIS_GAME_MODE_CONTROLLER_H_
+#endif  // CHROME_BROWSER_ASH_GAME_MODE_GAME_MODE_CONTROLLER_H_
diff --git a/chrome/browser/ash/borealis/borealis_game_mode_controller_unittest.cc b/chrome/browser/ash/game_mode/game_mode_controller_unittest.cc
similarity index 83%
rename from chrome/browser/ash/borealis/borealis_game_mode_controller_unittest.cc
rename to chrome/browser/ash/game_mode/game_mode_controller_unittest.cc
index 8385cb2..31fc63f 100644
--- a/chrome/browser/ash/borealis/borealis_game_mode_controller_unittest.cc
+++ b/chrome/browser/ash/game_mode/game_mode_controller_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 "chrome/browser/ash/borealis/borealis_game_mode_controller.h"
+#include "chrome/browser/ash/game_mode/game_mode_controller.h"
 
 #include "base/memory/ptr_util.h"
 #include "base/test/metrics/histogram_tester.h"
@@ -19,12 +19,19 @@
 #include "ui/views/widget/widget.h"
 #include "ui/wm/core/window_util.h"
 
-namespace borealis {
+namespace game_mode {
 namespace {
 
-class BorealisGameModeControllerTest : public ChromeAshTestBase {
+using borealis::BorealisFeatures;
+using borealis::BorealisGameModeResult;
+using borealis::BorealisServiceFake;
+using borealis::BorealisWindowManager;
+using borealis::CreateFakeWidget;
+using borealis::kBorealisGameModeResultHistogram;
+
+class GameModeControllerTest : public ChromeAshTestBase {
  public:
-  BorealisGameModeControllerTest()
+  GameModeControllerTest()
       : ChromeAshTestBase(std::unique_ptr<base::test::TaskEnvironment>(
             std::make_unique<content::BrowserTaskEnvironment>(
                 base::test::TaskEnvironment::TimeSource::MOCK_TIME))) {}
@@ -34,12 +41,15 @@
     ChromeAshTestBase::SetUp();
     fake_resourced_client_ = new ash::FakeResourcedClient();
     profile_ = std::make_unique<TestingProfile>();
-    service_fake_ = BorealisServiceFake::UseFakeForTesting(profile_.get());
-    window_manager_ = std::make_unique<BorealisWindowManager>(profile_.get());
-    service_fake_->SetWindowManagerForTesting(window_manager_.get());
-    game_mode_controller_ = std::make_unique<BorealisGameModeController>();
+    borealis_service_fake_ =
+        BorealisServiceFake::UseFakeForTesting(profile_.get());
+    borealis_window_manager_ =
+        std::make_unique<BorealisWindowManager>(profile_.get());
+    borealis_service_fake_->SetWindowManagerForTesting(
+        borealis_window_manager_.get());
+    game_mode_controller_ = std::make_unique<GameModeController>();
     features_ = std::make_unique<BorealisFeatures>(profile_.get());
-    service_fake_->SetFeaturesForTesting(features_.get());
+    borealis_service_fake_->SetFeaturesForTesting(features_.get());
     histogram_tester_ = std::make_unique<base::HistogramTester>();
   }
 
@@ -51,15 +61,15 @@
   }
 
   std::unique_ptr<TestingProfile> profile_;
-  std::unique_ptr<BorealisWindowManager> window_manager_;
-  std::unique_ptr<BorealisGameModeController> game_mode_controller_;
+  std::unique_ptr<BorealisWindowManager> borealis_window_manager_;
+  std::unique_ptr<GameModeController> game_mode_controller_;
   std::unique_ptr<BorealisFeatures> features_;
-  BorealisServiceFake* service_fake_;
+  BorealisServiceFake* borealis_service_fake_;
   ash::FakeResourcedClient* fake_resourced_client_;
   std::unique_ptr<base::HistogramTester> histogram_tester_;
 };
 
-TEST_F(BorealisGameModeControllerTest, ChangingFullScreenTogglesGameMode) {
+TEST_F(GameModeControllerTest, ChangingFullScreenTogglesGameMode) {
   std::unique_ptr<views::Widget> test_widget =
       CreateFakeWidget("org.chromium.borealis.foo", true);
   aura::Window* window = test_widget->GetNativeWindow();
@@ -71,7 +81,7 @@
   EXPECT_EQ(1, fake_resourced_client_->get_exit_game_mode_count());
 }
 
-TEST_F(BorealisGameModeControllerTest, NonBorealisWindowDoesNotEnterGameMode) {
+TEST_F(GameModeControllerTest, NonBorealisWindowDoesNotEnterGameMode) {
   std::unique_ptr<aura::Window> window = CreateTestWindow();
   views::Widget::GetTopLevelWidgetForNativeView(window.get())
       ->SetFullscreen(true);
@@ -79,7 +89,7 @@
   EXPECT_EQ(0, fake_resourced_client_->get_enter_game_mode_count());
 }
 
-TEST_F(BorealisGameModeControllerTest, SwitchingWindowsTogglesGameMode) {
+TEST_F(GameModeControllerTest, SwitchingWindowsTogglesGameMode) {
   std::unique_ptr<views::Widget> test_widget =
       CreateFakeWidget("org.chromium.borealis.foo", true);
   aura::Window* window = test_widget->GetNativeWindow();
@@ -99,7 +109,7 @@
   EXPECT_EQ(2, fake_resourced_client_->get_enter_game_mode_count());
 }
 
-TEST_F(BorealisGameModeControllerTest, DestroyingWindowExitsGameMode) {
+TEST_F(GameModeControllerTest, DestroyingWindowExitsGameMode) {
   std::unique_ptr<views::Widget> test_widget =
       CreateFakeWidget("org.chromium.borealis.foo", true);
   aura::Window* window = test_widget->GetNativeWindow();
@@ -111,7 +121,7 @@
   EXPECT_EQ(1, fake_resourced_client_->get_exit_game_mode_count());
 }
 
-TEST_F(BorealisGameModeControllerTest, SwitchingWindowsMaintainsGameMode) {
+TEST_F(GameModeControllerTest, SwitchingWindowsMaintainsGameMode) {
   std::unique_ptr<views::Widget> test_widget =
       CreateFakeWidget("org.chromium.borealis.foo", true);
   aura::Window* window = test_widget->GetNativeWindow();
@@ -126,7 +136,7 @@
   EXPECT_EQ(1, fake_resourced_client_->get_enter_game_mode_count());
 }
 
-TEST_F(BorealisGameModeControllerTest, SetGameModeFailureDoesNotCrash) {
+TEST_F(GameModeControllerTest, SetGameModeFailureDoesNotCrash) {
   fake_resourced_client_->set_set_game_mode_with_timeout_response(
       absl::nullopt);
   std::unique_ptr<views::Widget> test_widget =
@@ -137,7 +147,7 @@
   EXPECT_FALSE(ash::WindowState::Get(window)->IsFullscreen());
 }
 
-TEST_F(BorealisGameModeControllerTest, GameModeRefreshes) {
+TEST_F(GameModeControllerTest, GameModeRefreshes) {
   std::unique_ptr<views::Widget> test_widget =
       CreateFakeWidget("org.chromium.borealis.foo", true);
   aura::Window* window = test_widget->GetNativeWindow();
@@ -147,7 +157,7 @@
   EXPECT_EQ(2, fake_resourced_client_->get_enter_game_mode_count());
 }
 
-TEST_F(BorealisGameModeControllerTest, GameModeMetricsRecorded) {
+TEST_F(GameModeControllerTest, GameModeMetricsRecorded) {
   std::unique_ptr<views::Widget> test_widget =
       CreateFakeWidget("org.chromium.borealis.foo", true);
   aura::Window* window = test_widget->GetNativeWindow();
@@ -199,4 +209,4 @@
 }
 
 }  // namespace
-}  // namespace borealis
+}  // namespace game_mode
diff --git a/chrome/browser/ash/login/screens/recommend_apps_screen_browsertest.cc b/chrome/browser/ash/login/screens/recommend_apps_screen_browsertest.cc
index c97ac3d..79cc8fdd 100644
--- a/chrome/browser/ash/login/screens/recommend_apps_screen_browsertest.cc
+++ b/chrome/browser/ash/login/screens/recommend_apps_screen_browsertest.cc
@@ -382,15 +382,14 @@
   WaitForScreenExit();
   EXPECT_EQ(RecommendAppsScreen::Result::SELECTED, screen_result_.value());
 
-  const base::Value* fast_reinstall_packages =
-      ProfileManager::GetActiveUserProfile()->GetPrefs()->Get(
+  const base::Value::List& fast_reinstall_packages =
+      ProfileManager::GetActiveUserProfile()->GetPrefs()->GetValueList(
           arc::prefs::kArcFastAppReinstallPackages);
-  ASSERT_TRUE(fast_reinstall_packages);
 
   base::Value expected_pref_value(base::Value::Type::LIST);
   expected_pref_value.Append("test.app.foo.app1");
   expected_pref_value.Append("test.app.foo.app2");
-  EXPECT_EQ(expected_pref_value, *fast_reinstall_packages);
+  EXPECT_EQ(expected_pref_value, fast_reinstall_packages);
 }
 
 IN_PROC_BROWSER_TEST_P(RecommendAppsScreenTest, SelectionChange) {
@@ -443,14 +442,13 @@
   WaitForScreenExit();
   EXPECT_EQ(RecommendAppsScreen::Result::SELECTED, screen_result_.value());
 
-  const base::Value* fast_reinstall_packages =
-      ProfileManager::GetActiveUserProfile()->GetPrefs()->Get(
+  const base::Value::List& fast_reinstall_packages =
+      ProfileManager::GetActiveUserProfile()->GetPrefs()->GetValueList(
           arc::prefs::kArcFastAppReinstallPackages);
-  ASSERT_TRUE(fast_reinstall_packages);
 
   base::Value expected_pref_value(base::Value::Type::LIST);
   expected_pref_value.Append("test.app.foo.app2");
-  EXPECT_EQ(expected_pref_value, *fast_reinstall_packages);
+  EXPECT_EQ(expected_pref_value, fast_reinstall_packages);
 }
 
 IN_PROC_BROWSER_TEST_P(RecommendAppsScreenTest, SkipWithSelectedApps) {
@@ -495,11 +493,10 @@
   WaitForScreenExit();
   EXPECT_EQ(RecommendAppsScreen::Result::SKIPPED, screen_result_.value());
 
-  const base::Value* fast_reinstall_packages =
-      ProfileManager::GetActiveUserProfile()->GetPrefs()->Get(
+  const base::Value::List& fast_reinstall_packages =
+      ProfileManager::GetActiveUserProfile()->GetPrefs()->GetValueList(
           arc::prefs::kArcFastAppReinstallPackages);
-  ASSERT_TRUE(fast_reinstall_packages);
-  EXPECT_EQ(base::Value(base::Value::Type::LIST), *fast_reinstall_packages);
+  EXPECT_EQ(base::Value(base::Value::Type::LIST), fast_reinstall_packages);
 }
 
 IN_PROC_BROWSER_TEST_P(RecommendAppsScreenTest, SkipWithNoAppsSelected) {
@@ -553,11 +550,10 @@
   WaitForScreenExit();
   EXPECT_EQ(RecommendAppsScreen::Result::SKIPPED, screen_result_.value());
 
-  const base::Value* fast_reinstall_packages =
-      ProfileManager::GetActiveUserProfile()->GetPrefs()->Get(
+  const base::Value::List& fast_reinstall_packages =
+      ProfileManager::GetActiveUserProfile()->GetPrefs()->GetValueList(
           arc::prefs::kArcFastAppReinstallPackages);
-  ASSERT_TRUE(fast_reinstall_packages);
-  EXPECT_EQ(base::Value(base::Value::Type::LIST), *fast_reinstall_packages);
+  EXPECT_EQ(base::Value(base::Value::Type::LIST), fast_reinstall_packages);
 }
 
 IN_PROC_BROWSER_TEST_P(RecommendAppsScreenTest,
@@ -605,11 +601,10 @@
   WaitForScreenExit();
   EXPECT_EQ(RecommendAppsScreen::Result::SKIPPED, screen_result_.value());
 
-  const base::Value* fast_reinstall_packages =
-      ProfileManager::GetActiveUserProfile()->GetPrefs()->Get(
+  const base::Value::List& fast_reinstall_packages =
+      ProfileManager::GetActiveUserProfile()->GetPrefs()->GetValueList(
           arc::prefs::kArcFastAppReinstallPackages);
-  ASSERT_TRUE(fast_reinstall_packages);
-  EXPECT_EQ(base::Value(base::Value::Type::LIST), *fast_reinstall_packages);
+  EXPECT_EQ(base::Value(base::Value::Type::LIST), fast_reinstall_packages);
 }
 
 IN_PROC_BROWSER_TEST_P(RecommendAppsScreenTest, ParseError) {
diff --git a/chrome/browser/ash/net/network_portal_detector_impl.cc b/chrome/browser/ash/net/network_portal_detector_impl.cc
index fe16241..1ab4c8c 100644
--- a/chrome/browser/ash/net/network_portal_detector_impl.cc
+++ b/chrome/browser/ash/net/network_portal_detector_impl.cc
@@ -60,11 +60,10 @@
   return NetworkHandler::Get()->network_state_handler()->DefaultNetwork();
 }
 
-void SetNetworkPortalDetected(const NetworkState* network,
-                              bool portal_detected) {
-  NetworkHandler::Get()
-      ->network_state_handler()
-      ->SetNetworkChromePortalDetected(network->path(), portal_detected);
+void SetNetworkPortalState(const NetworkState* network,
+                           NetworkState::PortalState portal_state) {
+  NetworkHandler::Get()->network_state_handler()->SetNetworkChromePortalState(
+      network->path(), portal_state);
 }
 
 }  // namespace
@@ -152,7 +151,7 @@
     return;
   NET_LOG(EVENT) << "Starting detection attempt:"
                  << " id=" << NetworkId(network);
-  SetNetworkPortalDetected(network, false /* portal_detected */);
+  SetNetworkPortalState(network, NetworkState::PortalState::kUnknown);
   StartDetection();
 }
 
@@ -348,11 +347,27 @@
 
   const NetworkState* network = DefaultNetwork();
 
+  bool shill_is_captive_portal = false;
+  if (network) {
+    switch (network->shill_portal_state()) {
+      case NetworkState::PortalState::kUnknown:
+      case NetworkState::PortalState::kOnline:
+        break;
+      // TODO(b/207069182): Handle each state correctly.
+      case NetworkState::PortalState::kPortalSuspected:
+      case NetworkState::PortalState::kPortal:
+      case NetworkState::PortalState::kProxyAuthRequired:
+      case NetworkState::PortalState::kNoInternet:
+        shill_is_captive_portal = true;
+        break;
+    }
+  }
+
   // If using a fake profile client, also fake being behind a captive portal
   // if the default network is in portal state.
   if (result != captive_portal::RESULT_NO_RESPONSE &&
-      ShillProfileClient::Get()->GetTestInterface() && network &&
-      network->IsShillCaptivePortal()) {
+      ShillProfileClient::Get()->GetTestInterface() &&
+      shill_is_captive_portal) {
     result = captive_portal::RESULT_BEHIND_CAPTIVE_PORTAL;
     response_code = 200;
   }
@@ -365,7 +380,7 @@
     case captive_portal::RESULT_NO_RESPONSE:
       if (response_code == net::HTTP_PROXY_AUTHENTICATION_REQUIRED) {
         status = CAPTIVE_PORTAL_STATUS_PROXY_AUTH_REQUIRED;
-      } else if (network && network->IsShillCaptivePortal()) {
+      } else if (shill_is_captive_portal) {
         // Take into account shill's detection results.
         status = CAPTIVE_PORTAL_STATUS_PORTAL;
       } else {
@@ -456,8 +471,12 @@
   default_portal_status_ = status;
   response_code_for_testing_ = response_code;
   if (network) {
-    SetNetworkPortalDetected(
-        network, status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL);
+    // TODO(b/207069182): Set online and proxy_auth_required also.
+    auto portal_state =
+        status == NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_PORTAL
+            ? NetworkState::PortalState::kPortal
+            : NetworkState::PortalState::kUnknown;
+    SetNetworkPortalState(network, portal_state);
   }
   for (auto& observer : observers_)
     observer.OnPortalDetectionCompleted(network, status);
diff --git a/chrome/browser/ash/policy/reporting/metrics_reporting/network/network_telemetry_sampler_unittest.cc b/chrome/browser/ash/policy/reporting/metrics_reporting/network/network_telemetry_sampler_unittest.cc
index a59ba7f3..5cee7265 100644
--- a/chrome/browser/ash/policy/reporting/metrics_reporting/network/network_telemetry_sampler_unittest.cc
+++ b/chrome/browser/ash/policy/reporting/metrics_reporting/network/network_telemetry_sampler_unittest.cc
@@ -59,7 +59,6 @@
   std::string device_name;
   std::string ip_address;
   std::string gateway;
-  bool is_portal;
   bool is_visible;
   bool is_configured;
 };
@@ -150,10 +149,6 @@
       service_client->SetServiceProperty(
           service_path, shill::kSignalStrengthProperty,
           base::Value(network_data.signal_strength));
-      ash::NetworkHandler::Get()
-          ->network_state_handler()
-          ->SetNetworkChromePortalDetected(service_path,
-                                           network_data.is_portal);
       service_client->SetServiceProperty(service_path, shill::kDeviceProperty,
                                          base::Value(device_path));
       base::DictionaryValue ip_config_properties;
@@ -192,8 +187,8 @@
   const std::vector<FakeNetworkData> networks_data = {
       {"guid1", shill::kStateReady, shill::kTypeCellular,
        0 /* signal_strength */, "cellular0", "192.168.86.25" /* ip_address */,
-       "192.168.86.1" /* gateway */, false /* is_portal */,
-       true /* is_visible */, true /* is_configured */}};
+       "192.168.86.1" /* gateway */, true /* is_visible */,
+       true /* is_configured */}};
 
   SetNetworkData(networks_data);
   NetworkTelemetrySampler network_telemetry_sampler(
@@ -259,7 +254,7 @@
   // Signal strength should be ignored for non wifi networks even if it is set.
   const std::vector<FakeNetworkData> networks_data = {
       {"guid1", shill::kStateIdle, shill::kTypeCellular, kSignalStrength,
-       "cellular0", "" /* ip_address */, "" /* gateway */, true /* is_portal */,
+       "cellular0", "" /* ip_address */, "" /* gateway */,
        true /* is_visible */, true /* is_configured */}};
 
   SetNetworkData(networks_data);
@@ -276,7 +271,7 @@
   const std::vector<FakeNetworkData> networks_data = {
       {"guid1", shill::kStateIdle, shill::kTypeWifi, 0 /* signal_strength */,
        kInterfaceName, "" /* ip_address */, "" /* gateway */,
-       true /* is_portal */, false /* is_visible */, true /* is_configured */}};
+       false /* is_visible */, true /* is_configured */}};
 
   SetNetworkData(networks_data);
   NetworkTelemetrySampler network_telemetry_sampler(
@@ -292,8 +287,8 @@
   const std::vector<FakeNetworkData> networks_data = {
       {"guid1", shill::kStateRedirectFound, shill::kTypeEthernet,
        0 /* signal_strength */, "eth0", "192.168.86.25" /* ip_address */,
-       "192.168.86.1" /* gateway */, true /* is_portal */,
-       true /* is_visible */, true /* is_configured */}};
+       "192.168.86.1" /* gateway */, true /* is_visible */,
+       true /* is_configured */}};
 
   SetNetworkData(networks_data);
   NetworkTelemetrySampler network_telemetry_sampler(
@@ -348,8 +343,8 @@
   const std::vector<FakeNetworkData> networks_data = {
       {"guid1", shill::kStateOnline, shill::kTypeEthernet,
        0 /* signal_strength */, "eth0", "192.168.86.25" /* ip_address */,
-       "192.168.86.1" /* gateway */, true /* is_portal */,
-       true /* is_visible */, true /* is_configured */}};
+       "192.168.86.1" /* gateway */, true /* is_visible */,
+       true /* is_configured */}};
 
   SetNetworkData(networks_data);
   https_latency_sampler_->SetMetricData(absl::nullopt);
@@ -406,15 +401,15 @@
   const std::vector<FakeNetworkData> networks_data = {
       {"guid1", shill::kStateReady, shill::kTypeWifi, 10 /* signal_strength */,
        "wlan0", "192.168.86.25" /* ip_address */, "192.168.86.1" /* gateway */,
-       false /* is_portal */, true /* is_visible */, false /* is_configured */},
+       true /* is_visible */, false /* is_configured */},
       {"guid2", shill::kStateOnline, shill::kTypeWifi, 50 /* signal_strength */,
        kInterfaceName, "192.168.86.26" /* ip_address */,
-       "192.168.86.2" /* gateway */, false /* is_portal */,
-       true /* is_visible */, true /* is_configured */},
+       "192.168.86.2" /* gateway */, true /* is_visible */,
+       true /* is_configured */},
       {"guid3", shill::kStateReady, ::chromeos::kTypeTether,
        0 /* signal_strength */, "tether1", "192.168.86.27" /* ip_address */,
-       "192.168.86.3" /* gateway */, false /* is_portal */,
-       true /* is_visible */, true /* is_configured */}};
+       "192.168.86.3" /* gateway */, true /* is_visible */,
+       true /* is_configured */}};
 
   SetNetworkData(networks_data);
 
@@ -520,7 +515,7 @@
   const std::vector<FakeNetworkData> networks_data = {
       {"guid1", shill::kStateIdle, shill::kTypeWifi, kSignalStrength,
        kInterfaceName, "" /* ip_address */, "" /* gateway */,
-       false /* is_portal */, true /* is_visible */, true /* is_configured */}};
+       true /* is_visible */, true /* is_configured */}};
 
   SetNetworkData(networks_data);
   network_handler_test_helper_.ConfigureService(
diff --git a/chrome/browser/back_press/android/java/src/org/chromium/chrome/browser/back_press/BackPressManager.java b/chrome/browser/back_press/android/java/src/org/chromium/chrome/browser/back_press/BackPressManager.java
index 2281d2ce..f86993a 100644
--- a/chrome/browser/back_press/android/java/src/org/chromium/chrome/browser/back_press/BackPressManager.java
+++ b/chrome/browser/back_press/android/java/src/org/chromium/chrome/browser/back_press/BackPressManager.java
@@ -14,6 +14,9 @@
 import org.chromium.components.browser_ui.widget.gesture.BackPressHandler;
 import org.chromium.components.browser_ui.widget.gesture.BackPressHandler.Type;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  * A central manager class to handle the back gesture. Every component/feature which is going to
  * intercept the back press event must implement the {@link BackPressHandler} and be registered
@@ -21,10 +24,35 @@
  * In order to register a Handler:
  * 1. Implement {@link BackPressHandler}.
  * 2. Add a new {@link Type} which implies the order of intercepting.
- * 3. Call {@link #addHandler(BackPressHandler, int)} to register the implementer of
+ * 3. Add a new value in {@link #sMetricsMap} which stands for the histograms.
+ * 4. Call {@link #addHandler(BackPressHandler, int)} to register the implementer of
  * {@link BackPressHandler} with the new defined {@link Type}.
  */
 public class BackPressManager {
+    @VisibleForTesting
+    static final Map<Integer, Integer> sMetricsMap = new HashMap() {
+        {
+            put(Type.TEXT_BUBBLE, 0);
+            put(Type.VR_DELEGATE, 1);
+            put(Type.AR_DELEGATE, 2);
+            put(Type.SCENE_OVERLAY, 3);
+            put(Type.START_SURFACE_MEDIATOR, 4);
+            put(Type.SELECTION_POPUP, 5);
+            put(Type.MANUAL_FILLING, 6);
+            put(Type.FULLSCREEN, 7);
+            put(Type.BOTTOM_SHEET, 8);
+            put(Type.TAB_MODAL_HANDLER, 9);
+            put(Type.TAB_SWITCHER_TO_BROWSING, 10);
+            put(Type.CLOSE_WATCHER, 11);
+            put(Type.TOOLBAR_TAB_CONTROLLER, 12);
+            put(Type.TAB_RETURN_TO_CHROME_START_SURFACE, 13);
+            put(Type.SHOW_READING_LIST, 14);
+            put(Type.MINIMIZE_APP_AND_CLOSE_TAB, 15);
+            put(Type.FIND_TOOLBAR, 16);
+            // Add new one here.
+        }
+    };
+
     private final OnBackPressedCallback mCallback = new OnBackPressedCallback(false) {
         @Override
         public void handleOnBackPressed() {
@@ -53,7 +81,7 @@
      * @param type The {@link Type} which consumes the back press event.
      */
     public static void record(@Type int type) {
-        RecordHistogram.recordEnumeratedHistogram(HISTOGRAM, type, Type.NUM_TYPES);
+        RecordHistogram.recordEnumeratedHistogram(HISTOGRAM, sMetricsMap.get(type), Type.NUM_TYPES);
     }
 
     /**
diff --git a/chrome/browser/back_press/android/java/src/org/chromium/chrome/browser/back_press/BackPressManagerTest.java b/chrome/browser/back_press/android/java/src/org/chromium/chrome/browser/back_press/BackPressManagerTest.java
index b2b863d..debd0c6e 100644
--- a/chrome/browser/back_press/android/java/src/org/chromium/chrome/browser/back_press/BackPressManagerTest.java
+++ b/chrome/browser/back_press/android/java/src/org/chromium/chrome/browser/back_press/BackPressManagerTest.java
@@ -50,11 +50,14 @@
     @Test
     @SmallTest
     public void testBasic() {
-        HistogramDelta d1 = new HistogramDelta(BackPressManager.HISTOGRAM, 0);
+        HistogramDelta d1 = new HistogramDelta(BackPressManager.HISTOGRAM,
+                BackPressManager.sMetricsMap.get(BackPressHandler.Type.FIND_TOOLBAR));
+
         BackPressManager manager = new BackPressManager();
         EmptyBackPressHandler h1 =
                 TestThreadUtils.runOnUiThreadBlockingNoException(EmptyBackPressHandler::new);
-        TestThreadUtils.runOnUiThreadBlocking(() -> { manager.addHandler(h1, 0); });
+        TestThreadUtils.runOnUiThreadBlocking(
+                () -> { manager.addHandler(h1, BackPressHandler.Type.FIND_TOOLBAR); });
 
         manager.getCallback().handleOnBackPressed();
 
@@ -77,16 +80,18 @@
     @Test
     @SmallTest
     public void testMultipleHandlers() {
-        HistogramDelta d1 = new HistogramDelta(BackPressManager.HISTOGRAM, 0);
-        HistogramDelta d2 = new HistogramDelta(BackPressManager.HISTOGRAM, 1);
+        HistogramDelta d1 = new HistogramDelta(BackPressManager.HISTOGRAM,
+                BackPressManager.sMetricsMap.get(BackPressHandler.Type.VR_DELEGATE));
+        HistogramDelta d2 = new HistogramDelta(BackPressManager.HISTOGRAM,
+                BackPressManager.sMetricsMap.get(BackPressHandler.Type.AR_DELEGATE));
         BackPressManager manager = new BackPressManager();
         EmptyBackPressHandler h1 =
                 TestThreadUtils.runOnUiThreadBlockingNoException(EmptyBackPressHandler::new);
         EmptyBackPressHandler h2 =
                 TestThreadUtils.runOnUiThreadBlockingNoException(EmptyBackPressHandler::new);
         TestThreadUtils.runOnUiThreadBlocking(() -> {
-            manager.addHandler(h1, 0);
-            manager.addHandler(h2, 1);
+            manager.addHandler(h1, BackPressHandler.Type.VR_DELEGATE);
+            manager.addHandler(h2, BackPressHandler.Type.AR_DELEGATE);
             h1.getHandleBackPressChangedSupplier().set(false);
             h2.getHandleBackPressChangedSupplier().set(true);
         });
diff --git a/chrome/browser/chromeos/BUILD.gn b/chrome/browser/chromeos/BUILD.gn
index b61624c..834cbaa2 100644
--- a/chrome/browser/chromeos/BUILD.gn
+++ b/chrome/browser/chromeos/BUILD.gn
@@ -2849,7 +2849,6 @@
     "../ash/borealis/borealis_disk_manager_dispatcher_unittest.cc",
     "../ash/borealis/borealis_disk_manager_unittest.cc",
     "../ash/borealis/borealis_features_unittest.cc",
-    "../ash/borealis/borealis_game_mode_controller_unittest.cc",
     "../ash/borealis/borealis_installer_unittest.cc",
     "../ash/borealis/borealis_launch_watcher_unittest.cc",
     "../ash/borealis/borealis_power_controller_unittest.cc",
@@ -3009,6 +3008,7 @@
     "../ash/file_system_provider/throttled_file_system_unittest.cc",
     "../ash/fusebox/fusebox_moniker_unittest.cc",
     "../ash/fusebox/fusebox_util_unittest.cc",
+    "../ash/game_mode/game_mode_controller_unittest.cc",
     "../ash/guest_os/guest_id_unittest.cc",
     "../ash/guest_os/guest_os_diagnostics_builder_unittest.cc",
     "../ash/guest_os/guest_os_external_protocol_handler_unittest.cc",
@@ -3828,6 +3828,13 @@
   ]
 }
 
+proto_library("lock_unlock_event_proto") {
+  sources = [ "../policy/messaging_layer/proto/synced/lock_unlock_event.proto" ]
+  deps = [
+    "//chrome/browser/policy/messaging_layer/proto:session_affiliated_user",
+  ]
+}
+
 proto_library("user_event_reporter_testing_record_proto") {
   sources =
       [ "../ash/policy/reporting/user_event_reporter_testing_record.proto" ]
diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service_factory.cc b/chrome/browser/first_party_sets/first_party_sets_policy_service_factory.cc
index 82df44e..2126d773 100644
--- a/chrome/browser/first_party_sets/first_party_sets_policy_service_factory.cc
+++ b/chrome/browser/first_party_sets/first_party_sets_policy_service_factory.cc
@@ -32,6 +32,22 @@
   return base::Singleton<FirstPartySetsPolicyServiceFactory>::get();
 }
 
+// static
+const base::Value::Dict* FirstPartySetsPolicyServiceFactory::GetPolicyIfEnabled(
+    const Profile& profile) {
+  if (profile.IsSystemProfile() || profile.IsGuestSession())
+    return nullptr;
+
+  if (!profile.GetPrefs()->GetBoolean(
+          first_party_sets::kFirstPartySetsEnabled) ||
+      !base::FeatureList::IsEnabled(features::kFirstPartySets)) {
+    return nullptr;
+  }
+
+  return &profile.GetPrefs()->GetValueDict(
+      first_party_sets::kFirstPartySetsOverrides);
+}
+
 FirstPartySetsPolicyServiceFactory::FirstPartySetsPolicyServiceFactory()
     : BrowserContextKeyedServiceFactory(
           "FirstPartySetsPolicyService",
@@ -49,21 +65,11 @@
 KeyedService* FirstPartySetsPolicyServiceFactory::BuildServiceInstanceFor(
     content::BrowserContext* context) const {
   Profile* profile = Profile::FromBrowserContext(context);
-  if (profile->IsSystemProfile() || profile->IsGuestSession())
-    return nullptr;
-
-  if (!profile->GetPrefs()->GetBoolean(
-          first_party_sets::kFirstPartySetsEnabled) ||
-      !base::FeatureList::IsEnabled(features::kFirstPartySets)) {
+  if (const base::Value::Dict* policy = GetPolicyIfEnabled(*profile); policy) {
+    return new FirstPartySetsPolicyService(context, *policy);
+  } else {
     return nullptr;
   }
-
-  const base::Value* policy = profile->GetPrefs()->GetDictionary(
-      first_party_sets::kFirstPartySetsOverrides);
-  if (!policy)
-    return nullptr;
-
-  return new FirstPartySetsPolicyService(context, policy->GetDict());
 }
 
 bool FirstPartySetsPolicyServiceFactory::ServiceIsCreatedWithBrowserContext()
@@ -71,7 +77,6 @@
   return true;
 }
 
-// static
 void FirstPartySetsPolicyServiceFactory::RegisterProfilePrefs(
     user_prefs::PrefRegistrySyncable* registry) {
   registry->RegisterBooleanPref(kFirstPartySetsEnabled, true);
diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service_factory.h b/chrome/browser/first_party_sets/first_party_sets_policy_service_factory.h
index 9b9f9abf..17f69ee8 100644
--- a/chrome/browser/first_party_sets/first_party_sets_policy_service_factory.h
+++ b/chrome/browser/first_party_sets/first_party_sets_policy_service_factory.h
@@ -6,6 +6,7 @@
 #define CHROME_BROWSER_FIRST_PARTY_SETS_FIRST_PARTY_SETS_POLICY_SERVICE_FACTORY_H_
 
 #include "base/memory/singleton.h"
+#include "base/values.h"
 #include "components/keyed_service/content/browser_context_keyed_service_factory.h"
 
 namespace content {
@@ -37,6 +38,14 @@
 
   static FirstPartySetsPolicyServiceFactory* GetInstance();
 
+  // Checks the criteria for applying the First-Party Sets Overrides policy
+  // and returns a pointer to a representation of the policy if all criteria are
+  // met. If not, this method returns a nullptr.
+  //
+  // The returned pointer has the same lifetime as anything returned by the
+  // PrefService.
+  static const base::Value::Dict* GetPolicyIfEnabled(const Profile& profile);
+
  private:
   friend struct base::DefaultSingletonTraits<
       FirstPartySetsPolicyServiceFactory>;
diff --git a/chrome/browser/first_party_sets/first_party_sets_policy_service_factory_unittest.cc b/chrome/browser/first_party_sets/first_party_sets_policy_service_factory_unittest.cc
new file mode 100644
index 0000000..ba8efb2
--- /dev/null
+++ b/chrome/browser/first_party_sets/first_party_sets_policy_service_factory_unittest.cc
@@ -0,0 +1,97 @@
+// Copyright 2022 The Chromium 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/first_party_sets/first_party_sets_policy_service_factory.h"
+
+#include "base/json/json_reader.h"
+#include "base/test/scoped_feature_list.h"
+#include "chrome/browser/first_party_sets/first_party_sets_policy_service.h"
+#include "chrome/browser/first_party_sets/first_party_sets_pref_names.h"
+#include "chrome/test/base/testing_profile.h"
+#include "components/prefs/pref_service.h"
+#include "content/public/common/content_features.h"
+#include "content/public/test/browser_task_environment.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace first_party_sets {
+
+class FirstPartySetsPolicyServiceFactoryTest : public testing::Test {
+ public:
+  FirstPartySetsPolicyServiceFactoryTest() = default;
+
+ private:
+  content::BrowserTaskEnvironment env_;
+};
+
+TEST_F(FirstPartySetsPolicyServiceFactoryTest, DisabledForGuestProfiles) {
+  TestingProfile::Builder builder;
+  builder.SetGuestSession();
+  std::unique_ptr<TestingProfile> profile = builder.Build();
+
+  EXPECT_EQ(FirstPartySetsPolicyServiceFactory::GetPolicyIfEnabled(*profile),
+            nullptr);
+}
+
+TEST_F(FirstPartySetsPolicyServiceFactoryTest, DisabledByFeature) {
+  base::test::ScopedFeatureList features;
+  features.InitAndDisableFeature(features::kFirstPartySets);
+  TestingProfile profile;
+
+  EXPECT_EQ(FirstPartySetsPolicyServiceFactory::GetPolicyIfEnabled(profile),
+            nullptr);
+}
+
+TEST_F(FirstPartySetsPolicyServiceFactoryTest, DisabledByPolicy) {
+  base::test::ScopedFeatureList features;
+  features.InitAndEnableFeature(features::kFirstPartySets);
+  TestingProfile profile;
+
+  profile.GetPrefs()->SetBoolean(first_party_sets::kFirstPartySetsEnabled,
+                                 false);
+  EXPECT_EQ(FirstPartySetsPolicyServiceFactory::GetPolicyIfEnabled(profile),
+            nullptr);
+}
+
+TEST_F(FirstPartySetsPolicyServiceFactoryTest, EnabledWithPolicy) {
+  base::test::ScopedFeatureList features;
+  features.InitAndEnableFeature(features::kFirstPartySets);
+  TestingProfile profile;
+
+  base::Value empty_lists = base::JSONReader::Read(R"(
+             {
+                "replacements": [],
+                "additions": []
+              }
+            )")
+                                .value();
+  base::Value expected_policy = empty_lists.Clone();
+  profile.GetPrefs()->SetBoolean(first_party_sets::kFirstPartySetsEnabled,
+                                 true);
+  profile.GetPrefs()->SetDict(first_party_sets::kFirstPartySetsOverrides,
+                              std::move(empty_lists.GetDict()));
+
+  const base::Value::Dict* policy =
+      FirstPartySetsPolicyServiceFactory::GetPolicyIfEnabled(profile);
+  ASSERT_NE(policy, nullptr);
+  EXPECT_TRUE(*policy == expected_policy.GetDict());
+}
+
+TEST_F(FirstPartySetsPolicyServiceFactoryTest,
+       OffTheRecordProfile_SameServiceAsOriginalProfile) {
+  base::test::ScopedFeatureList features;
+  features.InitAndEnableFeature(features::kFirstPartySets);
+  TestingProfile profile;
+
+  FirstPartySetsPolicyService* service =
+      FirstPartySetsPolicyServiceFactory::GetForBrowserContext(&profile);
+
+  auto otr_profile_id = Profile::OTRProfileID::CreateUniqueForTesting();
+  ASSERT_NE(service, nullptr);
+  EXPECT_EQ(service,
+            FirstPartySetsPolicyServiceFactory::GetForBrowserContext(
+                profile.GetOffTheRecordProfile(otr_profile_id,
+                                               /*create_if_needed=*/true)));
+}
+
+}  // namespace first_party_sets
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 9e244342..17024838 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -979,21 +979,11 @@
     "expiry_milestone": 105
   },
   {
-    "name": "content-suggestions-header-migration",
-    "owners": [ "thegreenfrog@google.com", "adamta@google.com" ],
-    "expiry_milestone": 105
-  },
-  {
     "name": "content-suggestions-ui-module-refresh",
     "owners": [ "thegreenfrog@google.com", "bling-flags@google.com" ],
     "expiry_milestone": 108
   },
   {
-    "name": "content-suggestions-uiviewcontroller-migration",
-    "owners": [ "thegreenfrog@google.com", "adamta@google.com" ],
-    "expiry_milestone": 106
-  },
-  {
     "name": "context-menu-popup-style",
     "owners": [ "wenyufu", "clank-app-team@google.com" ],
     "expiry_milestone": 108
@@ -4704,6 +4694,11 @@
     "expiry_milestone": 110
   },
   {
+    "name": "omnibox-keyboard-paste-button",
+    "owners": ["christianxu", "stkhapugin", "chrome-omnibox-team@google.com" ],
+    "expiry_milestone": 110
+  },
+  {
     "name": "omnibox-max-url-matches",
     "owners": [ "orinj", "chrome-omnibox-team@google.com" ],
     "expiry_milestone": 110
@@ -5816,11 +5811,6 @@
     "expiry_milestone": 106
   },
   {
-    "name": "single-cell-content-suggestions",
-    "owners": [ "thegreenfrog@google.com", "sczs@google.com"],
-    "expiry_milestone": 106
-  },
-  {
     "name": "single-ntp",
     "owners": [ "thegreenfrog@google.com", "sczs@google.com"],
     "expiry_milestone": 106
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
index b621e4e..945e3006 100644
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/CachedFeatureFlags.java
@@ -51,6 +51,7 @@
                     .put(ChromeFeatureList.ANONYMOUS_UPDATE_CHECKS, true)
                     .put(ChromeFeatureList.APP_MENU_MOBILE_SITE_OPTION, false)
                     .put(ChromeFeatureList.BACK_GESTURE_REFACTOR, false)
+                    .put(ChromeFeatureList.CCT_BRAND_TRANSPARENCY, false)
                     .put(ChromeFeatureList.CCT_INCOGNITO, true)
                     .put(ChromeFeatureList.CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false)
                     .put(ChromeFeatureList.CCT_REMOVE_REMOTE_VIEW_IDS, true)
diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
index ed78d54..3d23092 100644
--- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
+++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java
@@ -246,6 +246,7 @@
             "CacheDeprecatedSystemLocationSetting";
     public static final String CAPTIVE_PORTAL_CERTIFICATE_LIST = "CaptivePortalCertificateList";
     public static final String CCT_BACKGROUND_TAB = "CCTBackgroundTab";
+    public static final String CCT_BRAND_TRANSPARENCY = "CCTBrandTransparency";
     public static final String CCT_CLIENT_DATA_HEADER = "CCTClientDataHeader";
     public static final String CCT_INCOGNITO = "CCTIncognito";
     public static final String CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY =
@@ -600,6 +601,8 @@
             new CachedFlag(APP_MENU_MOBILE_SITE_OPTION, false);
     public static final CachedFlag sBackGestureRefactorAndroid =
             new CachedFlag(BACK_GESTURE_REFACTOR, false);
+    public static final CachedFlag sCctBrandTransparency =
+            new CachedFlag(CCT_BRAND_TRANSPARENCY, false);
     public static final CachedFlag sCctIncognito = new CachedFlag(CCT_INCOGNITO, true);
     public static final CachedFlag sCctIncognitoAvailableToThirdParty =
             new CachedFlag(CCT_INCOGNITO_AVAILABLE_TO_THIRD_PARTY, false);
diff --git a/chrome/browser/hid/chrome_hid_delegate_unittest.cc b/chrome/browser/hid/chrome_hid_delegate_unittest.cc
new file mode 100644
index 0000000..9866bd05
--- /dev/null
+++ b/chrome/browser/hid/chrome_hid_delegate_unittest.cc
@@ -0,0 +1,763 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/guid.h"
+#include "base/test/repeating_test_future.h"
+#include "base/test/test_future.h"
+#include "build/build_config.h"
+#include "chrome/browser/hid/hid_chooser_context.h"
+#include "chrome/browser/hid/hid_chooser_context_factory.h"
+#include "chrome/browser/prefs/browser_prefs.h"
+#include "chrome/test/base/chrome_render_view_host_test_harness.h"
+#include "chrome/test/base/testing_browser_process.h"
+#include "chrome/test/base/testing_profile.h"
+#include "chrome/test/base/testing_profile_manager.h"
+#include "content/public/browser/web_contents.h"
+#include "content/public/test/back_forward_cache_util.h"
+#include "content/public/test/web_contents_tester.h"
+#include "extensions/buildflags/buildflags.h"
+#include "services/device/public/cpp/test/fake_hid_manager.h"
+#include "services/device/public/cpp/test/hid_test_util.h"
+#include "services/device/public/cpp/test/test_report_descriptors.h"
+#include "services/device/public/mojom/hid.mojom.h"
+#include "testing/gmock/include/gmock/gmock.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/blink/public/mojom/hid/hid.mojom.h"
+
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+#include "base/command_line.h"
+#include "chrome/browser/extensions/extension_service.h"
+#include "chrome/browser/extensions/test_extension_system.h"
+#include "extensions/browser/extension_registry.h"
+#include "extensions/common/extension.h"
+#include "extensions/common/extension_builder.h"
+#include "extensions/common/value_builder.h"
+#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+#include "chrome/browser/ash/login/users/fake_chrome_user_manager.h"
+#include "components/account_id/account_id.h"
+#include "components/user_manager/scoped_user_manager.h"
+#endif
+
+namespace {
+
+using ::base::test::RepeatingTestFuture;
+using ::base::test::TestFuture;
+using ::testing::ElementsAre;
+using ::testing::NiceMock;
+using ::testing::UnorderedElementsAre;
+
+constexpr base::StringPiece kDefaultTestUrl{"https://www.google.com"};
+constexpr base::StringPiece kCrossOriginTestUrl{"https://www.chromium.org"};
+
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+constexpr base::StringPiece kPrivilegedExtensionId{
+    "ckcendljdlmgnhghiaomidhiiclmapok"};
+#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+
+MATCHER_P(HasGuid, matcher, "") {
+  return ExplainMatchResult(matcher, arg->guid, result_listener);
+}
+
+device::mojom::HidDeviceInfoPtr CreateFakeDevice() {
+  auto device = device::CreateDeviceFromReportDescriptor(
+      /*vendor_id=*/0x1234, /*product_id=*/0xabcd,
+      device::TestReportDescriptors::JabraLink380c());
+
+  // Ensure `serial_number` is unique.
+  device->serial_number = device->guid;
+
+  return device;
+}
+
+// Create a partially-initialized device.
+device::mojom::HidDeviceInfoPtr CreateIncompleteFakeDevice() {
+  auto device = CreateFakeDevice();
+  EXPECT_GT(device->collections.size(), 1u);
+  device->collections.pop_back();
+  return device;
+}
+
+device::mojom::HidDeviceInfoPtr CreateFakeFidoDevice() {
+  return device::CreateDeviceFromReportDescriptor(
+      /*vendor_id=*/0x1234,
+      /*product_id=*/0xabcd, device::TestReportDescriptors::FidoU2fHid());
+}
+
+// A mock HidManagerClient implementation that can be used to listen for HID
+// device connection events.
+class MockHidManagerClient : public HidChooserContext::HidManagerClient {
+ public:
+  MockHidManagerClient() = default;
+  MockHidManagerClient(const MockHidManagerClient&) = delete;
+  MockHidManagerClient& operator=(const MockHidManagerClient&) = delete;
+  ~MockHidManagerClient() override = default;
+
+  mojo::PendingAssociatedRemote<HidManagerClient> BindReceiverAndPassRemote() {
+    auto client = receiver_.BindNewEndpointAndPassRemote();
+    receiver_.set_disconnect_handler(base::BindOnce(
+        &MockHidManagerClient::OnConnectionError, base::Unretained(this)));
+    return client;
+  }
+
+  MOCK_METHOD1(DeviceAdded, void(device::mojom::HidDeviceInfoPtr));
+  MOCK_METHOD1(DeviceRemoved, void(device::mojom::HidDeviceInfoPtr));
+  MOCK_METHOD1(DeviceChanged, void(device::mojom::HidDeviceInfoPtr));
+  MOCK_METHOD0(OnHidChooserContextShutdown, void());
+  MOCK_METHOD0(ConnectionError, void());
+  void OnConnectionError() {
+    receiver_.reset();
+    ConnectionError();
+  }
+
+ private:
+  mojo::AssociatedReceiver<HidManagerClient> receiver_{this};
+};
+
+// A fake HidConnectionClient implementation.
+class FakeHidConnectionClient : public device::mojom::HidConnectionClient {
+ public:
+  FakeHidConnectionClient() = default;
+  FakeHidConnectionClient(FakeHidConnectionClient&) = delete;
+  FakeHidConnectionClient& operator=(FakeHidConnectionClient&) = delete;
+  ~FakeHidConnectionClient() override = default;
+
+  void Bind(
+      mojo::PendingReceiver<device::mojom::HidConnectionClient> receiver) {
+    receiver_.Bind(std::move(receiver));
+  }
+
+  // mojom::HidConnectionClient:
+  void OnInputReport(uint8_t report_id,
+                     const std::vector<uint8_t>& buffer) override {}
+
+ private:
+  mojo::Receiver<device::mojom::HidConnectionClient> receiver_{this};
+};
+
+class ChromeHidDelegateTest : public ChromeRenderViewHostTestHarness {
+ public:
+  ChromeHidDelegateTest() = default;
+  ChromeHidDelegateTest(const ChromeHidDelegateTest&) = delete;
+  ChromeHidDelegateTest& operator=(const ChromeHidDelegateTest&) = delete;
+  ~ChromeHidDelegateTest() override = default;
+
+  void SetUp() override {
+    ChromeRenderViewHostTestHarness::SetUp();
+
+    // On ChromeOS a user account is needed in order to check whether the user
+    // account is affiliated with the device owner for the purposes of applying
+    // enterprise policy.
+    constexpr char kTestUserEmail[] = "user@example.com";
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+    constexpr char kTestUserGaiaId[] = "1111111111";
+    auto fake_user_manager = std::make_unique<ash::FakeChromeUserManager>();
+    auto* fake_user_manager_ptr = fake_user_manager.get();
+    scoped_user_manager_ = std::make_unique<user_manager::ScopedUserManager>(
+        std::move(fake_user_manager));
+
+    auto account_id =
+        AccountId::FromUserEmailGaiaId(kTestUserEmail, kTestUserGaiaId);
+    fake_user_manager_ptr->AddUser(account_id);
+    fake_user_manager_ptr->LoginUser(account_id);
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
+    profile_manager_ = std::make_unique<TestingProfileManager>(
+        TestingBrowserProcess::GetGlobal());
+    ASSERT_TRUE(profile_manager_->SetUp());
+    profile_ = profile_manager_->CreateTestingProfile(kTestUserEmail);
+    ASSERT_TRUE(profile_);
+    // Create a new web contents for `profile_`.
+    SetContents(
+        content::WebContentsTester::CreateTestWebContents(profile_, nullptr));
+
+    NavigateAndCommit(GURL(kDefaultTestUrl));
+    BindHidManager();
+  }
+
+  void TearDown() override {
+    DeleteContents();
+    profile_manager_->DeleteAllTestingProfiles();
+    profile_manager_.reset();
+    profile_ = nullptr;
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+    scoped_user_manager_.reset();
+#endif
+
+    ChromeRenderViewHostTestHarness::TearDown();
+  }
+
+ protected:
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+  // Creates a fake extension with the specified `extension_id` so that it can
+  // exercise behaviors that are only enabled for privileged extensions.
+  absl::optional<GURL> CreateExtensionWithId(base::StringPiece extension_id) {
+    extensions::DictionaryBuilder manifest;
+    manifest.Set("name", "Fake extension")
+        .Set("description", "For testing.")
+        .Set("version", "0.1")
+        .Set("manifest_version", 2)
+        .Set("web_accessible_resources",
+             extensions::ListBuilder().Append("index.html").Build());
+    scoped_refptr<const extensions::Extension> extension =
+        extensions::ExtensionBuilder()
+            .SetManifest(manifest.Build())
+            .SetID(std::string(extension_id))
+            .Build();
+    if (!extension) {
+      return absl::nullopt;
+    }
+    extensions::TestExtensionSystem* extension_system =
+        static_cast<extensions::TestExtensionSystem*>(
+            extensions::ExtensionSystem::Get(profile_));
+    extensions::ExtensionService* extension_service =
+        extension_system->CreateExtensionService(
+            base::CommandLine::ForCurrentProcess(), base::FilePath(), false);
+    extension_service->AddExtension(extension.get());
+    return extension->GetResourceURL("index.html");
+  }
+#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
+
+  void ConnectToService(
+      mojo::PendingReceiver<blink::mojom::HidService> receiver) {
+    content::RenderFrameHostTester::For(main_rfh())
+        ->CreateHidServiceForTesting(std::move(receiver));
+  }
+
+  void SimulateDeviceServiceCrash() {
+    hid_manager_->SimulateConnectionError();
+    hid_manager_.reset();
+    base::RunLoop().RunUntilIdle();
+
+    // Re-bind a new fake HidManager so tests don't create a real one.
+    BindHidManager();
+  }
+
+  void AddDevice(const device::mojom::HidDeviceInfoPtr& device) {
+    hid_manager_->AddDevice(device.Clone());
+  }
+
+  void ChangeDevice(const device::mojom::HidDeviceInfoPtr& device) {
+    hid_manager_->ChangeDevice(device.Clone());
+  }
+
+  void RemoveDevice(const device::mojom::HidDeviceInfoPtr& device) {
+    hid_manager_->RemoveDevice(device->guid);
+  }
+
+  HidChooserContext* GetChooserContext() {
+    return HidChooserContextFactory::GetForProfile(profile_);
+  }
+
+ private:
+  void BindHidManager() {
+    EXPECT_FALSE(hid_manager_);
+    hid_manager_ = std::make_unique<device::FakeHidManager>();
+    mojo::PendingRemote<device::mojom::HidManager> pending_remote;
+    hid_manager_->Bind(pending_remote.InitWithNewPipeAndPassReceiver());
+    TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+    GetChooserContext()->SetHidManagerForTesting(std::move(pending_remote),
+                                                 devices_future.GetCallback());
+    EXPECT_TRUE(devices_future.Wait());
+  }
+
+  std::unique_ptr<device::FakeHidManager> hid_manager_;
+  std::unique_ptr<TestingProfileManager> profile_manager_;
+  raw_ptr<Profile> profile_ = nullptr;
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  std::unique_ptr<user_manager::ScopedUserManager> scoped_user_manager_;
+#endif
+};
+
+}  // namespace
+
+TEST_F(ChromeHidDelegateTest, AddChangeRemoveDevice) {
+  const auto origin = url::Origin::Create(GURL(kDefaultTestUrl));
+
+  // Connect a device with one of its collections missing.
+  auto incomplete_device = CreateIncompleteFakeDevice();
+  AddDevice(incomplete_device);
+
+  // Grant permission to access `incomplete_device` from `origin`.
+  GetChooserContext()->GrantDevicePermission(origin, *incomplete_device);
+
+  // Create the HidService and register a `mock_client` to receive
+  // notifications on device connections and disconnections.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+  NiceMock<MockHidManagerClient> mock_client;
+  hid_service->RegisterClient(mock_client.BindReceiverAndPassRemote());
+
+  // Call GetDevices to ensure the service is started and the client is set.
+  {
+    TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+    hid_service->GetDevices(devices_future.GetCallback());
+    ASSERT_THAT(devices_future.Get(),
+                ElementsAre(HasGuid(incomplete_device->guid)));
+    EXPECT_EQ(devices_future.Get().front()->collections.size(),
+              incomplete_device->collections.size());
+  }
+
+  // Update the device with the missing collection.
+  auto complete_device = CreateFakeDevice();
+  complete_device->guid = incomplete_device->guid;
+  complete_device->serial_number = incomplete_device->serial_number;
+  TestFuture<device::mojom::HidDeviceInfoPtr> device_changed_future;
+  EXPECT_CALL(mock_client, DeviceChanged).WillOnce([&](auto d) {
+    device_changed_future.SetValue(std::move(d));
+  });
+  ChangeDevice(complete_device);
+  EXPECT_EQ(device_changed_future.Get()->guid, complete_device->guid);
+
+  // Call GetDevices and make sure there is still only one device with the same
+  // `guid` but the complete device info is returned.
+  {
+    TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+    hid_service->GetDevices(devices_future.GetCallback());
+    ASSERT_THAT(devices_future.Get(),
+                ElementsAre(HasGuid(incomplete_device->guid)));
+    EXPECT_EQ(devices_future.Get().front()->collections.size(),
+              complete_device->collections.size());
+  }
+
+  // Disconnect the devices. The `mock_client` should be notified.
+  TestFuture<device::mojom::HidDeviceInfoPtr> device_removed_future;
+  EXPECT_CALL(mock_client, DeviceRemoved).WillOnce([&](auto d) {
+    device_removed_future.SetValue(std::move(d));
+  });
+  RemoveDevice(incomplete_device);
+  EXPECT_EQ(device_removed_future.Get()->guid, incomplete_device->guid);
+
+  // Reconnect the device. The `mock_client` should be notified.
+  TestFuture<device::mojom::HidDeviceInfoPtr> device_added_future;
+  EXPECT_CALL(mock_client, DeviceAdded).WillOnce([&](auto d) {
+    device_added_future.SetValue(std::move(d));
+  });
+  AddDevice(complete_device);
+  EXPECT_EQ(device_added_future.Get()->guid, incomplete_device->guid);
+}
+
+TEST_F(ChromeHidDelegateTest, NoPermissionDevice) {
+  const auto origin = url::Origin::Create(GURL(kDefaultTestUrl));
+
+  // Connect two devices.
+  auto allowed_device1 = CreateFakeDevice();
+  AddDevice(allowed_device1);
+  auto other_device1 = CreateFakeDevice();
+  AddDevice(other_device1);
+
+  // Grant permission to access `allowed_device1` from `origin`.
+  GetChooserContext()->GrantDevicePermission(origin, *allowed_device1);
+
+  // Create the HidService and register a `mock_client` to receive
+  // notifications on device connections and disconnections.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+  NiceMock<MockHidManagerClient> mock_client;
+  hid_service->RegisterClient(mock_client.BindReceiverAndPassRemote());
+
+  // Call GetDevices to ensure the service is started and the client is set.
+  TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+  hid_service->GetDevices(devices_future.GetCallback());
+  EXPECT_THAT(devices_future.Get(),
+              ElementsAre(HasGuid(allowed_device1->guid)));
+
+  // Connect two more devices.
+  auto allowed_device2 = CreateFakeDevice();
+  AddDevice(allowed_device2);
+  auto other_device2 = CreateFakeDevice();
+  AddDevice(other_device2);
+
+  // Grant permission to access `allowed_device2` from `origin`.
+  GetChooserContext()->GrantDevicePermission(origin, *allowed_device2);
+
+  // Disconnect all four devices. The `mock_client` should be notified only for
+  // the devices it has permission to access.
+  RepeatingTestFuture<device::mojom::HidDeviceInfoPtr> device_removed_future;
+  EXPECT_CALL(mock_client, DeviceRemoved).Times(2).WillRepeatedly([&](auto d) {
+    device_removed_future.AddValue(std::move(d));
+  });
+  RemoveDevice(allowed_device1);
+  RemoveDevice(allowed_device2);
+  RemoveDevice(other_device1);
+  RemoveDevice(other_device2);
+  EXPECT_EQ(device_removed_future.Take()->guid, allowed_device1->guid);
+  EXPECT_EQ(device_removed_future.Take()->guid, allowed_device2->guid);
+
+  // Reconnect all four devices. The `mock_client` should be notified only for
+  // the devices it has permission to access.
+  RepeatingTestFuture<device::mojom::HidDeviceInfoPtr> device_added_future;
+  EXPECT_CALL(mock_client, DeviceAdded).Times(2).WillRepeatedly([&](auto d) {
+    device_added_future.AddValue(std::move(d));
+  });
+  AddDevice(allowed_device1);
+  AddDevice(allowed_device2);
+  AddDevice(other_device1);
+  AddDevice(other_device2);
+  EXPECT_EQ(device_added_future.Take()->guid, allowed_device1->guid);
+  EXPECT_EQ(device_added_future.Take()->guid, allowed_device2->guid);
+}
+
+TEST_F(ChromeHidDelegateTest, ReconnectHidService) {
+  const auto origin = url::Origin::Create(GURL(kDefaultTestUrl));
+
+  // Connect two devices. Configure `ephemeral_device` with no serial number so
+  // it is not eligible for persistent permissions.
+  auto device = CreateFakeDevice();
+  auto ephemeral_device = CreateFakeDevice();
+  ephemeral_device->serial_number = "";
+  AddDevice(device);
+  AddDevice(ephemeral_device);
+
+  // Grant permission for `origin` to access both devices. `device` is eligible
+  // for persistent permissions and `ephemeral_device` is only eligible for
+  // ephemeral permissions.
+  GetChooserContext()->GrantDevicePermission(origin, *device);
+  GetChooserContext()->GrantDevicePermission(origin, *ephemeral_device);
+
+  // Create the HidService and register a `mock_client` to receive
+  // notifications on device connections and disconnections. Call `GetDevices`
+  // to ensure the service is started and the client is set.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+  NiceMock<MockHidManagerClient> mock_client;
+  hid_service->RegisterClient(mock_client.BindReceiverAndPassRemote());
+  {
+    TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+    hid_service->GetDevices(devices_future.GetCallback());
+    EXPECT_THAT(devices_future.Get(),
+                UnorderedElementsAre(HasGuid(device->guid),
+                                     HasGuid(ephemeral_device->guid)));
+  }
+
+  // Both permissions are granted.
+  EXPECT_TRUE(GetChooserContext()->HasDevicePermission(origin, *device));
+  EXPECT_TRUE(
+      GetChooserContext()->HasDevicePermission(origin, *ephemeral_device));
+
+  // Simulate a device service crash.
+  base::RunLoop loop;
+  EXPECT_CALL(mock_client, ConnectionError).WillOnce([&]() { loop.Quit(); });
+  SimulateDeviceServiceCrash();
+  loop.Run();
+
+  // The ephemeral permission is revoked.
+  EXPECT_TRUE(GetChooserContext()->HasDevicePermission(origin, *device));
+  EXPECT_FALSE(
+      GetChooserContext()->HasDevicePermission(origin, *ephemeral_device));
+
+  // Add a new device eligible for persistent permissions.
+  auto another_device = CreateFakeDevice();
+  AddDevice(another_device);
+  EXPECT_CALL(mock_client, DeviceAdded).Times(0);
+  base::RunLoop().RunUntilIdle();
+
+  // Grant the device permission while the service is off.
+  GetChooserContext()->GrantDevicePermission(origin, *another_device);
+
+  // `mock_client` is not notified when `device` is removed because the service
+  // is off.
+  RemoveDevice(device);
+  EXPECT_CALL(mock_client, DeviceRemoved).Times(0);
+  base::RunLoop().RunUntilIdle();
+
+  // Reconnect the service.
+  hid_service.reset();
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+  hid_service->RegisterClient(mock_client.BindReceiverAndPassRemote());
+  {
+    TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+    hid_service->GetDevices(devices_future.GetCallback());
+    EXPECT_THAT(devices_future.Get(),
+                ElementsAre(HasGuid(another_device->guid)));
+  }
+
+  // The persistent permissions are still granted.
+  EXPECT_TRUE(GetChooserContext()->HasDevicePermission(origin, *device));
+  EXPECT_TRUE(
+      GetChooserContext()->HasDevicePermission(origin, *another_device));
+  EXPECT_FALSE(
+      GetChooserContext()->HasDevicePermission(origin, *ephemeral_device));
+}
+
+TEST_F(ChromeHidDelegateTest, RevokeDevicePermission) {
+  const auto origin = url::Origin::Create(GURL(kDefaultTestUrl));
+
+  // Connect a device.
+  auto device = CreateFakeDevice();
+  AddDevice(device);
+
+  // Create the `HidService`.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+
+  // Call GetDevices to ensure the service is started.
+  TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+  hid_service->GetDevices(devices_future.GetCallback());
+  EXPECT_TRUE(devices_future.Get().empty());
+
+  // Grant permission to access the connected device.
+  GetChooserContext()->GrantDevicePermission(origin, *device);
+  auto objects = GetChooserContext()->GetGrantedObjects(origin);
+  ASSERT_EQ(1u, objects.size());
+
+  // Open a connection to `device`.
+  FakeHidConnectionClient connection_client;
+  mojo::PendingRemote<device::mojom::HidConnectionClient> hid_connection_client;
+  connection_client.Bind(
+      hid_connection_client.InitWithNewPipeAndPassReceiver());
+  TestFuture<mojo::PendingRemote<device::mojom::HidConnection>>
+      pending_remote_future;
+  hid_service->Connect(device->guid, std::move(hid_connection_client),
+                       pending_remote_future.GetCallback());
+  mojo::Remote<device::mojom::HidConnection> connection;
+  connection.Bind(pending_remote_future.Take());
+  ASSERT_TRUE(connection);
+
+  // Revoke the permission. The device should be disconnected.
+  base::RunLoop disconnect_loop;
+  connection.set_disconnect_handler(disconnect_loop.QuitClosure());
+  GetChooserContext()->RevokeDevicePermission(origin, *device);
+  disconnect_loop.Run();
+}
+
+TEST_F(ChromeHidDelegateTest, RevokeDevicePermissionEphemeral) {
+  const auto origin = url::Origin::Create(GURL(kDefaultTestUrl));
+
+  // Connect a device. Configure it with no serial number so it is not eligible
+  // for persistent permissions.
+  auto device = CreateFakeDevice();
+  device->serial_number = "";
+  AddDevice(device);
+
+  // Create the `HidService`.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+
+  // Call GetDevices to ensure the service is started.
+  TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+  hid_service->GetDevices(devices_future.GetCallback());
+  EXPECT_TRUE(devices_future.Get().empty());
+
+  // Grant permission to access the connected device.
+  GetChooserContext()->GrantDevicePermission(origin, *device);
+  auto objects = GetChooserContext()->GetGrantedObjects(origin);
+  ASSERT_EQ(1u, objects.size());
+
+  // Open a connection to `device`.
+  FakeHidConnectionClient connection_client;
+  mojo::PendingRemote<device::mojom::HidConnectionClient> hid_connection_client;
+  connection_client.Bind(
+      hid_connection_client.InitWithNewPipeAndPassReceiver());
+  TestFuture<mojo::PendingRemote<device::mojom::HidConnection>>
+      pending_remote_future;
+  hid_service->Connect(device->guid, std::move(hid_connection_client),
+                       pending_remote_future.GetCallback());
+  mojo::Remote<device::mojom::HidConnection> connection;
+  connection.Bind(pending_remote_future.Take());
+  ASSERT_TRUE(connection);
+
+  // Revoke the permission. The device should be disconnected.
+  base::RunLoop disconnect_loop;
+  connection.set_disconnect_handler(disconnect_loop.QuitClosure());
+  GetChooserContext()->RevokeDevicePermission(origin, *device);
+  disconnect_loop.Run();
+}
+
+TEST_F(ChromeHidDelegateTest, ConnectAndDisconnect) {
+  const auto origin = url::Origin::Create(GURL(kDefaultTestUrl));
+
+  // Create the `HidService`.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+
+  // Connect a device.
+  auto device = CreateFakeDevice();
+  AddDevice(device);
+
+  // Grant permission to access `device` from `origin`.
+  GetChooserContext()->GrantDevicePermission(origin, *device);
+
+  // Call `GetDevices` and expect the device to be returned.
+  TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+  hid_service->GetDevices(devices_future.GetCallback());
+  EXPECT_THAT(devices_future.Take(), ElementsAre(HasGuid(device->guid)));
+
+  // The `WebContents` should not indicate we are connected to a device.
+  EXPECT_FALSE(web_contents()->IsConnectedToHidDevice());
+
+  // Open a connection to `device`.
+  FakeHidConnectionClient connection_client;
+  mojo::PendingRemote<device::mojom::HidConnectionClient> hid_connection_client;
+  connection_client.Bind(
+      hid_connection_client.InitWithNewPipeAndPassReceiver());
+  TestFuture<mojo::PendingRemote<device::mojom::HidConnection>>
+      pending_remote_future;
+  hid_service->Connect(device->guid, std::move(hid_connection_client),
+                       pending_remote_future.GetCallback());
+  mojo::Remote<device::mojom::HidConnection> connection;
+  connection.Bind(pending_remote_future.Take());
+  ASSERT_TRUE(connection);
+
+  // Now the `WebContents` should indicate we are connected to a device.
+  EXPECT_TRUE(web_contents()->IsConnectedToHidDevice());
+
+  // Close `connection` and check that the `WebContents` no longer indicates we
+  // are connected.
+  connection.reset();
+  base::RunLoop().RunUntilIdle();
+
+  EXPECT_FALSE(web_contents()->IsConnectedToHidDevice());
+}
+
+TEST_F(ChromeHidDelegateTest, ConnectAndRemove) {
+  const auto origin = url::Origin::Create(GURL(kDefaultTestUrl));
+
+  // Create the `HidService`.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+
+  // Connect a device.
+  auto device = CreateFakeDevice();
+  AddDevice(device);
+
+  // Grant permission to access `device` from `origin`.
+  GetChooserContext()->GrantDevicePermission(origin, *device);
+
+  // Call `GetDevices` and expect the device to be returned.
+  TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+  hid_service->GetDevices(devices_future.GetCallback());
+  EXPECT_THAT(devices_future.Take(), ElementsAre(HasGuid(device->guid)));
+
+  // The `WebContents` should not indicate we are connected to a device.
+  EXPECT_FALSE(web_contents()->IsConnectedToHidDevice());
+
+  // Open a connection to `device`.
+  FakeHidConnectionClient connection_client;
+  mojo::PendingRemote<device::mojom::HidConnectionClient> hid_connection_client;
+  connection_client.Bind(
+      hid_connection_client.InitWithNewPipeAndPassReceiver());
+  TestFuture<mojo::PendingRemote<device::mojom::HidConnection>>
+      pending_remote_future;
+  hid_service->Connect(device->guid, std::move(hid_connection_client),
+                       pending_remote_future.GetCallback());
+  mojo::Remote<device::mojom::HidConnection> connection;
+  connection.Bind(pending_remote_future.Take());
+  ASSERT_TRUE(connection);
+
+  // Now the `WebContents` should indicate we are connected to a device.
+  EXPECT_TRUE(web_contents()->IsConnectedToHidDevice());
+
+  // Remove `device` and check that the `WebContents` no longer indicates we are
+  // connected.
+  RemoveDevice(device);
+  base::RunLoop().RunUntilIdle();
+
+  EXPECT_FALSE(web_contents()->IsConnectedToHidDevice());
+}
+
+TEST_F(ChromeHidDelegateTest, ConnectAndNavigateCrossDocument) {
+  // The test assumes the previous page gets deleted after navigation,
+  // disconnecting the device. Disable back/forward cache to ensure that it
+  // doesn't get preserved in the cache.
+  // TODO(crbug.com/1346021): Integrate WebHID with bfcache and remove this.
+  content::DisableBackForwardCacheForTesting(
+      web_contents(), content::BackForwardCache::TEST_REQUIRES_NO_CACHING);
+
+  const auto origin = url::Origin::Create(GURL(kDefaultTestUrl));
+
+  // Create the `HidService`.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+
+  // Connect a device.
+  auto device = CreateFakeDevice();
+  AddDevice(device);
+
+  // Grant permission to access `device` from `origin`.
+  GetChooserContext()->GrantDevicePermission(origin, *device);
+
+  // Call `GetDevices` and expect the device to be returned.
+  TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+  hid_service->GetDevices(devices_future.GetCallback());
+  EXPECT_THAT(devices_future.Take(), ElementsAre(HasGuid(device->guid)));
+
+  // The `WebContents` should not indicate we are connected to a device.
+  EXPECT_FALSE(web_contents()->IsConnectedToHidDevice());
+
+  // Open a connection to `device`.
+  FakeHidConnectionClient connection_client;
+  mojo::PendingRemote<device::mojom::HidConnectionClient> hid_connection_client;
+  connection_client.Bind(
+      hid_connection_client.InitWithNewPipeAndPassReceiver());
+  TestFuture<mojo::PendingRemote<device::mojom::HidConnection>>
+      pending_remote_future;
+  hid_service->Connect(device->guid, std::move(hid_connection_client),
+                       pending_remote_future.GetCallback());
+  mojo::Remote<device::mojom::HidConnection> connection;
+  connection.Bind(pending_remote_future.Take());
+  ASSERT_TRUE(connection);
+
+  // Now the `WebContents` should indicate we are connected to a device.
+  EXPECT_TRUE(web_contents()->IsConnectedToHidDevice());
+
+  // Perform a cross-document navigation. The `WebContents` should no longer
+  // indicate we are connected.
+  NavigateAndCommit(GURL(kCrossOriginTestUrl));
+  base::RunLoop().RunUntilIdle();
+
+  EXPECT_FALSE(web_contents()->IsConnectedToHidDevice());
+}
+
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+TEST_F(ChromeHidDelegateTest, FidoDeviceAllowedWithPrivilegedOrigin) {
+  // Create an extension with an allowlisted extension ID.
+  absl::optional<GURL> privileged_url =
+      CreateExtensionWithId(kPrivilegedExtensionId);
+  ASSERT_TRUE(privileged_url);
+
+  const auto privileged_origin = url::Origin::Create(*privileged_url);
+
+  // Connect a FIDO device.
+  auto device = CreateFakeFidoDevice();
+  AddDevice(device);
+
+  // Grant permission to access `device` from `privileged_origin`.
+  GetChooserContext()->GrantDevicePermission(privileged_origin, *device);
+
+  // Navigate to `privileged_url` so the current frame is privileged.
+  NavigateAndCommit(*privileged_url);
+
+  // Create the `HidService`.
+  mojo::Remote<blink::mojom::HidService> hid_service;
+  ConnectToService(hid_service.BindNewPipeAndPassReceiver());
+
+  // Call `GetDevices` and expect the device to be returned.
+  TestFuture<std::vector<device::mojom::HidDeviceInfoPtr>> devices_future;
+  hid_service->GetDevices(devices_future.GetCallback());
+  EXPECT_THAT(devices_future.Take(), ElementsAre(HasGuid(device->guid)));
+
+  // The `WebContents` should not indicate we are connected to a device.
+  EXPECT_FALSE(web_contents()->IsConnectedToHidDevice());
+
+  // Open a connection to `device`.
+  FakeHidConnectionClient connection_client;
+  mojo::PendingRemote<device::mojom::HidConnectionClient> hid_connection_client;
+  connection_client.Bind(
+      hid_connection_client.InitWithNewPipeAndPassReceiver());
+  TestFuture<mojo::PendingRemote<device::mojom::HidConnection>>
+      pending_remote_future;
+  hid_service->Connect(device->guid, std::move(hid_connection_client),
+                       pending_remote_future.GetCallback());
+  mojo::Remote<device::mojom::HidConnection> connection;
+  connection.Bind(pending_remote_future.Take());
+  ASSERT_TRUE(connection);
+
+  // Now the `WebContents` should indicate we are connected to a device.
+  EXPECT_TRUE(web_contents()->IsConnectedToHidDevice());
+}
+#endif  // BUILDFLAG(ENABLE_EXTENSIONS)
diff --git a/chrome/browser/hid/hid_chooser_context.cc b/chrome/browser/hid/hid_chooser_context.cc
index b8ceb6b..b9f161b 100644
--- a/chrome/browser/hid/hid_chooser_context.cc
+++ b/chrome/browser/hid/hid_chooser_context.cc
@@ -388,7 +388,6 @@
 void HidChooserContext::GrantDevicePermission(
     const url::Origin& origin,
     const device::mojom::HidDeviceInfo& device) {
-  DCHECK(base::Contains(devices_, device.guid));
   if (CanStorePersistentEntry(device)) {
     GrantObjectPermission(origin, DeviceInfoToValue(device));
   } else {
@@ -400,7 +399,6 @@
 void HidChooserContext::RevokeDevicePermission(
     const url::Origin& origin,
     const device::mojom::HidDeviceInfo& device) {
-  DCHECK(base::Contains(devices_, device.guid));
   if (CanStorePersistentEntry(device)) {
     RevokePersistentDevicePermission(origin, device);
   } else {
@@ -432,9 +430,11 @@
   if (it != ephemeral_devices_.end()) {
     std::set<std::string>& devices = it->second;
     for (auto guid = devices.begin(); guid != devices.end();) {
-      DCHECK(base::Contains(devices_, *guid));
-
-      if (devices_[*guid]->physical_device_id != device.physical_device_id) {
+      auto device_it = devices_.find(*guid);
+      if (device_it == devices_.end()) {
+        continue;
+      }
+      if (device_it->second->physical_device_id != device.physical_device_id) {
         ++guid;
         continue;
       }
diff --git a/chrome/browser/language/language_model_manager_factory.cc b/chrome/browser/language/language_model_manager_factory.cc
index fcf4ffd1..f0cc4b0 100644
--- a/chrome/browser/language/language_model_manager_factory.cc
+++ b/chrome/browser/language/language_model_manager_factory.cc
@@ -70,6 +70,15 @@
   logger.RecordInitiationAcceptLanguagesULPOverlap(
       logger.ULPLanguagesInAcceptLanguagesRatio(accept_languages,
                                                 ulp_languages));
+
+  std::vector<std::string> never_languages_not_in_ulp =
+      logger.RemoveULPLanguages(
+          translate::TranslatePrefs(pref_service).GetNeverTranslateLanguages(),
+          ulp_languages);
+  logger.RecordInitiationNeverLanguagesMissingFromULP(
+      never_languages_not_in_ulp);
+  logger.RecordInitiationNeverLanguagesMissingFromULPCount(
+      never_languages_not_in_ulp.size());
 }
 
 void CreateAndAddULPLanguageModel(Profile* profile,
diff --git a/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service.cc b/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service.cc
index ae44f114..67ff2c0d6 100644
--- a/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service.cc
+++ b/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service.cc
@@ -49,7 +49,10 @@
 using ChannelOpenedCallback = base::OnceCallback<void(bool)>;
 constexpr char kLoggerComponent[] = "AccessCodeCastSinkService";
 
-const base::TimeDelta kExpirationDelay = base::Milliseconds(250);
+// This value is used in whenever expiration timers are created. It is a buffer
+// used to ensure all cast protocol steps are finished before instant expiration
+// occurs.
+const base::TimeDelta kExpirationDelay = base::Milliseconds(450);
 
 }  // namespace
 
@@ -170,81 +173,70 @@
   }
 
   std::vector<MediaRoute::Id> removed_routes;
-  std::set_difference(old_routes_.begin(), old_routes_.end(),
+  std::set_difference(previous_routes_.begin(), previous_routes_.end(),
                       new_routes.begin(), new_routes.end(),
                       std::inserter(removed_routes, removed_routes.end()));
-  old_routes_ = new_routes;
+
+  previous_routes_ = new_routes;
 
   // No routes were removed.
   if (removed_routes.empty())
     return;
 
   // There should only be 1 element in the |removed_routes| set.
-  DCHECK(removed_routes.size() < 2);
+  DCHECK(removed_routes.size() < 2)
+      << "This value should only be 1, since only one route can be removed at "
+         "a time.";
   auto first = removed_routes.begin();
   removed_route_id_ = *first;
 
   base::PostTaskAndReplyWithResult(
-      access_code_sink_service_->cast_media_sink_service_impl_->task_runner()
+      access_code_sink_service_->GetCastMediaSinkServiceImpl()
+          ->task_runner()
           .get(),
       FROM_HERE,
       base::BindOnce(
           &CastMediaSinkServiceImpl::GetSinkById,
           base::Unretained(
-              access_code_sink_service_->cast_media_sink_service_impl_),
+              access_code_sink_service_->GetCastMediaSinkServiceImpl()),
           MediaRoute::GetSinkIdFromMediaRouteId(removed_route_id_)),
       base::BindOnce(
-          &AccessCodeCastSinkService::HandleMediaRouteDiscoveredByAccessCode,
+          &AccessCodeCastSinkService::HandleMediaRouteRemovedByAccessCode,
           access_code_sink_service_->GetWeakPtr()));
 }
 
-void AccessCodeCastSinkService::HandleMediaRouteDiscoveredByAccessCode(
+bool AccessCodeCastSinkService::IsSinkValidAccessCodeSink(
     const MediaSinkInternal* sink) {
   // The route Id did not correspond to a sink for some reason. Return to
   // avoid nullptr issues.
-  if (!sink)
-    return;
-
-  if (!sink->is_cast_sink()) {
-    return;
-  }
+  if (!sink || !sink->is_cast_sink())
+    return false;
 
   // Check to see if route was created by an access code sink.
   CastDiscoveryType type = sink->cast_data().discovery_type;
   if (type != CastDiscoveryType::kAccessCodeManualEntry &&
       type != CastDiscoveryType::kAccessCodeRememberedDevice) {
-    return;
+    return false;
   }
+  return true;
+}
+
+void AccessCodeCastSinkService::HandleMediaRouteRemovedByAccessCode(
+    const MediaSinkInternal* sink) {
+  if (!IsSinkValidAccessCodeSink(sink))
+    return;
 
   LogInfo("An Access Code Cast route has ended.", sink->id());
 
-  // There are two possible cases here. The common case is that a route for
-  // the specified sink has been terminated by local or remote user
-  // interaction. In this case, call OnAccessCodeRouteRemoved to check whether
-  // the sink should now be removed due to expiration. The second case occurs
-  // during discovery. It's possible that the discovery process discovered a
-  // sink that already existed, and that that sink had an active route. In
-  // that case, |OpenChannelIfNecessary| will have terminated that route. It
-  // is important though, that we don't attempt to expire the sink in that
-  // case, because the user has in fact just "discovered" it. So before
-  // attempting to expire the sink, check to see whether the termination was
-  // due to discovery. If so, then alert the dialog about the successful
-  // discovery.
-  auto it = pending_callbacks_.find(sink->id());
-  if (it != pending_callbacks_.end()) {
-    std::move(it->second).Run(AddSinkResultCode::OK, sink->id());
-    pending_callbacks_.erase(sink->id());
-  } else {
-    // Need to pause just a little bit before attempting to remove the sink.
-    // Sometimes sinks terminate their routes and immediately start another
-    // (tab content transitions for example), so wait just a little while
-    // before checking to see if removing the route makes sense.
-    task_runner_->PostDelayedTask(
-        FROM_HERE,
-        base::BindOnce(&AccessCodeCastSinkService::OnAccessCodeRouteRemoved,
-                       weak_ptr_factory_.GetWeakPtr(), sink),
-        kExpirationDelay);
-  }
+  // Need to pause just a little bit before attempting to remove the sink.
+  // Sometimes sinks terminate their routes and immediately start another
+  // (tab content transitions for example), so wait just a little while
+  // before checking to see if removing the route makes sense.
+  task_runner_->PostDelayedTask(
+      FROM_HERE,
+      base::BindOnce(&AccessCodeCastSinkService::OnAccessCodeRouteRemoved,
+                     weak_ptr_factory_.GetWeakPtr(), sink),
+      kExpirationDelay);
 }
 
 void AccessCodeCastSinkService::OnAccessCodeRouteRemoved(
@@ -256,13 +248,13 @@
   // another (preseentation). There was a pause before this method was called,
   // so check again to see if there's an active route for this sink. Only expire
   // the sink if a new route wasn't established during the pause.
-  auto route_id = GetActiveRouteId(sink->id());
+  auto route = GetActiveRoute(sink->id());
 
   // If a sink is pending expiration that means we can
   // remove it from the media router.
-  if (!route_id.has_value() && pending_expirations_.count(sink->id())) {
+  if (!route.has_value() && pending_expirations_.count(sink->id())) {
     RemoveSinkIdFromAllEntries(sink->id());
-    RemoveMediaSinkFromRouter(sink);
+    RemoveAndDisconnectMediaSinkFromRouter(sink);
     pending_expirations_.erase(sink->id());
   }
 }
@@ -339,33 +331,7 @@
         "needs to be opened.",
         sink.id());
 
-    // The logic below only pertains to the addition of access code devices that
-    // were added via access code (not via stored devices).
-    if (sink.cast_data().discovery_type !=
-        CastDiscoveryType::kAccessCodeManualEntry) {
-      // We must call the |add_sink_callback| in all conditional branches.
-      std::move(add_sink_callback).Run(AddSinkResultCode::OK, sink.id());
-      return;
-    }
-    // Check to see if this sink has an active route. If so, we need to
-    // terminate the route before alerting the dialog to discovery success.
-    // This is because any attempt to start a route on a sink that already has
-    // one won't be successful.
-    auto route_id = GetActiveRouteId(sink.id());
-    if (route_id.has_value()) {
-      LogInfo(
-          "There was an existing route when "
-          "discovery occurred, attempting to "
-          "terminate it.",
-          sink.id());
-      // We do not need to check whether media_router_ is null here since it
-      // is checked in DiscoverSink() above which eventually calls this
-      // function.
-      media_router_->TerminateRoute(route_id.value());
-      pending_callbacks_.emplace(sink.id(), std::move(add_sink_callback));
-    } else {
-      std::move(add_sink_callback).Run(AddSinkResultCode::OK, sink.id());
-    }
+    std::move(add_sink_callback).Run(AddSinkResultCode::OK, sink.id());
     return;
   }
 
@@ -420,8 +386,8 @@
                      CreateCastSocketOpenParams(sink)));
 }
 
-absl::optional<const MediaRoute::Id>
-AccessCodeCastSinkService::GetActiveRouteId(const MediaSink::Id& sink_id) {
+absl::optional<const MediaRoute> AccessCodeCastSinkService::GetActiveRoute(
+    const MediaSink::Id& sink_id) {
   if (!media_router_)
     return absl::nullopt;
   auto routes = media_router_->GetCurrentRoutes();
@@ -431,7 +397,7 @@
                                });
   if (route_it == routes.end())
     return absl::nullopt;
-  return route_it->media_route_id();
+  return *route_it;
 }
 
 cast_channel::CastSocketOpenParams
@@ -456,6 +422,7 @@
   }
   LogInfo("The channel successfully opened.", sink_id);
   std::move(add_sink_callback).Run(AddSinkResultCode::OK, sink_id);
+  StoreSinkAndSetExpirationTimer(sink_id);
 }
 
 void AccessCodeCastSinkService::StoreSinkAndSetExpirationTimer(
@@ -464,6 +431,37 @@
   SetExpirationTimerById(sink_id);
 }
 
+void AccessCodeCastSinkService::CheckMediaSinkForExpiration(
+    const MediaSink::Id& sink_id) {
+  // Check to see if the sink is ready to be expired.
+  if (!CalculateDurationTillExpiration(sink_id).is_zero())
+    return;
+
+  auto iterator = current_session_expiration_timers_.find(sink_id);
+
+  // Check to see if there exists a timer for the given media sink id.
+  if (iterator == current_session_expiration_timers_.end()) {
+    LogWarning(
+        "While manually checking if the sink has expired, the given media sink "
+        "id does not have an active expiration timer.",
+        sink_id);
+    return;
+  }
+  auto& expiration_timer = iterator->second;
+  if (!expiration_timer->IsRunning()) {
+    LogInfo(
+        "While manually checking if the sink has expired, we found that the "
+        "expiration timer has already fired so there is no need to re-trigger "
+        "it.",
+        sink_id);
+    return;
+  }
+
+  // Instantly fire the timer and remove it from the map.
+  expiration_timer->FireNow();
+  current_session_expiration_timers_.erase(iterator);
+}
+
 void AccessCodeCastSinkService::StoreSinkInPrefsById(
     const MediaSink::Id sink_id) {
   base::PostTaskAndReplyWithResult(
@@ -659,15 +657,15 @@
               "references.",
           sink.id());
 
-  auto route_id = GetActiveRouteId(sink.id());
+  auto route = GetActiveRoute(sink.id());
   // The given sink still has an active route, don't remove it yet and wait for
   // the route to end before we expire it.
-  if (route_id.has_value()) {
-    LogInfo(
-        "The sink id: " + sink.id() +
-            " still has a route open. Wait to expire it until the route has "
-            "ended.",
-        sink.id());
+  if (route.has_value() && route.value().is_local()) {
+    LogInfo("The sink id: " + sink.id() +
+                " still has a local route open. Wait to expire it until the "
+                "route has "
+                "ended.",
+            sink.id());
     pending_expirations_.insert(sink.id());
     return;
   }
@@ -679,20 +677,23 @@
       base::BindOnce(&CastMediaSinkServiceImpl::GetSinkById,
                      base::Unretained(cast_media_sink_service_impl_),
                      sink.id()),
-      base::BindOnce(&AccessCodeCastSinkService::RemoveMediaSinkFromRouter,
-                     weak_ptr_factory_.GetWeakPtr()));
+      base::BindOnce(
+          &AccessCodeCastSinkService::RemoveAndDisconnectMediaSinkFromRouter,
+          weak_ptr_factory_.GetWeakPtr()));
 }
 
-void AccessCodeCastSinkService::RemoveMediaSinkFromRouter(
+void AccessCodeCastSinkService::RemoveAndDisconnectMediaSinkFromRouter(
     const MediaSinkInternal* sink) {
   if (!sink) {
     return;
   }
-  DCHECK(!GetActiveRouteId(sink->id()).has_value())
-      << "This sink " + sink->id() +
-             " still has an active route, we should not be removing it!";
-  if (GetActiveRouteId(sink->id()).has_value())
+
+  // We don't want to remove a media sink that has an active route that is ALSO
+  // a local route (casting the contents of this client).
+  if (GetActiveRoute(sink->id()).has_value() &&
+      GetActiveRoute(sink->id()).value().is_local())
     return;
+
   LogInfo(
       "Attempting to disconnect and remove the cast sink from "
       "the media router.",
@@ -746,13 +747,13 @@
   return media_sink.value();
 }
 
-void AccessCodeCastSinkService::RemoveExistingSinksOnNetwork() {
+void AccessCodeCastSinkService::RemoveAndDisconnectExistingSinksOnNetwork() {
   for (auto& sink_id_keypair : current_session_expiration_timers_) {
     auto sink_id = sink_id_keypair.first;
     // If there is an active route for this sink -- don't attempt to remove it.
     // In this case we let the Media Router handle removals from the media
     // router when a network is changed with an active route.
-    if (GetActiveRouteId(sink_id).has_value()) {
+    if (GetActiveRoute(sink_id).has_value()) {
       continue;
     }
 
@@ -764,8 +765,9 @@
         base::BindOnce(&CastMediaSinkServiceImpl::GetSinkById,
                        base::Unretained(cast_media_sink_service_impl_),
                        sink_id),
-        base::BindOnce(&AccessCodeCastSinkService::RemoveMediaSinkFromRouter,
-                       weak_ptr_factory_.GetWeakPtr()));
+        base::BindOnce(
+            &AccessCodeCastSinkService::RemoveAndDisconnectMediaSinkFromRouter,
+            weak_ptr_factory_.GetWeakPtr()));
   }
 }
 
@@ -798,7 +800,7 @@
 
 void AccessCodeCastSinkService::OnNetworksChanged(
     const std::string& network_id) {
-  RemoveExistingSinksOnNetwork();
+  RemoveAndDisconnectExistingSinksOnNetwork();
   ResetExpirationTimers();
   InitAllStoredDevices();
 }
@@ -810,7 +812,7 @@
 
 void AccessCodeCastSinkService::OnEnabledPrefChange() {
   if (!GetAccessCodeCastEnabledPref(prefs_)) {
-    RemoveExistingSinksOnNetwork();
+    RemoveAndDisconnectExistingSinksOnNetwork();
     ResetExpirationTimers();
     pending_expirations_.clear();
     pref_updater_->ClearDevicesDict();
diff --git a/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service.h b/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service.h
index c22734fe..73444ec5 100644
--- a/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service.h
+++ b/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service.h
@@ -74,6 +74,12 @@
 
   static constexpr base::TimeDelta kExpirationTimerDelay = base::Seconds(20);
 
+  // This function manually calculates the duration till expiration and
+  // overrides any existing expiration timers if the duration is zero. This
+  // function exists largely for edge case scenarios with instant expiration
+  // that require expiration before the default kExpirationTimerDelay.
+  void CheckMediaSinkForExpiration(const MediaSink::Id& sink_id);
+
  private:
   class AccessCodeMediaRoutesObserver : public MediaRoutesObserver {
    public:
@@ -104,8 +110,9 @@
     // media_router::MediaRoutesObserver:
     void OnRoutesUpdated(const std::vector<MediaRoute>& routes) override;
 
-    // Set of route ids that is updated whenever OnRoutesUpdated is called.
-    std::vector<MediaRoute::Id> old_routes_;
+    // Set of route ids that is updated whenever OnRoutesUpdated is called. We
+    // store this value to check whether a route was removed or not.
+    std::vector<MediaRoute::Id> previous_routes_;
 
     MediaRoute::Id removed_route_id_;
 
@@ -113,6 +120,7 @@
 
     base::WeakPtrFactory<AccessCodeMediaRoutesObserver> weak_ptr_factory_{this};
   };
+  // TODO(b/234892353): Remove friend class AccessCodeCastSinkServiceFactory
   friend class AccessCodeCastSinkServiceFactory;
   friend class AccessCodeCastSinkServiceTest;
   friend class AccessCodeCastHandlerTest;
@@ -129,8 +137,6 @@
   FRIEND_TEST_ALL_PREFIXES(AccessCodeCastSinkServiceTest,
                            AddNewSinkToMediaRouter);
   FRIEND_TEST_ALL_PREFIXES(AccessCodeCastSinkServiceTest,
-                           AddExistingSinkToMediaRouterWithRoute);
-  FRIEND_TEST_ALL_PREFIXES(AccessCodeCastSinkServiceTest,
                            DiscoveryDeviceMissingWithOk);
   FRIEND_TEST_ALL_PREFIXES(AccessCodeCastSinkServiceTest,
                            ValidDiscoveryDeviceAndCode);
@@ -171,6 +177,10 @@
                            TestChangeNetworkWithRouteActiveExpiration);
   FRIEND_TEST_ALL_PREFIXES(AccessCodeCastSinkServiceTest,
                            DiscoverSinkWithNoMediaRouter);
+  FRIEND_TEST_ALL_PREFIXES(AccessCodeCastSinkServiceTest,
+                           TestCheckMediaSinkForExpirationNoExpiration);
+  FRIEND_TEST_ALL_PREFIXES(AccessCodeCastSinkServiceTest,
+                           TestCheckMediaSinkForExpirationBeforeDelay);
 
   // Use |AccessCodeCastSinkServiceFactory::GetForProfile(..)| to get
   // an instance of this service.
@@ -192,7 +202,12 @@
                              MediaSink::Id sink_id,
                              bool channel_opened);
 
-  void HandleMediaRouteDiscoveredByAccessCode(const MediaSinkInternal* sink);
+  bool IsSinkValidAccessCodeSink(const MediaSinkInternal* sink);
+
+  // Handles removal from media router via expiration if a route with an access
+  // code cast sink has ended.
+  void HandleMediaRouteRemovedByAccessCode(const MediaSinkInternal* sink);
+
   void OnAccessCodeRouteRemoved(const MediaSinkInternal* sink);
   void OpenChannelIfNecessary(const MediaSinkInternal& sink,
                               AddSinkResultCallback add_sink_callback,
@@ -204,19 +219,21 @@
 
   // Returns a MediaRoute if the given |sink_id| corresponds to a route
   // currently active in the media router.
-  absl::optional<const MediaRoute::Id> GetActiveRouteId(
-      const MediaSink::Id& sink_id);
+  absl::optional<const MediaRoute> GetActiveRoute(const MediaSink::Id& sink_id);
 
   void InitAllStoredDevices();
   void InitExpirationTimers(const std::vector<MediaSinkInternal> cast_sinks);
   void ResetExpirationTimers();
 
   base::TimeDelta CalculateDurationTillExpiration(const MediaSink::Id& sink_id);
+
   void OnExpiration(const MediaSinkInternal& sink);
 
-  // It is the responsibility of the caller to ensure that no active routes
-  // remain before this function is called.
-  void RemoveMediaSinkFromRouter(const MediaSinkInternal* sink);
+  // This function removes the media sink
+  // from the MediaSinkServiceBase AND closes the cast socket of that media
+  // sink. This function is a no-op if there exists a local active route for the
+  // sink.
+  void RemoveAndDisconnectMediaSinkFromRouter(const MediaSinkInternal* sink);
 
   const base::Value::List FetchStoredDevices();
 
@@ -241,7 +258,7 @@
   absl::optional<const MediaSinkInternal> ValidateDeviceFromSinkId(
       const MediaSink::Id& sink_id);
 
-  void RemoveExistingSinksOnNetwork();
+  void RemoveAndDisconnectExistingSinksOnNetwork();
 
   // DiscoveryNetworkMonitor::Observer implementation
   void OnNetworksChanged(const std::string& network_id) override;
@@ -264,6 +281,11 @@
     task_runner_ = task_runner;
   }
 
+  const raw_ptr<media_router::CastMediaSinkServiceImpl>
+  GetCastMediaSinkServiceImpl() {
+    return cast_media_sink_service_impl_;
+  }
+
   void SetIdentityManagerForTesting(signin::IdentityManager* identity_manager);
 
   // Owns us via the KeyedService mechanism.
diff --git a/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service_unittest.cc b/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service_unittest.cc
index 9fb50fa..41e68a2 100644
--- a/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service_unittest.cc
+++ b/chrome/browser/media/router/discovery/access_code/access_code_cast_sink_service_unittest.cc
@@ -51,16 +51,6 @@
 
 namespace media_router {
 
-namespace {
-MediaRoute CreateRouteForTesting(const MediaSinkInternal& sink) {
-  std::string sink_id = sink.id();
-  std::string route_id =
-      "urn:x-org.chromium:media:route:1/" + sink_id + "/http://foo.com";
-  return MediaRoute(route_id, MediaSource("access_code"), sink_id,
-                    "access_sink", true);
-}
-}  // namespace
-
 using SinkSource = CastDeviceCountMetrics::SinkSource;
 using MockBoolCallback = base::MockCallback<base::OnceCallback<void(bool)>>;
 using MockAddSinkResultCallback = base::MockCallback<
@@ -270,7 +260,7 @@
 
   // Expect cast sink is NOT removed from the media router since it
   // is not an access code sink.
-  access_code_cast_sink_service_->HandleMediaRouteDiscoveredByAccessCode(
+  access_code_cast_sink_service_->HandleMediaRouteRemovedByAccessCode(
       &cast_sink1);
   EXPECT_CALL(*mock_cast_media_sink_service_impl(),
               DisconnectAndRemoveSink(cast_sink1))
@@ -288,7 +278,7 @@
       media_route_access.media_route_id());
   mock_time_task_runner()->FastForwardUntilNoTasksRemain();
 
-  access_code_cast_sink_service_->HandleMediaRouteDiscoveredByAccessCode(
+  access_code_cast_sink_service_->HandleMediaRouteRemovedByAccessCode(
       &access_code_sink2);
   // Expect that there is a pending attempt to examine the sink to see if it
   // should be expired.
@@ -317,44 +307,6 @@
   mock_time_task_runner()->FastForwardUntilNoTasksRemain();
 }
 
-TEST_F(AccessCodeCastSinkServiceTest, AddExistingSinkToMediaRouterWithRoute) {
-  // When an existing sink has an existing route, ensure that that route is
-  // terminated before the caller is alerted to the successful discovery.
-  MediaSinkInternal cast_sink1 = CreateCastSink(1);
-  cast_sink1.cast_data().discovery_type =
-      CastDiscoveryType::kAccessCodeManualEntry;
-
-  MediaRoute media_route_cast = CreateRouteForTesting(cast_sink1);
-
-  access_code_cast_sink_service_->media_routes_observer_->OnRoutesUpdated(
-      {media_route_cast});
-  mock_time_task_runner()->FastForwardUntilNoTasksRemain();
-
-  EXPECT_CALL(*router_, GetCurrentRoutes())
-      .WillOnce(Return(std::vector<MediaRoute>{media_route_cast}));
-  EXPECT_CALL(*router_, TerminateRoute(media_route_cast.media_route_id()));
-  EXPECT_CALL(*mock_cast_media_sink_service_impl(),
-              OpenChannel(cast_sink1, _, SinkSource::kAccessCode, _, _))
-      .Times(0);
-
-  MockAddSinkResultCallback mock_callback;
-  EXPECT_CALL(mock_callback, Run(AddSinkResultCode::OK, _));
-
-  access_code_cast_sink_service_->OpenChannelIfNecessary(
-      cast_sink1, mock_callback.Get(), true);
-
-  access_code_cast_sink_service_->media_routes_observer_->OnRoutesUpdated({});
-  // Since a route has been removed, there should be a pending task to examine
-  // whether the route's sink is an access code sink.
-  EXPECT_EQ(
-      access_code_cast_sink_service_->media_routes_observer_->removed_route_id_,
-      media_route_cast.media_route_id());
-
-  access_code_cast_sink_service_->HandleMediaRouteDiscoveredByAccessCode(
-      &cast_sink1);
-  mock_time_task_runner()->FastForwardUntilNoTasksRemain();
-}
-
 TEST_F(AccessCodeCastSinkServiceTest, AddNewSinkToMediaRouter) {
   // Make sure that the sink is added to the media router if it does not already
   // exist.
@@ -1161,4 +1113,77 @@
   mock_time_task_runner()->FastForwardUntilNoTasksRemain();
 }
 
+TEST_F(AccessCodeCastSinkServiceTest,
+       TestCheckMediaSinkForExpirationNoExpiration) {
+  // Demonstrates that checking a media sink for expiration will return if it
+  // hasn't expired yet.
+
+  const MediaSinkInternal cast_sink1 = CreateCastSink(1);
+  SetDeviceDurationPrefForTest(base::Seconds(100));
+
+  access_code_cast_sink_service_->SetExpirationTimer(&cast_sink1);
+  access_code_cast_sink_service_->StoreSinkInPrefs(&cast_sink1);
+  mock_time_task_runner()->FastForwardUntilNoTasksRemain();
+
+  EXPECT_TRUE(access_code_cast_sink_service_
+                  ->current_session_expiration_timers_[cast_sink1.id()]
+                  ->IsRunning());
+  // Expect that CheckMediaSinkForExpiration() will simply return since the
+  // timer has not expired yet.
+  access_code_cast_sink_service_->CheckMediaSinkForExpiration(cast_sink1.id());
+  EXPECT_TRUE(access_code_cast_sink_service_
+                  ->current_session_expiration_timers_[cast_sink1.id()]
+                  ->IsRunning());
+
+  mock_time_task_runner()->FastForwardUntilNoTasksRemain();
+}
+
+TEST_F(AccessCodeCastSinkServiceTest,
+       TestCheckMediaSinkForExpirationBeforeDelay) {
+  // Demonstrates that checking a media sink for expiration will fire it before
+  // OnExpiration is called because of the kExpirationDelay.
+
+  const MediaSinkInternal cast_sink1 = CreateCastSink(1);
+  SetDeviceDurationPrefForTest(base::Seconds(0));
+
+  mock_cast_media_sink_service_impl()->AddSinkForTest(cast_sink1);
+  access_code_cast_sink_service_->SetExpirationTimer(&cast_sink1);
+  access_code_cast_sink_service_->StoreSinkInPrefs(&cast_sink1);
+  mock_time_task_runner()->FastForwardUntilNoTasksRemain();
+
+  EXPECT_TRUE(access_code_cast_sink_service_
+                  ->current_session_expiration_timers_[cast_sink1.id()]
+                  ->IsRunning());
+
+  // There is a brief delay that is added to any expiration timer. We want to
+  // check the time between the delay and zero seconds (instant expiration) to
+  // ensure that we can manually trigger this expiration and override the delay.
+  task_environment_.AdvanceClock(
+      AccessCodeCastSinkService::kExpirationTimerDelay - base::Seconds(10));
+  EXPECT_TRUE(access_code_cast_sink_service_
+                  ->current_session_expiration_timers_[cast_sink1.id()]
+                  ->IsRunning());
+
+  access_code_cast_sink_service_->CheckMediaSinkForExpiration(cast_sink1.id());
+  EXPECT_TRUE(access_code_cast_sink_service_->current_session_expiration_timers_
+                  .empty());
+
+  // The sink should now be removed from the media router.
+  EXPECT_CALL(*mock_cast_media_sink_service_impl(),
+              DisconnectAndRemoveSink(cast_sink1));
+  FastForwardUiAndIoTasks();
+  content::RunAllTasksUntilIdle();
+  FastForwardUiAndIoTasks();
+
+  // The sink did expire in this situation so it should not exist in the pref
+  // service.
+  EXPECT_TRUE(
+      access_code_cast_sink_service_->pref_updater_->GetDeviceAddedTimeDict()
+          ->GetDict()
+          .empty());
+  EXPECT_TRUE(access_code_cast_sink_service_->pref_updater_->GetDevicesDict()
+                  ->GetDict()
+                  .empty());
+}
+
 }  // namespace media_router
diff --git a/chrome/browser/media/router/discovery/access_code/access_code_test_util.cc b/chrome/browser/media/router/discovery/access_code/access_code_test_util.cc
index 705e19f..2a68687 100644
--- a/chrome/browser/media/router/discovery/access_code/access_code_test_util.cc
+++ b/chrome/browser/media/router/discovery/access_code/access_code_test_util.cc
@@ -73,6 +73,14 @@
                                 network_monitor,
                                 profile->GetPrefs()) {}
 
+MediaRoute CreateRouteForTesting(const MediaSinkInternal& sink) {
+  std::string sink_id = sink.id();
+  std::string route_id =
+      "urn:x-org.chromium:media:route:1/" + sink_id + "/http://foo.com";
+  return MediaRoute(route_id, MediaSource("access_code"), sink_id,
+                    "access_sink", true);
+}
+
 MockAccessCodeCastSinkService::~MockAccessCodeCastSinkService() = default;
 
 }  // namespace media_router
diff --git a/chrome/browser/media/router/discovery/access_code/access_code_test_util.h b/chrome/browser/media/router/discovery/access_code/access_code_test_util.h
index 7d1f1f4..cc598879 100644
--- a/chrome/browser/media/router/discovery/access_code/access_code_test_util.h
+++ b/chrome/browser/media/router/discovery/access_code/access_code_test_util.h
@@ -54,6 +54,8 @@
               (override));
 };
 
+MediaRoute CreateRouteForTesting(const MediaSinkInternal& sink);
+
 }  // namespace media_router
 
 #endif  // CHROME_BROWSER_MEDIA_ROUTER_DISCOVERY_ACCESS_CODE_ACCESS_CODE_TEST_UTIL_H_
diff --git a/chrome/browser/net/storage_test_utils.cc b/chrome/browser/net/storage_test_utils.cc
index 86a1295c..5beb600 100644
--- a/chrome/browser/net/storage_test_utils.cc
+++ b/chrome/browser/net/storage_test_utils.cc
@@ -6,8 +6,7 @@
 
 #include "content/public/test/browser_test_utils.h"
 
-namespace storage {
-namespace test {
+namespace storage::test {
 
 const std::vector<std::string> kStorageTypesForFrame{
     "Cookie",         "LocalStorage", "FileSystem",       "FileSystemAccess",
@@ -40,72 +39,96 @@
 }
 
 void SetStorageForFrame(content::RenderFrameHost* frame) {
+  base::flat_map<std::string, bool> actual;
+  base::flat_map<std::string, bool> expected;
   for (const auto& data_type : kStorageTypesForFrame) {
-    bool data = content::EvalJs(frame, "set" + data_type + "()",
-                                content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
-                    .ExtractBool();
+    actual[data_type] =
+        content::EvalJs(frame, "set" + data_type + "()",
+                        content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
+            .ExtractBool();
     if (frame->GetLastCommittedOrigin() !=
             frame->GetMainFrame()->GetLastCommittedOrigin() &&
         data_type == "WebSql") {
       // Third-party context WebSQL is disabled as of M97.
-      EXPECT_FALSE(data) << "SetStorageForFrame for " << data_type;
+      expected[data_type] = false;
     } else {
-      EXPECT_TRUE(data) << "SetStorageForFrame for " << data_type;
+      expected[data_type] = true;
     }
   }
+  EXPECT_THAT(actual, testing::UnorderedElementsAreArray(expected));
 }
 
 void SetStorageForWorker(content::RenderFrameHost* frame) {
+  base::flat_map<std::string, bool> actual;
+  base::flat_map<std::string, bool> expected;
   for (const auto& data_type : kStorageTypesForWorker) {
-    bool data = content::EvalJs(frame, "set" + data_type + "()",
-                                content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
-                    .ExtractBool();
-    EXPECT_TRUE(data) << "SetStorageForWorker for " << data_type;
+    actual[data_type] =
+        content::EvalJs(frame, "set" + data_type + "()",
+                        content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
+            .ExtractBool();
+    expected[data_type] = true;
   }
+  EXPECT_THAT(actual, testing::UnorderedElementsAreArray(expected));
 }
 
 void ExpectStorageForFrame(content::RenderFrameHost* frame, bool expected) {
+  base::flat_map<std::string, bool> actual;
+  base::flat_map<std::string, bool> expected_elts;
   for (const auto& data_type : kStorageTypesForFrame) {
-    bool data = content::EvalJs(frame, "has" + data_type + "();",
-                                content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
-                    .ExtractBool();
+    actual[data_type] =
+        content::EvalJs(frame, "has" + data_type + "();",
+                        content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
+            .ExtractBool();
     if (frame->GetLastCommittedOrigin() !=
             frame->GetMainFrame()->GetLastCommittedOrigin() &&
         data_type == "WebSql") {
       // Third-party context WebSQL is disabled as of M97.
-      EXPECT_FALSE(data) << "ExpectStorageForFrame for " << data_type;
+      expected_elts[data_type] = false;
     } else {
-      EXPECT_EQ(expected, data) << "ExpectStorageForFrame for " << data_type;
+      expected_elts[data_type] = expected;
     }
   }
+  EXPECT_THAT(actual, testing::UnorderedElementsAreArray(expected_elts));
 }
 
 void ExpectStorageForWorker(content::RenderFrameHost* frame, bool expected) {
+  base::flat_map<std::string, bool> actual;
+  base::flat_map<std::string, bool> expected_elts;
   for (const auto& data_type : kStorageTypesForWorker) {
-    bool data = content::EvalJs(frame, "has" + data_type + "();",
-                                content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
-                    .ExtractBool();
-    EXPECT_EQ(expected, data) << "ExpectStorageForWorker for " << data_type;
+    actual[data_type] =
+        content::EvalJs(frame, "has" + data_type + "();",
+                        content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
+            .ExtractBool();
+    expected_elts[data_type] = expected;
   }
+  EXPECT_THAT(actual, testing::UnorderedElementsAreArray(expected_elts));
 }
 
 void SetCrossTabInfoForFrame(content::RenderFrameHost* frame) {
+  base::flat_map<std::string, bool> actual;
+  base::flat_map<std::string, bool> expected;
   for (const auto& data_type : kCrossTabCommunicationTypes) {
-    bool data = content::EvalJs(frame, "set" + data_type + "()",
-                                content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
-                    .ExtractBool();
-    EXPECT_TRUE(data) << data_type;
+    actual[data_type] =
+        content::EvalJs(frame, "set" + data_type + "()",
+                        content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
+            .ExtractBool();
+    expected[data_type] = true;
   }
+  EXPECT_THAT(actual, testing::UnorderedElementsAreArray(expected));
 }
 
 void ExpectCrossTabInfoForFrame(content::RenderFrameHost* frame,
                                 bool expected) {
+  base::flat_map<std::string, bool> actual;
+  base::flat_map<std::string, bool> expected_elts;
   for (const auto& data_type : kCrossTabCommunicationTypes) {
-    bool data = content::EvalJs(frame, "has" + data_type + "();",
-                                content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
-                    .ExtractBool();
-    EXPECT_EQ(expected, data) << data_type;
+    actual[data_type] =
+        content::EvalJs(frame, "has" + data_type + "();",
+                        content::EXECUTE_SCRIPT_USE_MANUAL_REPLY)
+            .ExtractBool();
+    expected_elts[data_type] = expected;
   }
+  EXPECT_THAT(actual, testing::UnorderedElementsAreArray(expected_elts));
 }
 
 bool RequestStorageAccessForFrame(content::RenderFrameHost* frame) {
@@ -120,5 +143,4 @@
       .ExtractBool();
 }
 
-}  // namespace test
-}  // namespace storage
+}  // namespace storage::test
diff --git a/chrome/browser/new_tab_page/promos/promo_service.cc b/chrome/browser/new_tab_page/promos/promo_service.cc
index bea65a3..2681a9be 100644
--- a/chrome/browser/new_tab_page/promos/promo_service.cc
+++ b/chrome/browser/new_tab_page/promos/promo_service.cc
@@ -267,6 +267,19 @@
   }
 }
 
+void PromoService::UndoBlocklistPromo(const std::string& promo_id) {
+  if (promo_id.empty()) {
+    return;
+  }
+
+  DictionaryPrefUpdate update(profile_->GetPrefs(), prefs::kNtpPromoBlocklist);
+  update->RemoveKey(promo_id);
+
+  // Refresh promo service since cached promo data was cleared in
+  // BlocklistPromo(), which is called before UndoBlocklistPromo().
+  Refresh();
+}
+
 void PromoService::PromoDataLoaded(Status status,
                                    const absl::optional<PromoData>& data) {
   // In case of transient errors, keep our cached data (if any), but still
diff --git a/chrome/browser/new_tab_page/promos/promo_service.h b/chrome/browser/new_tab_page/promos/promo_service.h
index eb9ff73..ae3bf97 100644
--- a/chrome/browser/new_tab_page/promos/promo_service.h
+++ b/chrome/browser/new_tab_page/promos/promo_service.h
@@ -75,6 +75,9 @@
   // Marks |promo_id| as blocked from being shown again.
   void BlocklistPromo(const std::string& promo_id);
 
+  // Unmarks |promo_id| as blocked and allows it to be shown again.
+  void UndoBlocklistPromo(const std::string& promo_id);
+
   GURL GetLoadURLForTesting() const;
 
  protected:
diff --git a/chrome/browser/new_tab_page/promos/promo_service_unittest.cc b/chrome/browser/new_tab_page/promos/promo_service_unittest.cc
index c3ee6af..a9f56552 100644
--- a/chrome/browser/new_tab_page/promos/promo_service_unittest.cc
+++ b/chrome/browser/new_tab_page/promos/promo_service_unittest.cc
@@ -318,3 +318,35 @@
   // All the invalid formats should've been removed from the pref.
   ASSERT_EQ(0u, prefs()->GetDictionary(prefs::kNtpPromoBlocklist)->DictSize());
 }
+
+TEST_F(PromoServiceTest, UndoBlocklistPromo) {
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndEnableFeature(ntp_features::kNtpMiddleSlotPromoDismissal);
+
+  std::string response_string =
+      "{\"update\":{\"promos\":{\"middle\":\"<style></style><div><script></"
+      "script></div>\", \"log_url\":\"/log_url?id=42\", \"id\": \"42\"}}}";
+  SetUpResponseWithData(service()->GetLoadURLForTesting(), response_string);
+
+  ASSERT_EQ(service()->promo_data(), absl::nullopt);
+
+  service()->Refresh();
+  base::RunLoop().RunUntilIdle();
+
+  PromoData promo;
+  promo.promo_html = "<style></style><div><script></script></div>";
+  promo.promo_log_url = GURL("https://www.google.com/log_url?id=42");
+  promo.promo_id = "42";
+
+  ASSERT_EQ(0u, prefs()->GetDictionary(prefs::kNtpPromoBlocklist)->DictSize());
+
+  service()->BlocklistPromo("42");
+
+  const auto* blocklist = prefs()->GetDictionary(prefs::kNtpPromoBlocklist);
+  ASSERT_EQ(1u, blocklist->DictSize());
+  ASSERT_TRUE(blocklist->FindKey("42"));
+
+  service()->UndoBlocklistPromo("42");
+
+  ASSERT_EQ(0u, prefs()->GetDictionary(prefs::kNtpPromoBlocklist)->DictSize());
+}
diff --git a/chrome/browser/policy/messaging_layer/proto/synced/lock_unlock_event.proto b/chrome/browser/policy/messaging_layer/proto/synced/lock_unlock_event.proto
new file mode 100644
index 0000000..a1bb036
--- /dev/null
+++ b/chrome/browser/policy/messaging_layer/proto/synced/lock_unlock_event.proto
@@ -0,0 +1,40 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Events related to the locking and unlocking of the screen.
+
+syntax = "proto2";
+
+option optimize_for = LITE_RUNTIME;
+
+import "session_affiliated_user.proto";
+
+package ash.reporting;
+
+enum UnlockType {
+  UNKNOWN = 0;
+  PASSWORD = 1;
+  PIN = 2;
+  FINGERPRINT = 3;
+  EASY_UNLOCK = 4;
+  CHALLENGE_RESPONSE = 5;
+}
+
+message LockEvent {}
+
+message UnlockEvent {
+  optional bool success = 1;
+  optional UnlockType unlock_type = 2;
+}
+
+message LockUnlockRecord {
+  optional int64 event_timestamp_sec = 1;
+
+  optional .reporting.SessionAffiliatedUser affiliated_user = 2;
+
+  oneof event {
+    LockEvent lock_event = 3;
+    UnlockEvent unlock_event = 4;
+  }
+}
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/BUILD.gn b/chrome/browser/resources/chromeos/accessibility/chromevox/BUILD.gn
index 1ff101d..87a3647 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/BUILD.gn
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/BUILD.gn
@@ -28,7 +28,6 @@
   "background/braille/cursor_dots.js",
   "background/braille/pan_strategy.js",
   "common/abstract_earcons.js",
-  "common/braille/braille_interface.js",
   "common/braille/braille_key_types.js",
   "common/braille/nav_braille.js",
   "common/extension_bridge.js",
@@ -122,6 +121,7 @@
   "common/abstract_tts.js",
   "common/background_bridge.js",
   "common/braille/braille_command_data.js",
+  "common/braille/braille_interface.js",
   "common/braille/braille_table.js",
   "common/bridge_constants.js",
   "common/bridge_helper.js",
@@ -401,7 +401,6 @@
       "background/editing/editable_text_base.js",
       "background/phonetic_data.js",
       "common/abstract_earcons.js",
-      "common/braille/braille_interface.js",
       "common/braille/nav_braille.js",
       "common/key_sequence.js",
       "common/msgs.js",
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/braille/braille_background.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/braille/braille_background.js
index 3fc11c61..8ee7bc0 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/braille/braille_background.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/braille/braille_background.js
@@ -5,6 +5,7 @@
 /**
  * @fileoverview Sends Braille commands to the Braille API.
  */
+import {BrailleInterface} from '../../common/braille/braille_interface.js';
 import {BridgeConstants} from '../../common/bridge_constants.js';
 import {BridgeHelper} from '../../common/bridge_helper.js';
 import {ChromeVoxState} from '../chromevox_state.js';
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/chromevox.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/chromevox.js
index 85b0071..dcbe95b 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/chromevox.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/chromevox.js
@@ -6,6 +6,8 @@
  * @fileoverview Defines a global object.
  */
 
+import {BrailleInterface} from '../common/braille/braille_interface.js';
+
 export class ChromeVox {
   /**
    * Returns whether sticky mode is on, taking both the global sticky mode
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/background/loader.js b/chrome/browser/resources/chromeos/accessibility/chromevox/background/loader.js
index 566f399..e60afb0 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/background/loader.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/background/loader.js
@@ -13,7 +13,6 @@
 goog.require('AutomationUtil');
 goog.require('BaseLog');
 goog.require('BrailleDisplayState');
-goog.require('BrailleInterface');
 goog.require('BrailleKeyCommand');
 goog.require('BrailleKeyEvent');
 goog.require('EventLog');
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/common/braille/braille_interface.js b/chrome/browser/resources/chromeos/accessibility/chromevox/common/braille/braille_interface.js
index fad99a5..9e7d61ec 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/common/braille/braille_interface.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/common/braille/braille_interface.js
@@ -9,14 +9,8 @@
  *
  */
 
-goog.provide('BrailleInterface');
-
-goog.require('BrailleKeyCommand');
-goog.require('BrailleKeyEvent');
-goog.require('NavBraille');
-
 /** @interface */
-BrailleInterface = class {
+export class BrailleInterface {
   /**
    * Sends the given params to the Braille display for output.
    * @param {!NavBraille} params Parameters to send to the
@@ -64,4 +58,4 @@
    *     braille cells, not text cells.
    */
   route(braillePosition) {}
-};
+}
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/learn_mode/kbexplorer_loader.js b/chrome/browser/resources/chromeos/accessibility/chromevox/learn_mode/kbexplorer_loader.js
index 39007be..fb4f887 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/learn_mode/kbexplorer_loader.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/learn_mode/kbexplorer_loader.js
@@ -7,7 +7,6 @@
  */
 
 goog.require('AbstractEarcons');
-goog.require('BrailleInterface');
 goog.require('BrailleKeyCommand');
 goog.require('BrailleKeyEvent');
 goog.require('KeyCode');
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/options/options_loader.js b/chrome/browser/resources/chromeos/accessibility/chromevox/options/options_loader.js
index fd17ca9e..335ee30 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/options/options_loader.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/options/options_loader.js
@@ -9,7 +9,9 @@
 goog.require('AbstractEarcons');
 goog.require('BluetoothBrailleDisplayListener');
 goog.require('BluetoothBrailleDisplayManager');
-goog.require('BrailleInterface');
+goog.require('BrailleKeyCommand');
+goog.require('BrailleKeyEvent');
+goog.require('NavBraille');
 goog.require('Spannable');
 goog.require('SpeechLog');
 goog.require('TtsInterface');
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_e2e_test_base.js b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_e2e_test_base.js
index 7fc9a3b..cf00329 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_e2e_test_base.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/chromevox_e2e_test_base.js
@@ -46,6 +46,8 @@
   async setUpDeferred() {
     await super.setUpDeferred();
     await importModule('ChromeVox', '/chromevox/background/chromevox.js');
+    await importModule(
+        'BrailleInterface', '/chromevox/common/braille/braille_interface.js');
   }
 };
 
diff --git a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback_test.js b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback_test.js
index e7911767..d76fed3 100644
--- a/chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback_test.js
+++ b/chrome/browser/resources/chromeos/accessibility/chromevox/testing/mock_feedback_test.js
@@ -30,6 +30,8 @@
   async setUpDeferred() {
     await super.setUpDeferred();
     await importModule('ChromeVox', '/chromevox/background/chromevox.js');
+    await importModule(
+        'BrailleInterface', '/chromevox/common/braille/braille_interface.js');
   }
 
   /** @override */
@@ -44,7 +46,6 @@
   '../testing/fake_dom.js',  // Must come before other files
   '../common/braille/nav_braille.js',
   '../common/abstract_earcons.js',
-  '../common/braille/braille_interface.js',
   '../common/spannable.js',
   '../common/tts_interface.js',
   'mock_feedback.js',
diff --git a/chrome/browser/resources/new_tab_page/BUILD.gn b/chrome/browser/resources/new_tab_page/BUILD.gn
index 2c55e5a..c9dcd9f 100644
--- a/chrome/browser/resources/new_tab_page/BUILD.gn
+++ b/chrome/browser/resources/new_tab_page/BUILD.gn
@@ -6,12 +6,12 @@
 import("//chrome/common/features.gni")
 import("//tools/code_coverage/create_js_source_maps/create_js_source_maps.gni")
 import("//tools/grit/grit_rule.gni")
-import("//tools/grit/preprocess_if_expr.gni")
 import("//tools/polymer/html_to_wrapper.gni")
 import("//tools/typescript/ts_library.gni")
 import("//ui/webui/resources/tools/generate_grd.gni")
 import("//ui/webui/webui_features.gni")
 import("./new_tab_page.gni")
+import("./preprocess_if_expr_sourcemaps.gni")
 
 assert(!is_android)
 
@@ -22,15 +22,20 @@
   build_manifest = "build_manifest.json"
 }
 
-preprocess_if_expr("preprocess") {
+preprocess_if_expr_sourcemaps("preprocess") {
   defines = [ "is_official_build=$is_official_build" ]
   out_folder = "$target_gen_dir/$preprocess_folder"
-  in_files = ts_files + html_files
-  enable_removal_comments = enable_webui_inline_sourcemaps
+  in_files = ts_files
+}
+
+preprocess_if_expr("preprocess_html") {
+  defines = [ "is_official_build=$is_official_build" ]
+  out_folder = "$target_gen_dir/$preprocess_folder"
+  in_files = html_files
 }
 
 html_to_wrapper("html_wrapper_files") {
-  deps = [ ":preprocess" ]
+  deps = [ ":preprocess_html" ]
   in_folder = "$target_gen_dir/$preprocess_folder"
   out_folder = "$target_gen_dir/$preprocess_folder"
   in_files = html_files
@@ -169,16 +174,6 @@
     ":html_wrapper_files",
     ":preprocess",
   ]
-
-  if (enable_webui_inline_sourcemaps) {
-    extra_deps += [ ":sourcemaps" ]
-  }
-}
-
-if (enable_webui_inline_sourcemaps) {
-  create_js_source_maps("sourcemaps") {
-    deps = [ ":preprocess" ]
-  }
 }
 
 generate_grd("build_grd") {
diff --git a/chrome/browser/resources/new_tab_page/middle_slot_promo.html b/chrome/browser/resources/new_tab_page/middle_slot_promo.html
index 6a40f88..33a47236 100644
--- a/chrome/browser/resources/new_tab_page/middle_slot_promo.html
+++ b/chrome/browser/resources/new_tab_page/middle_slot_promo.html
@@ -95,3 +95,13 @@
     </cr-icon-button>
   </template>
 </div>
+<cr-toast id="dismissPromoButtonToast" duration="10000">
+  <div id="dismissPromoButtonToastMessage">
+    $i18n{undoDismissPromoButtonToast}
+  </div>
+  <cr-button id="undoDismissPromoButton"
+      aria-label="$i18n{undoDescription}"
+      on-click="onUndoDismissPromoButtonClick_">
+    $i18n{undo}
+  </cr-button>
+</cr-toast>
diff --git a/chrome/browser/resources/new_tab_page/middle_slot_promo.ts b/chrome/browser/resources/new_tab_page/middle_slot_promo.ts
index c1647bf..28959c5 100644
--- a/chrome/browser/resources/new_tab_page/middle_slot_promo.ts
+++ b/chrome/browser/resources/new_tab_page/middle_slot_promo.ts
@@ -5,9 +5,11 @@
 import 'chrome://resources/cr_elements/shared_vars_css.m.js';
 
 import {CrAutoImgElement} from 'chrome://resources/cr_elements/cr_auto_img/cr_auto_img.js';
+import {CrToastElement} from 'chrome://resources/cr_elements/cr_toast/cr_toast.js';
 import {assert} from 'chrome://resources/js/assert_ts.js';
 import {Command} from 'chrome://resources/js/browser_command/browser_command.mojom-webui.js';
 import {BrowserCommandProxy} from 'chrome://resources/js/browser_command/browser_command_proxy.js';
+import {EventTracker} from 'chrome://resources/js/event_tracker.m.js';
 import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
 import {Url} from 'chrome://resources/mojo/url/mojom/url.mojom-webui.js';
 import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
@@ -117,6 +119,15 @@
   return null;
 }
 
+export interface MiddleSlotPromoElement {
+  $: {
+    promoAndDismissContainer: HTMLElement,
+    dismissPromoButtonToast: CrToastElement,
+    dismissPromoButtonToastMessage: HTMLElement,
+    undoDismissPromoButton: HTMLElement,
+  };
+}
+
 // Element that requests and renders the middle-slot promo. The element is
 // hidden until the promo is rendered, If no promo exists or the promo is empty,
 // the element remains hidden.
@@ -138,8 +149,19 @@
     };
   }
 
+  private eventTracker_: EventTracker = new EventTracker();
   private middleSlotPromoId_: string;
 
+  override connectedCallback() {
+    super.connectedCallback();
+    this.eventTracker_.add(window, 'keydown', this.onWindowKeydown_.bind(this));
+  }
+
+  override disconnectedCallback() {
+    super.disconnectedCallback();
+    this.eventTracker_.removeAll();
+  }
+
   override ready() {
     super.ready();
 
@@ -151,13 +173,10 @@
           this.middleSlotPromoId_ = promoId;
         }
 
-        const promoAndDismissContainer =
-            this.shadowRoot!.getElementById('promoAndDismissContainer');
-        assert(promoAndDismissContainer);
         const promoContainer = promo.container;
         if (promoContainer) {
-          promoAndDismissContainer.prepend(promoContainer);
-          promoAndDismissContainer.hidden = false;
+          this.$.promoAndDismissContainer.prepend(promoContainer);
+          this.$.promoAndDismissContainer.hidden = false;
         }
       }
       this.dispatchEvent(new Event(
@@ -165,13 +184,30 @@
     });
   }
 
+  private onWindowKeydown_(e: KeyboardEvent) {
+    let ctrlKeyPressed = e.ctrlKey;
+    // <if expr="is_macosx">
+    ctrlKeyPressed = ctrlKeyPressed || e.metaKey;
+    // </if>
+    if (ctrlKeyPressed && e.key === 'z') {
+      this.onUndoDismissPromoButtonClick_();
+    }
+  }
+
   private onDismissPromoButtonClick_() {
-    const promoAndDismissContainer =
-        this.shadowRoot!.getElementById('promoAndDismissContainer');
-    assert(promoAndDismissContainer);
-    promoAndDismissContainer.hidden = true;
+    assert(this.$.promoAndDismissContainer);
+    this.$.promoAndDismissContainer.hidden = true;
     NewTabPageProxy.getInstance().handler.blocklistPromo(
         this.middleSlotPromoId_);
+    this.$.dismissPromoButtonToast.show();
+  }
+
+  private onUndoDismissPromoButtonClick_() {
+    assert(this.$.promoAndDismissContainer);
+    NewTabPageProxy.getInstance().handler.undoBlocklistPromo(
+        this.middleSlotPromoId_);
+    this.$.promoAndDismissContainer.hidden = false;
+    this.$.dismissPromoButtonToast.hide();
   }
 }
 
diff --git a/chrome/browser/resources/new_tab_page/preprocess_if_expr_sourcemaps.gni b/chrome/browser/resources/new_tab_page/preprocess_if_expr_sourcemaps.gni
new file mode 100644
index 0000000..bed81d76
--- /dev/null
+++ b/chrome/browser/resources/new_tab_page/preprocess_if_expr_sourcemaps.gni
@@ -0,0 +1,47 @@
+# Copyright 2022 The Chromium 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("//tools/code_coverage/create_js_source_maps/create_js_source_maps.gni")
+import("//tools/grit/preprocess_if_expr.gni")
+
+template("preprocess_if_expr_sourcemaps") {
+  _out_folder = target_gen_dir
+  if (defined(invoker.out_folder)) {
+    _out_folder = invoker.out_folder
+  }
+
+  if (enable_webui_inline_sourcemaps) {
+    _preprocess_if_expr_target_name = "${target_name}__preprocess_if_expr"
+    _preprocess_if_expr_out_folder = "$_out_folder/preprocess_if_expr"
+  } else {
+    _preprocess_if_expr_target_name = target_name
+    _preprocess_if_expr_out_folder = _out_folder
+  }
+
+  preprocess_if_expr(_preprocess_if_expr_target_name) {
+    forward_variables_from(invoker,
+                           "*",
+                           [
+                             "out_folder",
+                             "enable_removal_comments",
+                           ])
+    out_folder = _preprocess_if_expr_out_folder
+    enable_removal_comments = enable_webui_inline_sourcemaps
+  }
+
+  if (enable_webui_inline_sourcemaps) {
+    create_js_source_maps(target_name) {
+      inline_sourcemaps = true
+      sources = []
+      outputs = []
+      foreach(in_file, invoker.in_files) {
+        assert(get_path_info(in_file, "extension") == "ts" ||
+               get_path_info(in_file, "extension") == "js")
+        sources += [ "$_preprocess_if_expr_out_folder/" + in_file ]
+        outputs += [ "$_out_folder/" + in_file ]
+      }
+      deps = [ ":$_preprocess_if_expr_target_name" ]
+    }
+  }
+}
diff --git a/chrome/browser/resources/settings/chromeos/BUILD.gn b/chrome/browser/resources/settings/chromeos/BUILD.gn
index ff1a8398..9c01bdc 100644
--- a/chrome/browser/resources/settings/chromeos/BUILD.gn
+++ b/chrome/browser/resources/settings/chromeos/BUILD.gn
@@ -99,8 +99,8 @@
 }
 
 # TypeScript Build Configuration
-# TODO(crbug/1315757) Gradually remove JS files from preprocess_web_components
-# and preprocess_non_web_component_files, and add them as input files here.
+# TODO(crbug/1315757) Gradually remove JS files from blocked_web_component_files
+# and blocked_non_web_component_files, and add them as input files here.
 # Eventually, ts_library() will be the only build path for all JS/TS files.
 # Any JS file in passed into this build rule is elligble to be converted to TS.
 ts_library("build_ts") {
@@ -110,27 +110,31 @@
     "//ui/webui/resources:library",
   ]
   extra_deps = [
-    ":preprocess_ts_non_web_component_files",
-    ":preprocess_ts_web_components",
+    ":preprocess_generated_ts_files",
+    ":preprocess_source_ts_files",
   ]
-  definitions = [ "//tools/typescript/definitions/chrome_send.d.ts" ]
+  definitions = [
+    "//tools/typescript/definitions/chrome_send.d.ts",
+    "//tools/typescript/definitions/bluetooth.d.ts",
+    "//tools/typescript/definitions/bluetooth_private.d.ts",
+  ]
   root_dir = "$target_gen_dir/$preprocessed_ts_folder"
-  in_files = ts_non_web_component_files + ts_web_component_files
+  in_files = source_ts_files + generated_ts_files
   out_dir = "$target_gen_dir/$preprocessed_folder"
 }
 
-preprocess_if_expr("preprocess_ts_non_web_component_files") {
+preprocess_if_expr("preprocess_source_ts_files") {
   defines = chrome_grit_defines
   in_folder = "../"
-  in_files = ts_non_web_component_files
+  in_files = source_ts_files
   out_folder = "$target_gen_dir/$preprocessed_ts_folder"
 }
 
-preprocess_if_expr("preprocess_ts_web_components") {
+preprocess_if_expr("preprocess_generated_ts_files") {
   defines = chrome_grit_defines
   deps = [ ":generate_web_components" ]
   in_folder = get_path_info("../", "gen_dir")
-  in_files = ts_web_component_files
+  in_files = generated_ts_files
   out_folder = "$target_gen_dir/$preprocessed_ts_folder"
 }
 
@@ -340,81 +344,7 @@
   in_folder = "../"
   out_folder = "$target_gen_dir/$preprocessed_folder"
   out_manifest = "$target_gen_dir/$non_web_component_files_manifest"
-  in_files = [
-    "chromeos/os_people_page/lock_state_behavior.js",
-    "chromeos/os_people_page/os_sync_browser_proxy.js",
-    "chromeos/crostini_page/crostini_browser_proxy.js",
-    "chromeos/date_time_page/date_time_types.js",
-    "chromeos/date_time_page/timezone_browser_proxy.js",
-    "chromeos/device_page/cros_audio_config.js",
-    "chromeos/device_page/device_page_browser_proxy.js",
-    "chromeos/device_page/drag_behavior.js",
-    "chromeos/device_page/layout_behavior.js",
-    "chromeos/google_assistant_page/google_assistant_browser_proxy.js",
-    "chromeos/guest_os/guest_os_browser_proxy.js",
-    "chromeos/os_privacy_page/privacy_hub_browser_proxy.js",
-    "chromeos/internet_page/cellular_setup_settings_delegate.js",
-    "chromeos/internet_page/internet_page_browser_proxy.js",
-    "chromeos/kerberos_page/kerberos_accounts_browser_proxy.js",
-    "chromeos/multidevice_page/multidevice_browser_proxy.js",
-    "chromeos/multidevice_page/multidevice_constants.js",
-    "chromeos/multidevice_page/multidevice_feature_behavior.js",
-    "chromeos/multidevice_page/multidevice_metrics_logger.js",
-    "chromeos/nearby_share_page/nearby_account_manager_browser_proxy.js",
-    "chromeos/nearby_share_page/nearby_share_receive_manager.js",
-    "chromeos/nearby_share_page/types.js",
-    "chromeos/os_a11y_page/manage_a11y_page_browser_proxy.js",
-    "chromeos/os_a11y_page/os_a11y_page_browser_proxy.js",
-    "chromeos/os_a11y_page/switch_access_constants.js",
-    "chromeos/os_a11y_page/switch_access_subpage_browser_proxy.js",
-    "chromeos/os_a11y_page/text_to_speech_page_browser_proxy.js",
-    "chromeos/os_a11y_page/keyboard_and_text_input_page_browser_proxy.js",
-    "chromeos/os_a11y_page/cursor_and_touchpad_page_browser_proxy.js",
-    "chromeos/os_a11y_page/audio_and_captions_page_browser_proxy.js",
-    "chromeos/os_a11y_page/tts_subpage_browser_proxy.js",
-    "chromeos/os_apps_page/android_apps_browser_proxy.js",
-    "chromeos/os_apps_page/app_management_page/actions.js",
-    "chromeos/os_apps_page/app_management_page/api_listener.js",
-    "chromeos/os_apps_page/app_management_page/browser_proxy.js",
-    "chromeos/os_apps_page/app_management_page/fake_page_handler.js",
-    "chromeos/os_apps_page/app_management_page/reducers.js",
-    "chromeos/os_apps_page/app_management_page/plugin_vm_page/plugin_vm_browser_proxy.js",
-    "chromeos/os_apps_page/app_management_page/store.js",
-    "chromeos/os_apps_page/app_management_page/store_client.js",
-    "chromeos/os_apps_page/app_management_page/util.js",
-    "chromeos/os_apps_page/app_management_page/types.js",
-    "chromeos/os_apps_page/app_notifications_page/mojo_interface_provider.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_devices_subpage_browser_proxy.js",
-    "chromeos/os_bluetooth_page/settings_fast_pair_constants.js",
-    "chromeos/os_languages_page/input_method_settings.js",
-    "chromeos/os_languages_page/languages_browser_proxy.js",
-    "chromeos/os_languages_page/languages.js",
-    "chromeos/os_languages_page/languages_types.js",
-    "chromeos/os_languages_page/input_method_util.js",
-    "chromeos/os_languages_page/languages_metrics_proxy.js",
-    "chromeos/os_people_page/fingerprint_browser_proxy.js",
-    "chromeos/os_printing_page/cups_printers_entry_list_behavior.js",
-    "chromeos/os_printing_page/cups_printer_dialog_util.js",
-    "chromeos/os_printing_page/cups_printer_types.js",
-    "chromeos/os_printing_page/cups_printers_browser_proxy.js",
-    "chromeos/os_printing_page/cups_printers_entry_manager.js",
-    "chromeos/os_search_page/search_engines_browser_proxy.js",
-    "chromeos/os_settings_page/main_page_behavior.js",
-    "chromeos/bluetooth_page/bluetooth_page_browser_proxy.js",
-    "chromeos/os_about_page/about_page_browser_proxy.js",
-    "chromeos/os_about_page/device_name_browser_proxy.js",
-    "chromeos/os_about_page/device_name_util.js",
-    "chromeos/os_reset_page/os_reset_browser_proxy.js",
-    "chromeos/parental_controls_page/parental_controls_browser_proxy.js",
-    "chromeos/personalization_page/change_picture_browser_proxy.js",
-    "chromeos/personalization_page/personalization_hub_browser_proxy.js",
-    "chromeos/personalization_page/wallpaper_browser_proxy.js",
-    "chromeos/os_privacy_page/peripheral_data_access_browser_proxy.js",
-    "chromeos/os_privacy_page/metrics_consent_browser_proxy.js",
-    "chromeos/os_people_page/account_manager_browser_proxy.js",
-    "chromeos/ambient_mode_page/ambient_mode_browser_proxy.js",
-    "chromeos/ambient_mode_page/constants.js",
-  ]
+  in_files = blocked_source_ts_files
 }
 
 # Since Browser Settings is migrating to TypeScript (crbug.com/1234307), and
@@ -427,6 +357,31 @@
   out_folder = "$target_gen_dir/$preprocessed_folder"
   out_manifest = "$target_gen_dir/$browser_settings_tsc_manifest"
 
+  # Files that don't have a corresponding HTML file.
+  in_files = [
+    "appearance_page/fonts_browser_proxy.js",
+    "controls/cr_policy_pref_mixin.js",
+    "controls/pref_control_mixin.js",
+    "controls/settings_boolean_control_mixin.js",
+    "extension_control_browser_proxy.js",
+    "i18n_setup.js",
+    "icons.html.js",
+    "lifetime_browser_proxy.js",
+    "open_window_proxy.js",
+    "people_page/profile_info_browser_proxy.js",
+    "people_page/sync_browser_proxy.js",
+    "prefs/prefs.js",
+    "prefs/prefs_mixin.js",
+    "prefs/prefs_types.js",
+    "prefs/pref_util.js",
+    "privacy_page/privacy_page_browser_proxy.js",
+    "relaunch_mixin.js",
+    "setting_id_param_util.js",
+    "settings_page_styles.css.js",
+    "settings_shared.css.js",
+    "settings_vars.css.js",
+  ]
+
   # Files that have a corresponding HTML wrapper file.
   browser_settings_web_component_files = [
     "a11y_page/captions_subpage.js",
@@ -454,31 +409,6 @@
     "site_favicon.js",
   ]
 
-  # Files that don't have a corresponding HTML file.
-  in_files = [
-    "appearance_page/fonts_browser_proxy.js",
-    "controls/cr_policy_pref_mixin.js",
-    "controls/pref_control_mixin.js",
-    "controls/settings_boolean_control_mixin.js",
-    "extension_control_browser_proxy.js",
-    "i18n_setup.js",
-    "icons.html.js",
-    "lifetime_browser_proxy.js",
-    "open_window_proxy.js",
-    "people_page/profile_info_browser_proxy.js",
-    "people_page/sync_browser_proxy.js",
-    "prefs/prefs.js",
-    "prefs/prefs_mixin.js",
-    "prefs/prefs_types.js",
-    "prefs/pref_util.js",
-    "privacy_page/privacy_page_browser_proxy.js",
-    "relaunch_mixin.js",
-    "setting_id_param_util.js",
-    "settings_page_styles.css.js",
-    "settings_shared.css.js",
-    "settings_vars.css.js",
-  ]
-
   foreach(f, browser_settings_web_component_files) {
     in_files += [
       f,
@@ -493,220 +423,7 @@
   in_folder = get_path_info("../", "gen_dir")
   out_folder = "$target_gen_dir/$preprocessed_folder"
   out_manifest = "$target_gen_dir/$web_components_manifest"
-  in_files = [
-    "chromeos/ambient_mode_page/album_item.js",
-    "chromeos/ambient_mode_page/album_list.js",
-    "chromeos/ambient_mode_page/ambient_mode_page.js",
-    "chromeos/ambient_mode_page/ambient_mode_photos_page.js",
-    "chromeos/ambient_mode_page/art_album_dialog.js",
-    "chromeos/ambient_mode_page/text_with_tooltip.js",
-    "chromeos/ambient_mode_page/topic_source_item.js",
-    "chromeos/ambient_mode_page/topic_source_list.js",
-    "chromeos/bluetooth_page/bluetooth_device_list_item.js",
-    "chromeos/bluetooth_page/bluetooth_page.js",
-    "chromeos/bluetooth_page/bluetooth_subpage.js",
-    "chromeos/crostini_page/bruschetta_subpage.js",
-    "chromeos/crostini_page/crostini_arc_adb_confirmation_dialog.js",
-    "chromeos/crostini_page/crostini_arc_adb.js",
-    "chromeos/crostini_page/crostini_confirmation_dialog.js",
-    "chromeos/crostini_page/crostini_disk_resize_confirmation_dialog.js",
-    "chromeos/crostini_page/crostini_disk_resize_dialog.js",
-    "chromeos/crostini_page/crostini_export_import.js",
-    "chromeos/crostini_page/crostini_extra_containers_create_dialog.js",
-    "chromeos/crostini_page/crostini_extra_containers.js",
-    "chromeos/crostini_page/crostini_import_confirmation_dialog.js",
-    "chromeos/crostini_page/crostini_page.js",
-    "chromeos/crostini_page/crostini_port_forwarding_add_port_dialog.js",
-    "chromeos/crostini_page/crostini_port_forwarding.js",
-    "chromeos/crostini_page/crostini_subpage.js",
-    "chromeos/date_time_page/date_time_page.js",
-    "chromeos/date_time_page/timezone_selector.js",
-    "chromeos/date_time_page/timezone_subpage.js",
-    "chromeos/device_page/audio.js",
-    "chromeos/device_page/device_page.js",
-    "chromeos/device_page/display.js",
-    "chromeos/device_page/display_layout.js",
-    "chromeos/device_page/display_overscan_dialog.js",
-    "chromeos/device_page/keyboard.js",
-    "chromeos/device_page/pointers.js",
-    "chromeos/device_page/power.js",
-    "chromeos/device_page/storage_external_entry.js",
-    "chromeos/device_page/storage_external.js",
-    "chromeos/device_page/storage.js",
-    "chromeos/device_page/stylus.js",
-    "chromeos/google_assistant_page/google_assistant_page.js",
-    "chromeos/guest_os/guest_os_container_select.js",
-    "chromeos/guest_os/guest_os_shared_paths.js",
-    "chromeos/guest_os/guest_os_shared_usb_devices.js",
-    "chromeos/internet_page/cellular_networks_list.js",
-    "chromeos/internet_page/cellular_roaming_toggle_button.js",
-    "chromeos/internet_page/cellular_setup_dialog.js",
-    "chromeos/internet_page/esim_install_error_dialog.js",
-    "chromeos/internet_page/esim_remove_profile_dialog.js",
-    "chromeos/internet_page/esim_rename_dialog.js",
-    "chromeos/internet_page/internet_config.js",
-    "chromeos/internet_page/internet_detail_menu.js",
-    "chromeos/internet_page/internet_detail_page.js",
-    "chromeos/internet_page/internet_known_networks_page.js",
-    "chromeos/internet_page/internet_page.js",
-    "chromeos/internet_page/internet_shared_css.js",
-    "chromeos/internet_page/internet_subpage.js",
-    "chromeos/internet_page/network_always_on_vpn.js",
-    "chromeos/internet_page/network_proxy_section.js",
-    "chromeos/internet_page/network_summary_item.js",
-    "chromeos/internet_page/network_summary.js",
-    "chromeos/internet_page/settings_traffic_counters.js",
-    "chromeos/internet_page/tether_connection_dialog.js",
-    "chromeos/kerberos_page/kerberos_accounts.js",
-    "chromeos/kerberos_page/kerberos_add_account_dialog.js",
-    "chromeos/kerberos_page/kerberos_page.js",
-    "chromeos/keyboard_shortcut_banner/keyboard_shortcut_banner.js",
-    "chromeos/multidevice_page/multidevice_combined_setup_item.js",
-    "chromeos/multidevice_page/multidevice_feature_item.js",
-    "chromeos/multidevice_page/multidevice_feature_toggle.js",
-    "chromeos/multidevice_page/multidevice_notification_access_setup_dialog.js",
-    "chromeos/multidevice_page/multidevice_page.js",
-    "chromeos/multidevice_page/multidevice_permissions_setup_dialog.js",
-    "chromeos/multidevice_page/multidevice_radio_button.js",
-    "chromeos/multidevice_page/multidevice_screen_lock_subpage.js",
-    "chromeos/multidevice_page/multidevice_smartlock_item.js",
-    "chromeos/multidevice_page/multidevice_smartlock_subpage.js",
-    "chromeos/multidevice_page/multidevice_subpage.js",
-    "chromeos/multidevice_page/multidevice_task_continuation_disabled_link.js",
-    "chromeos/multidevice_page/multidevice_task_continuation_item.js",
-    "chromeos/multidevice_page/multidevice_tether_item.js",
-    "chromeos/multidevice_page/multidevice_wifi_sync_disabled_link.js",
-    "chromeos/multidevice_page/multidevice_wifi_sync_item.js",
-    "chromeos/nearby_share_page/nearby_share_confirm_page.js",
-    "chromeos/nearby_share_page/nearby_share_contact_visibility_dialog.js",
-    "chromeos/nearby_share_page/nearby_share_data_usage_dialog.js",
-    "chromeos/nearby_share_page/nearby_share_device_name_dialog.js",
-    "chromeos/nearby_share_page/nearby_share_high_visibility_page.js",
-    "chromeos/nearby_share_page/nearby_share_receive_dialog.js",
-    "chromeos/nearby_share_page/nearby_share_subpage.js",
-    "chromeos/os_a11y_page/change_dictation_locale_dialog.js",
-    "chromeos/os_a11y_page/display_and_magnification_page.js",
-    "chromeos/os_a11y_page/keyboard_and_text_input_page.js",
-    "chromeos/os_a11y_page/cursor_and_touchpad_page.js",
-    "chromeos/os_a11y_page/audio_and_captions_page.js",
-    "chromeos/os_a11y_page/manage_a11y_page.js",
-    "chromeos/os_a11y_page/os_a11y_page.js",
-    "chromeos/os_a11y_page/switch_access_action_assignment_dialog.js",
-    "chromeos/os_a11y_page/switch_access_action_assignment_pane.js",
-    "chromeos/os_a11y_page/switch_access_setup_guide_dialog.js",
-    "chromeos/os_a11y_page/switch_access_setup_guide_warning_dialog.js",
-    "chromeos/os_a11y_page/switch_access_subpage.js",
-    "chromeos/os_a11y_page/text_to_speech_page.js",
-    "chromeos/os_a11y_page/tts_subpage.js",
-    "chromeos/os_about_page/channel_switcher_dialog.js",
-    "chromeos/os_about_page/consumer_auto_update_toggle_dialog.js",
-    "chromeos/os_about_page/detailed_build_info.js",
-    "chromeos/os_about_page/edit_hostname_dialog.js",
-    "chromeos/os_about_page/os_about_page.js",
-    "chromeos/os_about_page/update_warning_dialog.js",
-    "chromeos/os_apps_page/android_apps_subpage.js",
-    "chromeos/os_apps_page/app_management_page/app_details_item.js",
-    "chromeos/os_apps_page/app_management_page/app_detail_view.js",
-    "chromeos/os_apps_page/app_management_page/app_item.js",
-    "chromeos/os_apps_page/app_management_page/app_management_page.js",
-    "chromeos/os_apps_page/app_management_page/arc_detail_view.js",
-    "chromeos/os_apps_page/app_management_page/borealis_page/borealis_detail_view.js",
-    "chromeos/os_apps_page/app_management_page/chrome_app_detail_view.js",
-    "chromeos/os_apps_page/app_management_page/dom_switch.js",
-    "chromeos/os_apps_page/app_management_page/main_view.js",
-    "chromeos/os_apps_page/app_management_page/pin_to_shelf_item.js",
-    "chromeos/os_apps_page/app_management_page/plugin_vm_page/plugin_vm_detail_view.js",
-    "chromeos/os_apps_page/app_management_page/pwa_detail_view.js",
-    "chromeos/os_apps_page/app_management_page/resize_lock_item.js",
-    "chromeos/os_apps_page/app_management_page/shared_style.js",
-    "chromeos/os_apps_page/app_management_page/shared_vars.js",
-    "chromeos/os_apps_page/app_management_page/supported_links_dialog.js",
-    "chromeos/os_apps_page/app_management_page/supported_links_item.js",
-    "chromeos/os_apps_page/app_management_page/supported_links_overlapping_apps_dialog.js",
-    "chromeos/os_apps_page/app_notifications_page/app_notification_row.js",
-    "chromeos/os_apps_page/app_notifications_page/app_notifications_subpage.js",
-    "chromeos/os_apps_page/os_apps_page.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_change_device_name_dialog.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_device_detail_subpage.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_devices_subpage.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_saved_devices_subpage.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_page.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_pairing_dialog.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_summary.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_true_wireless_images.js",
-    "chromeos/os_bluetooth_page/os_paired_bluetooth_list_item.js",
-    "chromeos/os_bluetooth_page/os_paired_bluetooth_list.js",
-    "chromeos/os_bluetooth_page/os_saved_devices_list.js",
-    "chromeos/os_bluetooth_page/os_saved_devices_list_item.js",
-    "chromeos/os_bluetooth_page/os_remove_saved_device_dialog.js",
-    "chromeos/os_bluetooth_page/os_bluetooth_forget_device_dialog.js",
-    "chromeos/os_bluetooth_page/settings_fast_pair_toggle.js",
-    "chromeos/os_files_page/os_files_page.js",
-    "chromeos/os_files_page/smb_shares_page.js",
-    "chromeos/os_languages_page/add_input_methods_dialog.js",
-    "chromeos/os_languages_page/add_items_dialog.js",
-    "chromeos/os_languages_page/add_spellcheck_languages_dialog.js",
-    "chromeos/os_languages_page/change_device_language_dialog.js",
-    "chromeos/os_languages_page/cr_checkbox_with_policy.js",
-    "chromeos/os_languages_page/input_method_options_page.js",
-    "chromeos/os_languages_page/input_page.js",
-    "chromeos/os_languages_page/os_add_languages_dialog.js",
-    "chromeos/os_languages_page/os_edit_dictionary_page.js",
-    "chromeos/os_languages_page/os_languages_page_v2.js",
-    "chromeos/os_languages_page/os_languages_section.js",
-    "chromeos/os_languages_page/shared_style.js",
-    "chromeos/os_languages_page/shared_vars.js",
-    "chromeos/os_languages_page/smart_inputs_page.js",
-    "chromeos/os_people_page/account_manager.js",
-    "chromeos/os_people_page/fingerprint_list.js",
-    "chromeos/os_people_page/lock_screen.js",
-    "chromeos/os_people_page/lock_screen_password_prompt_dialog.js",
-    "chromeos/os_people_page/os_people_page.js",
-    "chromeos/os_people_page/os_sync_controls.js",
-    "chromeos/os_people_page/pin_autosubmit_dialog.js",
-    "chromeos/os_people_page/setup_fingerprint_dialog.js",
-    "chromeos/os_people_page/setup_pin_dialog.js",
-    "chromeos/os_people_page/user_list.js",
-    "chromeos/os_people_page/users_add_user_dialog.js",
-    "chromeos/os_people_page/users_page.js",
-    "chromeos/os_printing_page/cups_add_printer_dialog.js",
-    "chromeos/os_printing_page/cups_add_printer_manually_dialog.js",
-    "chromeos/os_printing_page/cups_add_printer_manufacturer_model_dialog.js",
-    "chromeos/os_printing_page/cups_add_print_server_dialog.js",
-    "chromeos/os_printing_page/cups_edit_printer_dialog.js",
-    "chromeos/os_printing_page/cups_enterprise_printers.js",
-    "chromeos/os_printing_page/cups_nearby_printers.js",
-    "chromeos/os_printing_page/cups_printer_dialog_error.js",
-    "chromeos/os_printing_page/cups_printers_entry.js",
-    "chromeos/os_printing_page/cups_printer_shared_css.js",
-    "chromeos/os_printing_page/cups_printers.js",
-    "chromeos/os_printing_page/cups_saved_printers.js",
-    "chromeos/os_printing_page/cups_settings_add_printer_dialog.js",
-    "chromeos/os_printing_page/os_printing_page.js",
-    "chromeos/os_privacy_page/os_privacy_page.js",
-    "chromeos/os_privacy_page/peripheral_data_access_protection_dialog.js",
-    "chromeos/os_privacy_page/privacy_hub_page.js",
-    "chromeos/os_privacy_page/smart_privacy_page.js",
-    "chromeos/os_reset_page/os_powerwash_dialog_esim_item.js",
-    "chromeos/os_reset_page/os_powerwash_dialog.js",
-    "chromeos/os_reset_page/os_reset_page.js",
-    "chromeos/os_search_page/os_search_page.js",
-    "chromeos/os_search_page/os_search_selection_dialog.js",
-    "chromeos/os_search_page/search_engine.js",
-    "chromeos/os_search_page/search_subpage.js",
-    "chromeos/os_settings_main/os_settings_main.js",
-    "chromeos/os_settings_menu/os_settings_menu.js",
-    "chromeos/os_settings_page/os_settings_page.js",
-    "chromeos/os_settings_page/settings_idle_load.js",
-    "chromeos/os_settings_search_box/os_search_result_row.js",
-    "chromeos/os_settings_search_box/os_settings_search_box.js",
-    "chromeos/os_settings_ui/os_settings_ui.js",
-    "chromeos/os_toolbar/os_toolbar.js",
-    "chromeos/parental_controls_page/parental_controls_page.js",
-    "chromeos/personalization_page/change_picture.js",
-    "chromeos/personalization_page/personalization_page.js",
-    "chromeos/settings_scheduler_slider/settings_scheduler_slider.js",
-  ]
+  in_files = blocked_generated_ts_files
 }
 
 html_to_js("web_components") {
diff --git a/chrome/browser/resources/settings/chromeos/os_settings.gni b/chrome/browser/resources/settings/chromeos/os_settings.gni
index 3f087da..754df883 100644
--- a/chrome/browser/resources/settings/chromeos/os_settings.gni
+++ b/chrome/browser/resources/settings/chromeos/os_settings.gni
@@ -5,12 +5,255 @@
 import("//third_party/closure_compiler/compile_js.gni")
 import("../settings.gni")
 
-ts_web_component_files = [
-  "chromeos/os_icons.js",
-  "chromeos/os_settings_icons_css.js",
+# TODO(crbug/1315757) These "blocked" files will should be transferred to their
+# respective list (generated_ts_files or source_ts_files) once
+# eligible to be converted to TS and passed to ts_library().
+blocked_generated_ts_files = [
+  "chromeos/internet_page/cellular_networks_list.js",
+  "chromeos/internet_page/cellular_roaming_toggle_button.js",
+  "chromeos/internet_page/cellular_setup_dialog.js",
+  "chromeos/internet_page/esim_install_error_dialog.js",
+  "chromeos/internet_page/esim_remove_profile_dialog.js",
+  "chromeos/internet_page/esim_rename_dialog.js",
+  "chromeos/internet_page/internet_config.js",
+  "chromeos/internet_page/internet_detail_menu.js",
+  "chromeos/internet_page/internet_detail_page.js",
+  "chromeos/internet_page/internet_known_networks_page.js",
+  "chromeos/internet_page/internet_page.js",
+  "chromeos/internet_page/internet_shared_css.js",
+  "chromeos/internet_page/internet_subpage.js",
+  "chromeos/internet_page/network_always_on_vpn.js",
+  "chromeos/internet_page/network_proxy_section.js",
+  "chromeos/internet_page/network_summary_item.js",
+  "chromeos/internet_page/network_summary.js",
+  "chromeos/internet_page/settings_traffic_counters.js",
+  "chromeos/internet_page/tether_connection_dialog.js",
+  "chromeos/multidevice_page/multidevice_combined_setup_item.js",
+  "chromeos/multidevice_page/multidevice_feature_item.js",
+  "chromeos/multidevice_page/multidevice_feature_toggle.js",
+  "chromeos/multidevice_page/multidevice_notification_access_setup_dialog.js",
+  "chromeos/multidevice_page/multidevice_page.js",
+  "chromeos/multidevice_page/multidevice_permissions_setup_dialog.js",
+  "chromeos/multidevice_page/multidevice_radio_button.js",
+  "chromeos/multidevice_page/multidevice_screen_lock_subpage.js",
+  "chromeos/multidevice_page/multidevice_smartlock_item.js",
+  "chromeos/multidevice_page/multidevice_smartlock_subpage.js",
+  "chromeos/multidevice_page/multidevice_subpage.js",
+  "chromeos/multidevice_page/multidevice_task_continuation_disabled_link.js",
+  "chromeos/multidevice_page/multidevice_task_continuation_item.js",
+  "chromeos/multidevice_page/multidevice_tether_item.js",
+  "chromeos/multidevice_page/multidevice_wifi_sync_disabled_link.js",
+  "chromeos/multidevice_page/multidevice_wifi_sync_item.js",
+  "chromeos/os_languages_page/add_input_methods_dialog.js",
+  "chromeos/os_languages_page/add_items_dialog.js",
+  "chromeos/os_languages_page/add_spellcheck_languages_dialog.js",
+  "chromeos/os_languages_page/change_device_language_dialog.js",
+  "chromeos/os_languages_page/cr_checkbox_with_policy.js",
+  "chromeos/os_languages_page/input_method_options_page.js",
+  "chromeos/os_languages_page/input_page.js",
+  "chromeos/os_languages_page/os_add_languages_dialog.js",
+  "chromeos/os_languages_page/os_edit_dictionary_page.js",
+  "chromeos/os_languages_page/os_languages_page_v2.js",
+  "chromeos/os_languages_page/os_languages_section.js",
+  "chromeos/os_languages_page/shared_style.js",
+  "chromeos/os_languages_page/shared_vars.js",
+  "chromeos/os_languages_page/smart_inputs_page.js",
+  "chromeos/os_printing_page/cups_add_printer_dialog.js",
+  "chromeos/os_printing_page/cups_add_printer_manually_dialog.js",
+  "chromeos/os_printing_page/cups_add_printer_manufacturer_model_dialog.js",
+  "chromeos/os_printing_page/cups_add_print_server_dialog.js",
+  "chromeos/os_printing_page/cups_edit_printer_dialog.js",
+  "chromeos/os_printing_page/cups_enterprise_printers.js",
+  "chromeos/os_printing_page/cups_nearby_printers.js",
+  "chromeos/os_printing_page/cups_printer_dialog_error.js",
+  "chromeos/os_printing_page/cups_printers_entry.js",
+  "chromeos/os_printing_page/cups_printer_shared_css.js",
+  "chromeos/os_printing_page/cups_printers.js",
+  "chromeos/os_printing_page/cups_saved_printers.js",
+  "chromeos/os_printing_page/cups_settings_add_printer_dialog.js",
+  "chromeos/os_printing_page/os_printing_page.js",
+  "chromeos/os_reset_page/os_powerwash_dialog_esim_item.js",
+  "chromeos/os_reset_page/os_powerwash_dialog.js",
+  "chromeos/os_reset_page/os_reset_page.js",
 ]
 
-ts_non_web_component_files = [
+blocked_source_ts_files = [
+  "chromeos/internet_page/cellular_setup_settings_delegate.js",
+  "chromeos/internet_page/internet_page_browser_proxy.js",
+  "chromeos/multidevice_page/multidevice_browser_proxy.js",
+  "chromeos/multidevice_page/multidevice_constants.js",
+  "chromeos/multidevice_page/multidevice_feature_behavior.js",
+  "chromeos/multidevice_page/multidevice_metrics_logger.js",
+  "chromeos/os_languages_page/input_method_settings.js",
+  "chromeos/os_languages_page/languages_browser_proxy.js",
+  "chromeos/os_languages_page/languages.js",
+  "chromeos/os_languages_page/languages_types.js",
+  "chromeos/os_languages_page/input_method_util.js",
+  "chromeos/os_languages_page/languages_metrics_proxy.js",
+  "chromeos/os_printing_page/cups_printers_entry_list_behavior.js",
+  "chromeos/os_printing_page/cups_printer_dialog_util.js",
+  "chromeos/os_printing_page/cups_printer_types.js",
+  "chromeos/os_printing_page/cups_printers_browser_proxy.js",
+  "chromeos/os_printing_page/cups_printers_entry_manager.js",
+  "chromeos/os_reset_page/os_reset_browser_proxy.js",
+]
+
+# TODO(crbug/1315757) JS files here are available for TS conversion
+# These files are derived from gen_dir and are generated by either html_to_js()
+# or html_to_wrapper()
+generated_ts_files = [
+  "chromeos/os_icons.js",
+  "chromeos/os_settings_icons_css.js",
+  "chromeos/ambient_mode_page/album_item.js",
+  "chromeos/ambient_mode_page/album_list.js",
+  "chromeos/ambient_mode_page/ambient_mode_page.js",
+  "chromeos/ambient_mode_page/ambient_mode_photos_page.js",
+  "chromeos/ambient_mode_page/art_album_dialog.js",
+  "chromeos/ambient_mode_page/text_with_tooltip.js",
+  "chromeos/ambient_mode_page/topic_source_item.js",
+  "chromeos/ambient_mode_page/topic_source_list.js",
+  "chromeos/bluetooth_page/bluetooth_device_list_item.js",
+  "chromeos/bluetooth_page/bluetooth_page.js",
+  "chromeos/bluetooth_page/bluetooth_subpage.js",
+  "chromeos/crostini_page/bruschetta_subpage.js",
+  "chromeos/crostini_page/crostini_arc_adb_confirmation_dialog.js",
+  "chromeos/crostini_page/crostini_arc_adb.js",
+  "chromeos/crostini_page/crostini_confirmation_dialog.js",
+  "chromeos/crostini_page/crostini_disk_resize_confirmation_dialog.js",
+  "chromeos/crostini_page/crostini_disk_resize_dialog.js",
+  "chromeos/crostini_page/crostini_export_import.js",
+  "chromeos/crostini_page/crostini_extra_containers_create_dialog.js",
+  "chromeos/crostini_page/crostini_extra_containers.js",
+  "chromeos/crostini_page/crostini_import_confirmation_dialog.js",
+  "chromeos/crostini_page/crostini_page.js",
+  "chromeos/crostini_page/crostini_port_forwarding_add_port_dialog.js",
+  "chromeos/crostini_page/crostini_port_forwarding.js",
+  "chromeos/crostini_page/crostini_subpage.js",
+  "chromeos/date_time_page/date_time_page.js",
+  "chromeos/date_time_page/timezone_selector.js",
+  "chromeos/date_time_page/timezone_subpage.js",
+  "chromeos/device_page/audio.js",
+  "chromeos/device_page/device_page.js",
+  "chromeos/device_page/display.js",
+  "chromeos/device_page/display_layout.js",
+  "chromeos/device_page/display_overscan_dialog.js",
+  "chromeos/device_page/keyboard.js",
+  "chromeos/device_page/pointers.js",
+  "chromeos/device_page/power.js",
+  "chromeos/device_page/storage_external_entry.js",
+  "chromeos/device_page/storage_external.js",
+  "chromeos/device_page/storage.js",
+  "chromeos/device_page/stylus.js",
+  "chromeos/google_assistant_page/google_assistant_page.js",
+  "chromeos/guest_os/guest_os_container_select.js",
+  "chromeos/guest_os/guest_os_shared_paths.js",
+  "chromeos/guest_os/guest_os_shared_usb_devices.js",
+  "chromeos/kerberos_page/kerberos_accounts.js",
+  "chromeos/kerberos_page/kerberos_add_account_dialog.js",
+  "chromeos/kerberos_page/kerberos_page.js",
+  "chromeos/keyboard_shortcut_banner/keyboard_shortcut_banner.js",
+  "chromeos/nearby_share_page/nearby_share_confirm_page.js",
+  "chromeos/nearby_share_page/nearby_share_contact_visibility_dialog.js",
+  "chromeos/nearby_share_page/nearby_share_data_usage_dialog.js",
+  "chromeos/nearby_share_page/nearby_share_device_name_dialog.js",
+  "chromeos/nearby_share_page/nearby_share_high_visibility_page.js",
+  "chromeos/nearby_share_page/nearby_share_receive_dialog.js",
+  "chromeos/nearby_share_page/nearby_share_subpage.js",
+  "chromeos/os_a11y_page/audio_and_captions_page.js",
+  "chromeos/os_a11y_page/change_dictation_locale_dialog.js",
+  "chromeos/os_a11y_page/cursor_and_touchpad_page.js",
+  "chromeos/os_a11y_page/display_and_magnification_page.js",
+  "chromeos/os_a11y_page/keyboard_and_text_input_page.js",
+  "chromeos/os_a11y_page/manage_a11y_page.js",
+  "chromeos/os_a11y_page/os_a11y_page.js",
+  "chromeos/os_a11y_page/switch_access_action_assignment_dialog.js",
+  "chromeos/os_a11y_page/switch_access_action_assignment_pane.js",
+  "chromeos/os_a11y_page/switch_access_setup_guide_dialog.js",
+  "chromeos/os_a11y_page/switch_access_setup_guide_warning_dialog.js",
+  "chromeos/os_a11y_page/switch_access_subpage.js",
+  "chromeos/os_a11y_page/text_to_speech_page.js",
+  "chromeos/os_a11y_page/tts_subpage.js",
+  "chromeos/os_about_page/channel_switcher_dialog.js",
+  "chromeos/os_about_page/consumer_auto_update_toggle_dialog.js",
+  "chromeos/os_about_page/detailed_build_info.js",
+  "chromeos/os_about_page/edit_hostname_dialog.js",
+  "chromeos/os_about_page/os_about_page.js",
+  "chromeos/os_about_page/update_warning_dialog.js",
+  "chromeos/os_apps_page/android_apps_subpage.js",
+  "chromeos/os_apps_page/app_management_page/app_details_item.js",
+  "chromeos/os_apps_page/app_management_page/app_detail_view.js",
+  "chromeos/os_apps_page/app_management_page/app_item.js",
+  "chromeos/os_apps_page/app_management_page/app_management_page.js",
+  "chromeos/os_apps_page/app_management_page/arc_detail_view.js",
+  "chromeos/os_apps_page/app_management_page/borealis_page/borealis_detail_view.js",
+  "chromeos/os_apps_page/app_management_page/chrome_app_detail_view.js",
+  "chromeos/os_apps_page/app_management_page/dom_switch.js",
+  "chromeos/os_apps_page/app_management_page/main_view.js",
+  "chromeos/os_apps_page/app_management_page/pin_to_shelf_item.js",
+  "chromeos/os_apps_page/app_management_page/plugin_vm_page/plugin_vm_detail_view.js",
+  "chromeos/os_apps_page/app_management_page/pwa_detail_view.js",
+  "chromeos/os_apps_page/app_management_page/resize_lock_item.js",
+  "chromeos/os_apps_page/app_management_page/shared_style.js",
+  "chromeos/os_apps_page/app_management_page/shared_vars.js",
+  "chromeos/os_apps_page/app_management_page/supported_links_dialog.js",
+  "chromeos/os_apps_page/app_management_page/supported_links_item.js",
+  "chromeos/os_apps_page/app_management_page/supported_links_overlapping_apps_dialog.js",
+  "chromeos/os_apps_page/app_notifications_page/app_notification_row.js",
+  "chromeos/os_apps_page/app_notifications_page/app_notifications_subpage.js",
+  "chromeos/os_apps_page/os_apps_page.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_change_device_name_dialog.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_device_detail_subpage.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_devices_subpage.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_forget_device_dialog.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_saved_devices_subpage.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_page.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_pairing_dialog.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_summary.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_true_wireless_images.js",
+  "chromeos/os_bluetooth_page/os_paired_bluetooth_list_item.js",
+  "chromeos/os_bluetooth_page/os_paired_bluetooth_list.js",
+  "chromeos/os_bluetooth_page/os_remove_saved_device_dialog.js",
+  "chromeos/os_bluetooth_page/os_saved_devices_list.js",
+  "chromeos/os_bluetooth_page/os_saved_devices_list_item.js",
+  "chromeos/os_bluetooth_page/settings_fast_pair_toggle.js",
+  "chromeos/os_files_page/os_files_page.js",
+  "chromeos/os_files_page/smb_shares_page.js",
+  "chromeos/os_people_page/account_manager.js",
+  "chromeos/os_people_page/fingerprint_list.js",
+  "chromeos/os_people_page/lock_screen.js",
+  "chromeos/os_people_page/lock_screen_password_prompt_dialog.js",
+  "chromeos/os_people_page/os_people_page.js",
+  "chromeos/os_people_page/os_sync_controls.js",
+  "chromeos/os_people_page/pin_autosubmit_dialog.js",
+  "chromeos/os_people_page/setup_fingerprint_dialog.js",
+  "chromeos/os_people_page/setup_pin_dialog.js",
+  "chromeos/os_people_page/user_list.js",
+  "chromeos/os_people_page/users_add_user_dialog.js",
+  "chromeos/os_people_page/users_page.js",
+  "chromeos/os_privacy_page/os_privacy_page.js",
+  "chromeos/os_privacy_page/peripheral_data_access_protection_dialog.js",
+  "chromeos/os_privacy_page/privacy_hub_page.js",
+  "chromeos/os_privacy_page/smart_privacy_page.js",
+  "chromeos/os_search_page/os_search_page.js",
+  "chromeos/os_search_page/os_search_selection_dialog.js",
+  "chromeos/os_search_page/search_engine.js",
+  "chromeos/os_search_page/search_subpage.js",
+  "chromeos/os_settings_main/os_settings_main.js",
+  "chromeos/os_settings_menu/os_settings_menu.js",
+  "chromeos/os_settings_page/os_settings_page.js",
+  "chromeos/os_settings_page/settings_idle_load.js",
+  "chromeos/os_settings_search_box/os_search_result_row.js",
+  "chromeos/os_settings_search_box/os_settings_search_box.js",
+  "chromeos/os_settings_ui/os_settings_ui.js",
+  "chromeos/os_toolbar/os_toolbar.js",
+  "chromeos/parental_controls_page/parental_controls_page.js",
+  "chromeos/personalization_page/change_picture.js",
+  "chromeos/personalization_page/personalization_page.js",
+  "chromeos/settings_scheduler_slider/settings_scheduler_slider.js",
+]
+
+# TODO(crbug/1315757) JS files here are available for TS conversion
+source_ts_files = [
   "chromeos/combined_search_handler.js",
   "chromeos/deep_linking_behavior.js",
   "chromeos/ensure_lazy_loaded.js",
@@ -27,6 +270,61 @@
   "chromeos/route_observer_behavior.js",
   "chromeos/route_origin_behavior.js",
   "chromeos/settings_search_handler.js",
+  "chromeos/ambient_mode_page/ambient_mode_browser_proxy.js",
+  "chromeos/ambient_mode_page/constants.js",
+  "chromeos/bluetooth_page/bluetooth_page_browser_proxy.js",
+  "chromeos/crostini_page/crostini_browser_proxy.js",
+  "chromeos/date_time_page/date_time_types.js",
+  "chromeos/date_time_page/timezone_browser_proxy.js",
+  "chromeos/device_page/cros_audio_config.js",
+  "chromeos/device_page/device_page_browser_proxy.js",
+  "chromeos/device_page/drag_behavior.js",
+  "chromeos/device_page/layout_behavior.js",
+  "chromeos/google_assistant_page/google_assistant_browser_proxy.js",
+  "chromeos/guest_os/guest_os_browser_proxy.js",
+  "chromeos/kerberos_page/kerberos_accounts_browser_proxy.js",
+  "chromeos/nearby_share_page/nearby_account_manager_browser_proxy.js",
+  "chromeos/nearby_share_page/nearby_share_receive_manager.js",
+  "chromeos/nearby_share_page/types.js",
+  "chromeos/os_a11y_page/audio_and_captions_page_browser_proxy.js",
+  "chromeos/os_a11y_page/cursor_and_touchpad_page_browser_proxy.js",
+  "chromeos/os_a11y_page/keyboard_and_text_input_page_browser_proxy.js",
+  "chromeos/os_a11y_page/manage_a11y_page_browser_proxy.js",
+  "chromeos/os_a11y_page/os_a11y_page_browser_proxy.js",
+  "chromeos/os_a11y_page/switch_access_constants.js",
+  "chromeos/os_a11y_page/switch_access_subpage_browser_proxy.js",
+  "chromeos/os_a11y_page/text_to_speech_page_browser_proxy.js",
+  "chromeos/os_a11y_page/tts_subpage_browser_proxy.js",
+  "chromeos/os_about_page/about_page_browser_proxy.js",
+  "chromeos/os_about_page/device_name_browser_proxy.js",
+  "chromeos/os_about_page/device_name_util.js",
+  "chromeos/os_apps_page/android_apps_browser_proxy.js",
+  "chromeos/os_apps_page/app_management_page/actions.js",
+  "chromeos/os_apps_page/app_management_page/api_listener.js",
+  "chromeos/os_apps_page/app_management_page/browser_proxy.js",
+  "chromeos/os_apps_page/app_management_page/fake_page_handler.js",
+  "chromeos/os_apps_page/app_management_page/reducers.js",
+  "chromeos/os_apps_page/app_management_page/plugin_vm_page/plugin_vm_browser_proxy.js",
+  "chromeos/os_apps_page/app_management_page/store.js",
+  "chromeos/os_apps_page/app_management_page/store_client.js",
+  "chromeos/os_apps_page/app_management_page/util.js",
+  "chromeos/os_apps_page/app_management_page/types.js",
+  "chromeos/os_apps_page/app_notifications_page/mojo_interface_provider.js",
+  "chromeos/os_bluetooth_page/os_bluetooth_devices_subpage_browser_proxy.js",
+  "chromeos/os_bluetooth_page/settings_fast_pair_constants.js",
+  "chromeos/os_people_page/account_manager_browser_proxy.js",
+  "chromeos/os_people_page/fingerprint_browser_proxy.js",
+  "chromeos/os_people_page/lock_state_behavior.js",
+  "chromeos/os_people_page/os_sync_browser_proxy.js",
+  "chromeos/os_privacy_page/metrics_consent_browser_proxy.js",
+  "chromeos/os_privacy_page/peripheral_data_access_browser_proxy.js",
+  "chromeos/os_privacy_page/privacy_hub_browser_proxy.js",
+  "chromeos/os_search_page/search_engines_browser_proxy.js",
+  "chromeos/os_settings_page/main_page_behavior.js",
+  "chromeos/parental_controls_page/parental_controls_browser_proxy.js",
+  "chromeos/personalization_page/change_picture_browser_proxy.js",
+  "chromeos/personalization_page/personalization_hub_browser_proxy.js",
+  "chromeos/personalization_page/wallpaper_browser_proxy.js",
   "router.js",
 ]
 
diff --git a/chrome/browser/ssl/sct_reporting_service.cc b/chrome/browser/ssl/sct_reporting_service.cc
index a110da6..e83add358 100644
--- a/chrome/browser/ssl/sct_reporting_service.cc
+++ b/chrome/browser/ssl/sct_reporting_service.cc
@@ -5,6 +5,7 @@
 #include "chrome/browser/ssl/sct_reporting_service.h"
 
 #include "base/feature_list.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/no_destructor.h"
 #include "base/strings/escape.h"
 #include "chrome/browser/browser_process.h"
@@ -104,6 +105,9 @@
 // The maximum number of reports currently allowed to be sent by hashdance
 // clients, browser-wide. When this limit is reached, no more auditing reports
 // will be sent by the client.
+// NOTE: If this is changed, then the histogram "Security.SCTAuditing.OptOut.
+// ReportCount" that is logged in CanSendSCTAuditingReport() will also need to
+// be changed, as it sets its max bucket to `kSCTAuditingHashdanceMaxReports+1`.
 constexpr int kSCTAuditingHashdanceMaxReports = 3;
 
 // static
@@ -147,6 +151,13 @@
   }
   int report_count =
       local_state->GetInteger(prefs::kSCTAuditingHashdanceReportCount);
+  // Log a histogram for the report count. This uses an "exact linear" bucketing
+  // scheme so it captures precise counts, and a max of one more than the
+  // max-reports limit so that only cases where the client has exceeded the
+  // limit are logged into the overflow bucket.
+  base::UmaHistogramExactLinear("Security.SCTAuditing.OptOut.ReportCount",
+                                report_count,
+                                kSCTAuditingHashdanceMaxReports + 1);
   return report_count < kSCTAuditingHashdanceMaxReports;
 }
 
diff --git a/chrome/browser/ssl/sct_reporting_service_browsertest.cc b/chrome/browser/ssl/sct_reporting_service_browsertest.cc
index b59ee6d..7a75f3a 100644
--- a/chrome/browser/ssl/sct_reporting_service_browsertest.cc
+++ b/chrome/browser/ssl/sct_reporting_service_browsertest.cc
@@ -13,6 +13,7 @@
 #include "base/memory/scoped_refptr.h"
 #include "base/synchronization/lock.h"
 #include "base/test/bind.h"
+#include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
 #include "base/time/time.h"
 #include "base/time/time_to_iso8601.h"
@@ -925,6 +926,8 @@
 
 IN_PROC_BROWSER_TEST_F(SCTHashdanceBrowserTest,
                        HashdanceReportCountIncremented) {
+  base::HistogramTester histograms;
+
   // Visit an HTTPS page and wait for the full report to be sent.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(
       browser(), https_server()->GetURL("hashdance.test", "/")));
@@ -941,12 +944,19 @@
   int report_count = g_browser_process->local_state()->GetInteger(
       prefs::kSCTAuditingHashdanceReportCount);
   EXPECT_EQ(report_count, 1);
+
+  // The histogram is logged *before* the report count is incremented, so the
+  // histogram will only log a report count of zero, once.
+  histograms.ExpectUniqueSample("Security.SCTAuditing.OptOut.ReportCount", 0,
+                                1);
 }
 
 // Test that report count isn't incremented when retrying a single audit report.
 // Regression test for crbug.com/1348313.
 IN_PROC_BROWSER_TEST_F(SCTHashdanceBrowserTest,
                        HashdanceReportCountNotIncrementedOnRetry) {
+  base::HistogramTester histograms;
+
   // Don't succeed for max_retries+1, for the *full report sending*, but the
   // hashdance lookup query will always succeed.
   set_error_count(16);
@@ -969,9 +979,16 @@
   int report_count = g_browser_process->local_state()->GetInteger(
       prefs::kSCTAuditingHashdanceReportCount);
   EXPECT_EQ(report_count, 1);
+
+  // Retrying sending the same report will only check the report count once the
+  // first time, so the histogram will only log a report count of zero, once.
+  histograms.ExpectUniqueSample("Security.SCTAuditing.OptOut.ReportCount", 0,
+                                1);
 }
 
 IN_PROC_BROWSER_TEST_F(SCTHashdanceBrowserTest, HashdanceReportLimitReached) {
+  base::HistogramTester histograms;
+
   // Override the report count to be the maximum.
   g_browser_process->local_state()->SetInteger(
       prefs::kSCTAuditingHashdanceReportCount, 3);
@@ -984,6 +1001,9 @@
   EXPECT_EQ(0u, requests_seen());
   SetSafeBrowsingEnabled(false);  // Clears the deduplication cache.
   EXPECT_TRUE(FlushAndCheckZeroReports());
+
+  histograms.ExpectUniqueSample("Security.SCTAuditing.OptOut.ReportCount", 3,
+                                1);
 }
 
 // Wrapper around FilePathWatcher to help tests wait for an auditing report to
diff --git a/chrome/browser/ssl/ssl_browsertest.cc b/chrome/browser/ssl/ssl_browsertest.cc
index 25660a6..665c72a 100644
--- a/chrome/browser/ssl/ssl_browsertest.cc
+++ b/chrome/browser/ssl/ssl_browsertest.cc
@@ -4247,7 +4247,7 @@
 // through the interstitial, the decision to proceed is initially remembered.
 // However, if this is followed by another visit, and a good certificate
 // is seen for the same host, the original exception is forgotten.
-IN_PROC_BROWSER_TEST_F(SSLUITest, BadCertFollowedByGoodCert) {
+IN_PROC_BROWSER_TEST_F(SSLUITest, BadCertFollowedByGoodCertNavigation) {
   // It is necessary to use |https_server_expired_| rather than
   // |https_server_mismatched| because the former shares a host with
   // |https_server_| and cert exceptions are per host.
@@ -4277,18 +4277,35 @@
   ASSERT_TRUE(ui_test_utils::NavigateToURL(
       browser(), https_server_.GetURL("/ssl/google.html")));
   EXPECT_FALSE(state->HasAllowException(https_server_host, tab));
-  // Rarely, an open connection with the bad cert might be reused for the next
-  // navigation, which is supposed to show an interstitial. Close open
-  // connections to ensure a fresh connection (and certificate validation) for
-  // the next navigation. See https://crbug.com/1150592. A deeper fix for this
-  // issue would be to unify certificate bypass logic which is currently split
-  // between the net stack and content layer; see https://crbug.com/488043.
-  state->RevokeUserAllowExceptionsHard(https_server_host);
+}
 
-  // Now check that subresource requests revoke the decision.
+// Verifies that if a bad certificate is seen for a host and the user proceeds
+// through the interstitial, the decision to proceed is initially remembered.
+// However, if this is followed by a subresource load, and a good certificate
+// is seen for the same host via the subresource load, the original exception
+// is forgotten.
+IN_PROC_BROWSER_TEST_F(SSLUITest, BadCertFollowedByGoodCertSubresource) {
+  // As in SSLUITest.BadCertFollowedByGoodCertNavigation, it is necessary to use
+  // |https_server_expired_| rather than |https_server_mismatched| because the
+  // former shares a host with |https_server_| and cert exceptions are per host.
+  ASSERT_TRUE(https_server_expired_.Start());
+  ASSERT_TRUE(https_server_.Start());
+
+  std::string https_server_expired_host =
+      https_server_expired_.GetURL("/ssl/google.html").host();
+  std::string https_server_host =
+      https_server_.GetURL("/ssl/google.html").host();
+  ASSERT_EQ(https_server_expired_host, https_server_host);
+
   ASSERT_TRUE(ui_test_utils::NavigateToURL(
       browser(), https_server_expired_.GetURL("/ssl/google.html")));
 
+  WebContents* tab = browser()->tab_strip_model()->GetActiveWebContents();
+  Profile* profile = Profile::FromBrowserContext(tab->GetBrowserContext());
+  StatefulSSLHostStateDelegate* state =
+      static_cast<StatefulSSLHostStateDelegate*>(
+          profile->GetSSLHostStateDelegate());
+
   ASSERT_TRUE(chrome_browser_interstitials::IsShowingInterstitial(tab));
 
   ProceedThroughInterstitial(tab);
diff --git a/chrome/browser/subresource_filter/subresource_filter_browsertest.cc b/chrome/browser/subresource_filter/subresource_filter_browsertest.cc
index f110beb1..f3c9602 100644
--- a/chrome/browser/subresource_filter/subresource_filter_browsertest.cc
+++ b/chrome/browser/subresource_filter/subresource_filter_browsertest.cc
@@ -1198,10 +1198,14 @@
 }
 
 struct AutomaticLazyLoadFrameBrowserTestParam {
-  bool enabled_lazy_ads_and_embeds;
+  bool enable_lazy_ads_and_embeds;
   bool enable_lazy_embed_urls;
+  int skip_frame_count;
   int number_of_ads;
   int number_of_embeds;
+  int expected_child_frame_load_count;
+  int expected_lazy_ads_frame_count_in_ukm;
+  int expected_lazy_embeds_frame_count_in_ukm;
 };
 
 class AutomaticLazyLoadFrameBrowserTest
@@ -1210,7 +1214,7 @@
           AutomaticLazyLoadFrameBrowserTestParam> {
  public:
   AutomaticLazyLoadFrameBrowserTest() {
-    if (GetParam().enabled_lazy_ads_and_embeds) {
+    if (GetParam().enable_lazy_ads_and_embeds) {
       // kAutomaticLazyFrameLoadingToEmbedUrls should be enabled when
       // kAutomaticLazyFrameLoadingToEmbeds is enabled.
       EXPECT_TRUE(GetParam().enable_lazy_embed_urls);
@@ -1218,8 +1222,14 @@
           /*enabled_features=*/
           {{blink::features::kAutomaticLazyFrameLoadingToEmbedUrls,
             {{"allowed_websites", "http://embed.com|/title1.html"}}},
-           {blink::features::kAutomaticLazyFrameLoadingToAds, {}},
-           {blink::features::kAutomaticLazyFrameLoadingToEmbeds, {}}},
+           {blink::features::kAutomaticLazyFrameLoadingToAds,
+            {{blink::features::kSkipFrameCountForLazyAds.name,
+              base::NumberToString(GetParam().skip_frame_count)},
+             {blink::features::kTimeoutMillisForLazyAds.name, "10000"}}},
+           {blink::features::kAutomaticLazyFrameLoadingToEmbeds,
+            {{blink::features::kSkipFrameCountForLazyEmbeds.name,
+              base::NumberToString(GetParam().skip_frame_count)},
+             {blink::features::kTimeoutMillisForLazyEmbeds.name, "10000"}}}},
           /*disabled_features=*/
           {});
     } else if (GetParam().enable_lazy_embed_urls) {
@@ -1251,23 +1261,44 @@
         {subresource_filter::testing::CreateSuffixRule("ad_iframe_writer.js")});
   }
 
+  void InitTestPage(content::RenderFrameHost* render_frame_host) {
+    EXPECT_TRUE(ExecJs(render_frame_host, R"(
+      var childFrameLoadCount = 0;
+    )"));
+
+    // Create a vertical space so that lazy iframe loading is not triggered.
+    EXPECT_TRUE(ExecJs(render_frame_host, R"(
+      const element = document.createElement("div");
+      element.style.height = '100000px';
+      document.body.appendChild(element);
+    )"));
+  }
+
+  int GetChildFrameLoadCount(content::RenderFrameHost* render_frame_host) {
+    return EvalJs(render_frame_host, "childFrameLoadCount").ExtractInt();
+  }
+
   void AddAdIframe(content::RenderFrameHost* render_frame_host,
                    const GURL& url) {
-    EXPECT_TRUE(ExecJs(render_frame_host,
-                       content::JsReplace("createAdIframeWithSrc($1);", url)));
+    const base::StringPiece script = R"(
+      createAdIframeWithSrc($1).onload = () => {childFrameLoadCount++;};
+    )";
+    EXPECT_TRUE(ExecJs(render_frame_host, content::JsReplace(script, url)));
   }
 
   void AddLazyAdIframe(content::RenderFrameHost* render_frame_host,
                        const GURL& url) {
-    EXPECT_TRUE(
-        ExecJs(render_frame_host,
-               content::JsReplace("createLazyAdIframeWithSrc($1);", url)));
+    const base::StringPiece script = R"(
+      createLazyAdIframeWithSrc($1).onload = () => {childFrameLoadCount++;};
+    )";
+    EXPECT_TRUE(ExecJs(render_frame_host, content::JsReplace(script, url)));
   }
 
   void AddIframe(content::RenderFrameHost* render_frame_host, const GURL& url) {
     const base::StringPiece script = R"(
       const iframeElement = document.createElement("iframe");
       iframeElement.src = $1;
+      iframeElement.onload = () => {childFrameLoadCount++;};
       document.body.appendChild(iframeElement);
     )";
     EXPECT_TRUE(ExecJs(render_frame_host, content::JsReplace(script, url)));
@@ -1279,6 +1310,7 @@
       const iframeElement = document.createElement("iframe");
       iframeElement.src = $1;
       iframeElement.loading = 'lazy';
+      iframeElement.onload = () => {childFrameLoadCount++;};
       document.body.appendChild(iframeElement);
     )";
     EXPECT_TRUE(ExecJs(render_frame_host, content::JsReplace(script, url)));
@@ -1317,6 +1349,8 @@
       ui_test_utils::NavigateToURL(browser(), kMainFrameUrl);
   ASSERT_TRUE(render_frame_host);
 
+  InitTestPage(render_frame_host);
+
   for (int i = 0; i < GetParam().number_of_ads; i++)
     AddAdIframe(render_frame_host, kAdUrl);
 
@@ -1341,12 +1375,17 @@
 
   EXPECT_TRUE(content::WaitForLoadStop(web_contents()));
 
+  EXPECT_EQ(GetChildFrameLoadCount(render_frame_host),
+            GetParam().expected_child_frame_load_count);
+
   // LazyEmbeds and LazyAds must be disabled when the page is reloaded.
   EXPECT_TRUE(render_frame_host->Reload());
   EXPECT_TRUE(content::WaitForLoadStop(web_contents()));
+  InitTestPage(render_frame_host);
   AddAdIframe(render_frame_host, kAdUrl);
   AddIframe(render_frame_host, kEmbedUrl);
   EXPECT_TRUE(content::WaitForLoadStop(web_contents()));
+  EXPECT_EQ(GetChildFrameLoadCount(render_frame_host), 2);
 
   // Navigating away from the test page (kMainFrameUrl) causes the document to
   // be unloaded. That will cause any buffered metrics to be flushed.
@@ -1364,56 +1403,105 @@
     const ukm::mojom::UkmEntry* ukm_entry = entry.second.get();
     ukm_recorder.ExpectEntrySourceHasUrl(ukm_entry, kMainFrameUrl);
     ukm::TestAutoSetUkmRecorder::ExpectEntryMetric(
-        ukm_entry, "LazyAdsFrameCount", GetParam().number_of_ads);
+        ukm_entry, "LazyAdsFrameCount",
+        GetParam().expected_lazy_ads_frame_count_in_ukm);
     ukm::TestAutoSetUkmRecorder::ExpectEntryMetric(
         ukm_entry, "LazyEmbedsFrameCount",
-        GetParam().enable_lazy_embed_urls ? GetParam().number_of_embeds : 0);
+        GetParam().expected_lazy_embeds_frame_count_in_ukm);
   }
 }
 
 const AutomaticLazyLoadFrameBrowserTestParam
     kAutomaticLazyLoadFrameBrowserTestParams[] = {
         {
-            .enabled_lazy_ads_and_embeds = false,
+            .enable_lazy_ads_and_embeds = false,
             .enable_lazy_embed_urls = true,
+            .skip_frame_count = 0,
             .number_of_ads = 2,
             .number_of_embeds = 0,
+            .expected_child_frame_load_count = 5,
+            .expected_lazy_ads_frame_count_in_ukm = 2,
+            .expected_lazy_embeds_frame_count_in_ukm = 0,
         },
         {
-            .enabled_lazy_ads_and_embeds = false,
+            .enable_lazy_ads_and_embeds = false,
             .enable_lazy_embed_urls = true,
+            .skip_frame_count = 0,
             .number_of_ads = 0,
             .number_of_embeds = 2,
+            .expected_child_frame_load_count = 5,
+            .expected_lazy_ads_frame_count_in_ukm = 0,
+            .expected_lazy_embeds_frame_count_in_ukm = 2,
         },
         {
-            .enabled_lazy_ads_and_embeds = false,
+            .enable_lazy_ads_and_embeds = false,
             .enable_lazy_embed_urls = true,
+            .skip_frame_count = 0,
             .number_of_ads = 2,
             .number_of_embeds = 2,
+            .expected_child_frame_load_count = 7,
+            .expected_lazy_ads_frame_count_in_ukm = 2,
+            .expected_lazy_embeds_frame_count_in_ukm = 2,
         },
         {
-            .enabled_lazy_ads_and_embeds = false,
+            .enable_lazy_ads_and_embeds = false,
             .enable_lazy_embed_urls = false,
+            .skip_frame_count = 0,
             .number_of_ads = 2,
             .number_of_embeds = 2,
+            .expected_child_frame_load_count = 7,
+            .expected_lazy_ads_frame_count_in_ukm = 2,
+            .expected_lazy_embeds_frame_count_in_ukm = 0,
         },
         {
-            .enabled_lazy_ads_and_embeds = true,
+            .enable_lazy_ads_and_embeds = true,
             .enable_lazy_embed_urls = true,
+            .skip_frame_count = 0,
             .number_of_ads = 2,
             .number_of_embeds = 0,
+            .expected_child_frame_load_count = 3,
+            .expected_lazy_ads_frame_count_in_ukm = 2,
+            .expected_lazy_embeds_frame_count_in_ukm = 0,
         },
         {
-            .enabled_lazy_ads_and_embeds = true,
+            .enable_lazy_ads_and_embeds = true,
             .enable_lazy_embed_urls = true,
+            .skip_frame_count = 0,
             .number_of_ads = 0,
             .number_of_embeds = 2,
+            .expected_child_frame_load_count = 3,
+            .expected_lazy_ads_frame_count_in_ukm = 0,
+            .expected_lazy_embeds_frame_count_in_ukm = 2,
         },
         {
-            .enabled_lazy_ads_and_embeds = true,
+            .enable_lazy_ads_and_embeds = true,
             .enable_lazy_embed_urls = true,
+            .skip_frame_count = 0,
             .number_of_ads = 2,
             .number_of_embeds = 2,
+            .expected_child_frame_load_count = 3,
+            .expected_lazy_ads_frame_count_in_ukm = 2,
+            .expected_lazy_embeds_frame_count_in_ukm = 2,
+        },
+        {
+            .enable_lazy_ads_and_embeds = true,
+            .enable_lazy_embed_urls = true,
+            .skip_frame_count = 1,
+            .number_of_ads = 2,
+            .number_of_embeds = 0,
+            .expected_child_frame_load_count = 4,
+            .expected_lazy_ads_frame_count_in_ukm = 2,
+            .expected_lazy_embeds_frame_count_in_ukm = 0,
+        },
+        {
+            .enable_lazy_ads_and_embeds = true,
+            .enable_lazy_embed_urls = true,
+            .skip_frame_count = 1,
+            .number_of_ads = 0,
+            .number_of_embeds = 2,
+            .expected_child_frame_load_count = 4,
+            .expected_lazy_ads_frame_count_in_ukm = 0,
+            .expected_lazy_embeds_frame_count_in_ukm = 2,
         },
 };
 
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index fff4446..3184a917 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -4336,6 +4336,7 @@
       "views/exclusive_access_bubble_views_context.h",
       "views/extensions/chooser_dialog_view.cc",
       "views/extensions/chooser_dialog_view.h",
+      "views/extensions/constants.h",
       "views/extensions/expandable_container_view.cc",
       "views/extensions/expandable_container_view.h",
       "views/extensions/extension_context_menu_controller.cc",
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
index aa9ed27..38b4e917 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_af.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Oopbronlisensies</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Watter data gebruik word:<ph name="END_BOLD" /> Jou blaaigeskiedenis, 'n rekord van werwe wat jy besoek het deur Chrome op hierdie toestel te gebruik.</translation>
 <translation id="4263656433980196874">Assistent-stemsoektog se instemming-UI is teen volle hoogte oopgemaak</translation>
-<translation id="4266054596873078491">Meld met jou Google-rekening op hierdie werf en by Chrome aan.</translation>
 <translation id="4269820728363426813">Kopieer skakeladres</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Skakel skermslot in Android-instellings aan<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Deur Chrome te gebruik, stem jy in tot <ph name="BEGIN_TOS_LINK" />Google se diensbepalings<ph name="END_TOS_LINK" /> en <ph name="BEGIN_ATOS_LINK" />Google Chrome en Chrome-bedryfstelsel se bykomende diensbepalings<ph name="END_ATOS_LINK" />. Die <ph name="BEGIN_PRIVACY_LINK" />privaatheidsbeleid<ph name="END_PRIVACY_LINK" /> geld ook.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
index 2bf7f8e..d4df14f8 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_am.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">ታሪክ አሰሳ</translation>
 <translation id="2497852260688568942">ስምረት በእርስዎ አስተዳዳሪ ተሰናክሏል</translation>
 <translation id="250020030759455918">የእርስዎን <ph name="SITE_NAME" /> በመለያ የመግባት ሁኔታ፣ የአሰሳ ውሂብ እና የጣቢያ ውሂብ በChrome ውስጥ ይመለከታሉ</translation>
+<translation id="2507178219579379057">Chrome የማስታወቂያ አይፈለጌ መልዕክትን፣ መጭበርበርን እና በጣቢያዎች መካከል መጋራትን የሚገድብባቸውን መንገዶች እያሰሰ ነው። እንዲሁም Chrome ጣቢያዎች ማስታወቂያዎችን ለእርስዎ ለማሳየት ሊጠቀሙባቸው የሚችሏቸውን <ph name="BEGIN_LINK" />የእርስዎን ዝንባሌዎች ይገምታል<ph name="END_LINK" />። የእርስዎን ዝንባሌዎች በቅንብሮች ውስጥ ማስተዳደር ይችላሉ።</translation>
 <translation id="2513403576141822879">ከግላዊነት፣ ደህንነት እና የውሂብ ስብስብ ጋር ለሚዛመዱ ተጨማሪ ቅንብሮች <ph name="BEGIN_LINK" />ስምረት እና የGoogle አገልግሎቶች<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">ቃኝ</translation>
 <translation id="2523184218357549926">የሚጎበኙዋቸውን ገጾች ዩአርኤሎች ወደ Google ይልካል</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">የክፍት ምንጭ ፍቃዶች</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ምን ውሂብ ጥቅም ላይ እንደሚውል፦<ph name="END_BOLD" /> የአሰሳ ታሪክዎ፣ በዚህ መሣሪያ ላይ Chromeን ተጠቅመው የጎበኟቸው የጣቢያዎች መዝገብ።</translation>
 <translation id="4263656433980196874">የረዳት ድምፅ ፍለጋ ስምምነት ዩአይ በሙሉ ቁመት ተከፍቷል</translation>
-<translation id="4266054596873078491">በGoogle መለያዎ ወደዚህ ጣቢያ እና Chrome ይግቡ።</translation>
 <translation id="4269820728363426813">የአገናኝ አድራሻ ቅዳ</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />በAndroid ቅንብሮች ውስጥ ማያ ገጽ መቆለፊያን ያብሩ<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chromeን በመጠቀምዎ በ<ph name="BEGIN_TOS_LINK" />Google አገልግሎት ውል<ph name="END_TOS_LINK" /> እና <ph name="BEGIN_ATOS_LINK" />የGoogle Chrome እና የChromeOS ተጨማሪ አገልግሎት ውል<ph name="END_ATOS_LINK" /> ይስማማሉ። እንዲሁም <ph name="BEGIN_PRIVACY_LINK" />የግላዊነት መመሪያው<ph name="END_PRIVACY_LINK" /> ይተገበራል።</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
index b45969c7..14d5a4d6 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">سجلّ التصفّح</translation>
 <translation id="2497852260688568942">تم إيقاف المزامنة من قِبل المشرف</translation>
 <translation id="250020030759455918">‏ستظهر لك حالة تسجيل الدخول على <ph name="SITE_NAME" />، وبيانات التصفُّح وبيانات الموقع الإلكتروني في Chrome.</translation>
+<translation id="2507178219579379057">‏يعمل Chrome على استكشاف طرق للحد من الإعلانات غير المرغوب فيها وعمليات الاحتيال وعمليات مشاركة البيانات بين المواقع الإلكترونية. ويقدِّم Chrome أيضًا <ph name="BEGIN_LINK" />تقديرات حول اهتماماتك<ph name="END_LINK" /> التي يمكن للمواقع الإلكترونية استخدامها لعرض إعلانات لك. ويمكنك إدارة اهتماماتك من خلال الإعدادات.</translation>
 <translation id="2513403576141822879">‏لعرض مزيد من الإعدادات المتعلِّقة بالخصوصية والأمان وجمع البيانات، يُرجى الاطِّلاع على <ph name="BEGIN_LINK" />خدمات Google والمزامنة<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">فحص</translation>
 <translation id="2523184218357549926">‏يتم إرسال عناوين URL للصفحات التي تزورها إلى Google.</translation>
@@ -587,7 +588,6 @@
 <translation id="4256782883801055595">تراخيص البرامج المفتوحة المصدر</translation>
 <translation id="4262915912852657291">‏<ph name="BEGIN_BOLD" />البيانات المستخدَمة:<ph name="END_BOLD" /> سجلّ تصفُّحك، بالإضافة إلى سجلّ بالمواقع الإلكترونية التي زرتها باستخدام Chrome على هذا الجهاز</translation>
 <translation id="4263656433980196874">‏تم فتح واجهة المستخدم الخاصة بالموافقة على استخدام ميزة "البحث الصوتي" في "مساعد Google" بطول الشاشة.</translation>
-<translation id="4266054596873078491">‏سيتم تسجيل الدخول إلى هذا الموقع الإلكتروني وإلى Chrome باستخدام حسابك على Google.</translation>
 <translation id="4269820728363426813">نسخ عنوان الرابط</translation>
 <translation id="4291407919474070700">‏<ph name="BEGIN_LINK" />تفعيل قفل الشاشة في إعدادات Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">‏يعني استخدامك لمتصفّح Chrome موافقتك على <ph name="BEGIN_TOS_LINK" />بنود خدمة Google<ph name="END_TOS_LINK" /> و<ph name="BEGIN_ATOS_LINK" />بنود الخدمة الإضافية لكل من متصفّح Google Chrome ونظام التشغيل Chrome<ph name="END_ATOS_LINK" />، علمًا بأنّ <ph name="BEGIN_PRIVACY_LINK" />سياسة الخصوصية<ph name="END_PRIVACY_LINK" /> تسري أيضًا.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb
index 2e41fab..9a1c8cf 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_as.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">মুক্ত উত্‍সৰ অনুজ্ঞাপত্ৰ</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />কি ডেটা ব্যৱহাৰ কৰা হয়:<ph name="END_BOLD" /> আপোনাৰ ব্ৰাউজিঙৰ ইতিহাস, আপুনি এই ডিভাইচটোত Chrome ব্যৱহাৰ কৰি চোৱা ছাইটৰ ৰেকৰ্ড।</translation>
 <translation id="4263656433980196874">Assistantৰ কণ্ঠধ্বনিৰদ্বাৰা সন্ধানৰ সন্মতিৰ ইউআই পূৰ্ণ উচ্চতাত খোল খাইছে</translation>
-<translation id="4266054596873078491">আপোনাৰ Google একাউণ্টটোৰ জৰিয়তে এইটো ছাইট আৰু Chromeত ছাইন ইন কৰক।</translation>
 <translation id="4269820728363426813">লিংকৰ ঠিকনাটো প্ৰতিলিপি কৰক</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android ছেটিঙত স্ক্ৰীন লক অন কৰক<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome ব্যৱহাৰ কৰি আপুনি <ph name="BEGIN_TOS_LINK" />Googleৰ সেৱাৰ চৰ্তাৱলী<ph name="END_TOS_LINK" /> আৰু <ph name="BEGIN_ATOS_LINK" />Google Chrome আৰু ChromeOSৰ সেৱাৰ অতিৰিক্ত চৰ্তাৱলী<ph name="END_ATOS_LINK" />ত সন্মতি দিয়ে। <ph name="BEGIN_PRIVACY_LINK" />গোপনীয়তা নীতি<ph name="END_PRIVACY_LINK" />টোও প্ৰযোজ্য।</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
index be991a00..c3a9ed2 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_az.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Brauzer tarixçəsi</translation>
 <translation id="2497852260688568942">Sinxronizasiya administratorunuz tərəfindən deaktiv edilib</translation>
 <translation id="250020030759455918">Chrome'da <ph name="SITE_NAME" /> üçün giriş statusu, baxış datası və sayt datanızı görəcəksiniz</translation>
+<translation id="2507178219579379057">Chrome reklam spamı, fırıldaqçılıq və saytlar arasında paylaşımı məhdudlaşdırmaq yollarını araşdırır. Chrome həmçinin saytların sizə reklam göstərmək üçün istifadə edə biləcəyi <ph name="BEGIN_LINK" />maraqlarınızı təxmin edir<ph name="END_LINK" />. Maraqlarınızı Ayarlarda idarə edə bilərsiniz.</translation>
 <translation id="2513403576141822879">Məxfilik, təhlükəsizlik və data toplanması ilə bağlı daha çox ayarlar üçün <ph name="BEGIN_LINK" />Sinxronizasiya və Google xidmətləri<ph name="END_LINK" /> səhifəsinə daxil olun</translation>
 <translation id="2517472476991765520">Skan edin</translation>
 <translation id="2523184218357549926">Daxil olduğunuz səhifələrin linkləri Google'a göndərilir</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Açıq mənbə lisenziyaları</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Hansı data istifadə olunur:<ph name="END_BOLD" /> Baxış tarixçəniz, bu cihazda Chrome istifadə edərək ziyarət etdiyiniz saytların qeydi.</translation>
 <translation id="4263656433980196874">Assistentin səsli axtarış razılıq UI-si tam hündürlükdə açılıb</translation>
-<translation id="4266054596873078491">Google hesabınızla bu sayta və Chrome'a daxil olun.</translation>
 <translation id="4269820728363426813">Link ünvanını kopyalayın</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android ayarlarında ekran kilidini aktiv edin<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome'u istifadə etməklə, <ph name="BEGIN_TOS_LINK" />Google Xidmət Şərtləri<ph name="END_TOS_LINK" /> və <ph name="BEGIN_ATOS_LINK" />Google Chrome və ChromeOS Əlavə Xidmət Şərtləri<ph name="END_ATOS_LINK" /> ilə razılaşırsınız. <ph name="BEGIN_PRIVACY_LINK" />Məxfilik Siyasəti<ph name="END_PRIVACY_LINK" /> də tətbiq edilir.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
index 650ed16..794ef20e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_be.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Гісторыя прагляду сайтаў</translation>
 <translation id="2497852260688568942">Сінхранізацыя выключана вашым адміністратарам</translation>
 <translation id="250020030759455918">Вы ўбачыце, ці выкананы ўваход на сайт <ph name="SITE_NAME" />, гісторыю праглядаў і даныя сайтаў у Chrome</translation>
+<translation id="2507178219579379057">Chrome шукае спосабы абмежавання рэкламнага спама, махлярства і абмену данымі паміж сайтамі. Chrome таксама <ph name="BEGIN_LINK" />прыблізна вызначае вашы інтарэсы<ph name="END_LINK" />, якія могуць выкарыстоўвацца сайтамі для паказу рэкламы. Кіраваць данымі пра свае інтарэсы можна ў наладах.</translation>
 <translation id="2513403576141822879">Дадатковыя налады прыватнасці, бяспекі і збору даных глядзіце ў раздзеле <ph name="BEGIN_LINK" />Сінхранізацыя і сэрвісы Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Пошук</translation>
 <translation id="2523184218357549926">Адпраўка URL-адрасоў наведаных вамі старонак у Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Ліцэнзіі на ПЗ з адкрытым зыходным кодам</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Якія даныя выкарыстоўваюцца:<ph name="END_BOLD" /> гісторыя прагляду сайтаў – пералік сайтаў, якія вы наведалі праз Chrome на гэтай прыладзе.</translation>
 <translation id="4263656433980196874">Дыялогавае акно для дачы згоды на выкарыстанне Памочніка для галасавога пошуку адкрыта на ўвесь экран</translation>
-<translation id="4266054596873078491">Выканайце ўваход на гэты сайт і ў Chrome, выкарыстаўшы свой Уліковы запіс Google.</translation>
 <translation id="4269820728363426813">Капіраваць спасылку</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Уключыць блакіроўку экрана ў наладах Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Выкарыстоўваючы Chrome, вы згаджаецеся з <ph name="BEGIN_TOS_LINK" />Умовамі выкарыстання Google<ph name="END_TOS_LINK" /> і <ph name="BEGIN_ATOS_LINK" />Дадатковымі ўмовамі выкарыстання Google Chrome і Chrome OS<ph name="END_ATOS_LINK" />. Прымяняецца таксама <ph name="BEGIN_PRIVACY_LINK" />Палітыка прыватнасці<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
index ced10a4..a383b285 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bg.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">История на сърфирането</translation>
 <translation id="2497852260688568942">Синхронизирането е деактивирано от администратора ви</translation>
 <translation id="250020030759455918">В Chrome ще виждате дали сте влезли в профила си в <ph name="SITE_NAME" />, както и съответните данни за сърфирането и сайта</translation>
+<translation id="2507178219579379057">Chrome проучва начини за ограничаване на рекламния спам, измамите и споделянето между сайтовете. Също така браузърът <ph name="BEGIN_LINK" />прогнозира интересите ви<ph name="END_LINK" />, които сайтовете могат да използват, за да ви показват реклами. Имате възможност да управлявате интересите си от настройките.</translation>
 <translation id="2513403576141822879">За още настройки за поверителността, сигурността и събирането на данни вижте <ph name="BEGIN_LINK" />Синхронизиране и услуги на Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Сканиране</translation>
 <translation id="2523184218357549926">Изпраща до Google URL адресите на страниците, които посещавате</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Лицензи за отворен код</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Какви данни се използват<ph name="END_BOLD" />: Вашата история на сърфиране – списък на сайтовете, които сте посетили чрез Chrome на това устройство.</translation>
 <translation id="4263656433980196874">Потребителският интерфейс за даване на съгласие за ползване на Асистент при гласови търсения е отворен на пълната височина</translation>
-<translation id="4266054596873078491">Ще влезете в този сайт и в Chrome с профила си в Google.</translation>
 <translation id="4269820728363426813">Копиране на адреса на връзката</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Включете заключването на екрана от настройките на Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">С използването на Chrome приемате <ph name="BEGIN_TOS_LINK" />Общите условия на Google<ph name="END_TOS_LINK" /> и <ph name="BEGIN_ATOS_LINK" />Допълнителните общи условия на Chrome и Chrome OS<ph name="END_ATOS_LINK" />. В сила е и <ph name="BEGIN_PRIVACY_LINK" />Декларацията за поверителност<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
index 31916dc9..6c10a40 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bn.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">ব্রাউজিং ইতিহাস</translation>
 <translation id="2497852260688568942">আপনার প্রশাসকের দ্বারা সিঙ্ক অক্ষম করা হয়েছে</translation>
 <translation id="250020030759455918">আপনি Chrome-এ <ph name="SITE_NAME" /> সাইটে নিজের সাইন-ইন স্ট্যাটাস, ব্রাউজিং ডেটা ও সাইট ডেটা দেখতে পাবেন</translation>
+<translation id="2507178219579379057">বিজ্ঞাপন স্প্যাম, জালিয়াতি ও দুটি সাইটের মধ্যে শেয়ার সীমিত করার বিভিন্ন উপায় Chrome এক্সপ্লোর করছে। এছাড়াও Chrome <ph name="BEGIN_LINK" />আপনার আগ্রহ অনুমান করতে পারে<ph name="END_LINK" /> যা ব্যবহার করে সাইট আপনাকে বিজ্ঞাপন দেখাতে পারে। সেটিংস থেকে আপনার আগ্রহের বিষয় ম্যানেজ করতে পারবেন।</translation>
 <translation id="2513403576141822879">আপনার গোপনীয়তা, নিরাপত্তা এবং ডেটা সংগ্রহের সাথে সম্পর্কযুক্ত আরও সেটিংসের জন্য <ph name="BEGIN_LINK" />সিঙ্ক এবং Google পরিষেবাগুলি<ph name="END_LINK" /> দেখুন</translation>
 <translation id="2517472476991765520">স্ক্যান করুন</translation>
 <translation id="2523184218357549926">আপনার দেখা পৃষ্ঠাগুলির ইউআরএল Google-এ পাঠায়</translation>
@@ -588,7 +589,6 @@
 <translation id="4256782883801055595">ওপেন সোর্স লাইসেন্স</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />কোন ডেটা ব্যবহার করা হয়:<ph name="END_BOLD" /> আপনার ব্রাউজিং ইতিহাস, এই ডিভাইসে Chrome ব্যবহার করে আপনি যে সাইটগুলি ভিজিট করেছেন তার একটি রেকর্ড।</translation>
 <translation id="4263656433980196874">Assistant-এ ভয়েস সার্চ করার সম্মতি দেওয়ার UI সম্পূর্ণ স্ক্রিন জুড়ে খুলেছে</translation>
-<translation id="4266054596873078491">আপনার Google অ্যাকাউন্ট দিয়ে এই সাইট ও Chrome-এ সাইন-ইন করুন।</translation>
 <translation id="4269820728363426813">লিঙ্ক অ্যাড্রেস কপি করুন</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android সেটিংসে স্ক্রিন লক চালু করুন<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome ব্যবহার করার মাধ্যমে, আপনি <ph name="BEGIN_TOS_LINK" />Google পরিষেবার শর্তাবলী<ph name="END_TOS_LINK" /> এবং <ph name="BEGIN_ATOS_LINK" />Google Chrome ও ChromeOS-এর পরিষেবার অতিরিক্ত শর্তাবলী<ph name="END_ATOS_LINK" /> মেনে নিচ্ছেন। এছাড়াও <ph name="BEGIN_PRIVACY_LINK" />গোপনীয়তা নীতি<ph name="END_PRIVACY_LINK" /> প্রযোজ্য।</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
index 52426438..35d646a 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_bs.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licence otvorenog koda</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Koji podaci se koriste:<ph name="END_BOLD" /> vaša historija pregledanja, zapisi o web lokacijama koje ste posjetili koristeći Chrome na ovom uređaju.</translation>
 <translation id="4263656433980196874">Korisnički interfejs za pristanak na glasovno pretraživanje putem Asistenta je otvoren na cijelom ekranu</translation>
-<translation id="4266054596873078491">Prijavite se na ovu web lokaciju i Chrome pomoću Google računa.</translation>
 <translation id="4269820728363426813">Kopiraj adresu linka</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Uključite zaključavanje ekrana u postavkama Androida<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Korištenjem Chromea pristajete na <ph name="BEGIN_TOS_LINK" />Googleove Uslove korištenja usluge<ph name="END_TOS_LINK" /> i <ph name="BEGIN_ATOS_LINK" />dodatne Uslove korištenja usluge za Google Chrome i ChromeOS<ph name="END_ATOS_LINK" />. Također se primjenjuju <ph name="BEGIN_PRIVACY_LINK" />Pravila privatnosti<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
index 4eed5919..094c0975f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Historial de navegació</translation>
 <translation id="2497852260688568942">L'administrador ha desactivat la sincronització</translation>
 <translation id="250020030759455918">Veuràs l'estat de l'inici de sessió a <ph name="SITE_NAME" />, les dades de navegació i les dades del lloc web a Chrome</translation>
+<translation id="2507178219579379057">Chrome està explorant maneres de limitar el contingut brossa publicitari, el frau i la compartició entre llocs web. També <ph name="BEGIN_LINK" />estima els teus interessos<ph name="END_LINK" />, que els llocs web poden utilitzar per mostrar-te anuncis. Pots gestionar els teus interessos a la configuració.</translation>
 <translation id="2513403576141822879">Per trobar més opcions de configuració relacionades amb la privadesa, la seguretat i la recollida de dades, consulta <ph name="BEGIN_LINK" />Sincronització i serveis de Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Escaneja</translation>
 <translation id="2523184218357549926">Envia a Google els URL de les pàgines que visites</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Llicències de programari lliure</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Quines dades s'utilitzen<ph name="END_BOLD" />: el teu historial de navegació, que és un registre dels llocs web que has visitat amb Chrome en aquest dispositiu.</translation>
 <translation id="4263656433980196874">La IU de consentiment de la cerca per veu de l'Assistent s'ha obert a alçada completa</translation>
-<translation id="4266054596873078491">Inicia la sessió en aquest lloc web i a Chrome amb el teu Compte de Google.</translation>
 <translation id="4269820728363426813">Copia l'adreça de l'enllaç</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Activa el bloqueig de pantalla a la configuració d'Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">En utilitzar Chrome, acceptes les <ph name="BEGIN_TOS_LINK" />condicions del servei de Google<ph name="END_TOS_LINK" /> i les <ph name="BEGIN_ATOS_LINK" />condicions del servei addicionals de Google Chrome i Chrome OS<ph name="END_ATOS_LINK" />. També s'aplica la <ph name="BEGIN_PRIVACY_LINK" />política de privadesa<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
index b8861c2..75a7fea 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cs.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Historie procházení</translation>
 <translation id="2497852260688568942">Synchronizace je administrátorem zakázána.</translation>
 <translation id="250020030759455918">Uvidíte stav přihlášení, údaje o prohlížení a data webu <ph name="SITE_NAME" /> v Chromu</translation>
+<translation id="2507178219579379057">Chrome zkoumá způsoby, jak omezit reklamní spam, podvody a sdílení mezi weby. Chrome také <ph name="BEGIN_LINK" />odhaduje vaše zájmy<ph name="END_LINK" />, na základě nichž vám weby mohou zobrazovat reklamy. Své zájmy můžete spravovat v nastavení.</translation>
 <translation id="2513403576141822879">Další nastavení související s ochranou soukromí, zabezpečením a shromažďováním dat naleznete v části <ph name="BEGIN_LINK" />Synchronizace a služby Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Naskenovat</translation>
 <translation id="2523184218357549926">Odesílá do Googlu adresy URL stránek, které navštěvujete</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Licence open source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Jaké údaje používáme:<ph name="END_BOLD" /> Vaši historii prohlížení, což je seznam webů, které jste navštívili v Chromu na tomto zařízení.</translation>
 <translation id="4263656433980196874">Uživatelské rozhraní souhlasu s hlasovým vyhledáváním pomocí Asistenta otevřené na celou výšku</translation>
-<translation id="4266054596873078491">Přihlaste se na tento web a do Chromu pomocí svého účtu Google.</translation>
 <translation id="4269820728363426813">Zkopírovat adresu odkazu</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Zapněte v nastavení systému Android zámek obrazovky<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Používáním Chromu vyjadřujete souhlas se <ph name="BEGIN_TOS_LINK" />smluvními podmínkami společnosti Google<ph name="END_TOS_LINK" /> a <ph name="BEGIN_ATOS_LINK" />dodatečnými smluvními podmínkami prohlížeče Google Chrome a systému ChromeOS<ph name="END_ATOS_LINK" />. Platí také <ph name="BEGIN_PRIVACY_LINK" />zásady ochrany soukromí<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cy.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cy.xtb
index fb32b6d..97329a58 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_cy.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_cy.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Hanes pori</translation>
 <translation id="2497852260688568942">Mae Cysoni wedi'i analluogi gan eich gweinyddwr</translation>
 <translation id="250020030759455918">Byddwch yn gweld eich statws mewngofnodi, pori data, a data gwefan <ph name="SITE_NAME" /> yn Chrome</translation>
+<translation id="2507178219579379057">Mae Chrome yn archwilio ffyrdd o gyfyngu ar sothach hysbysebion, twyll a rhannu rhwng gwefannau. Mae Chrome hefyd yn <ph name="BEGIN_LINK" />amcangyfrif eich diddordebau<ph name="END_LINK" /> y gall gwefannau eu defnyddio i ddangos hysbysebion i chi. Gallwch reoli'ch diddordebau yn y gosodiadau.</translation>
 <translation id="2513403576141822879">Am ragor o osodiadau sy'n ymwneud â phreifatrwydd, diogelwch a chasglu data, gweler <ph name="BEGIN_LINK" />Cysoni a gwasanaethau Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Sganio</translation>
 <translation id="2523184218357549926">Yn anfon URL o dudalennau rydych yn ymweld â nhw at Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Trwyddedau ffynhonnell agored</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Pa ddata a ddefnyddir:<ph name="END_BOLD" /> Eich hanes pori, cofnod o wefannau rydych wedi ymweld â nhw drwy ddefnyddio Chrome ar y ddyfais hon.</translation>
 <translation id="4263656433980196874">Agorwyd UI cydsyniad chwilio â llais Assistant ar uchder llawn</translation>
-<translation id="4266054596873078491">Mewngofnodi i'r wefan hon a Chrome gyda'ch Cyfrif Google.</translation>
 <translation id="4269820728363426813">Copïo cyfeiriad y ddolen</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Trowch glo sgrîn ymlaen yn y gosodiadau Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Drwy ddefnyddio Chrome, rydych yn cytuno i <ph name="BEGIN_TOS_LINK" />Delerau Gwasanaeth Google<ph name="END_TOS_LINK" />, a <ph name="BEGIN_ATOS_LINK" />Thelerau Gwasanaeth Ychwanegol Google Chrome a ChromeOS<ph name="END_ATOS_LINK" />. Mae'r <ph name="BEGIN_PRIVACY_LINK" />Polisi Preifatrwydd<ph name="END_PRIVACY_LINK" /> hefyd yn berthnasol.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
index bf943d3..66f2f327 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_da.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Browserhistorik</translation>
 <translation id="2497852260688568942">Synkronisering er deaktiveret af din administrator.</translation>
 <translation id="250020030759455918">Du kan se loginstatus, browserdata og websiteoplysninger for <ph name="SITE_NAME" /> i Chrome</translation>
+<translation id="2507178219579379057">Chrome kigger nærmere på, hvordan spam, svindel og deling mellem websites kan begrænses. Chrome <ph name="BEGIN_LINK" />estimerer også dine interesser<ph name="END_LINK" />, som websites kan bruge til at vise dig annoncer. Du kan administrere dine interesser i indstillingerne.</translation>
 <translation id="2513403576141822879">Du kan finde flere indstillinger vedrørende privatliv, sikkerhed og dataindsamling ved at gå til <ph name="BEGIN_LINK" />Synkronisering og Google-tjenester<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Scan</translation>
 <translation id="2523184218357549926">Sender webadresser på de sider, du besøger, til Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Open source-licenser</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Disse data bruges:<ph name="END_BOLD" /> Din browserhistorik, dvs. en oversigt over, hvilke websites du har besøgt i Chrome på denne enhed.</translation>
 <translation id="4263656433980196874">Brugerfladen for samtykke i forbindelse med stemmesøgning i Assistent er åbnet i fuld højde</translation>
-<translation id="4266054596873078491">Log ind på dette website og i Chrome med din Google-konto.</translation>
 <translation id="4269820728363426813">Kopiér linkadresse</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Aktivér skærmlåsen i Android-indstillingerne<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Når du bruger Chrome, accepterer du <ph name="BEGIN_TOS_LINK" />Googles servicevilkår<ph name="END_TOS_LINK" /> og de <ph name="BEGIN_ATOS_LINK" />yderligere servicevilkår for Google Chrome og Chrome OS<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Privatlivspolitikken<ph name="END_PRIVACY_LINK" /> er også gældende.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
index 05df5a0..d7d685e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_de.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Open Source-Lizenzen</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Welche Daten werden verwendet?<ph name="END_BOLD" /> Dein Browserverlauf, das heißt eine Liste der von dir auf diesem Gerät in Chrome besuchten Websites.</translation>
 <translation id="4263656433980196874">Benutzeroberfläche für die Einwilligung in die Sprachsuche von Assistant ganz geöffnet</translation>
-<translation id="4266054596873078491">Melde dich bei dieser Website und in Chrome mit deinem Google-Konto an.</translation>
 <translation id="4269820728363426813">URL kopieren</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Displaysperre in den Android-Einstellungen aktivieren<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Wenn du Chrome verwendest, stimmst du den <ph name="BEGIN_TOS_LINK" />Nutzungsbedingungen von Google<ph name="END_TOS_LINK" /> und den <ph name="BEGIN_ATOS_LINK" />zusätzlichen Nutzungsbedingungen für Google Chrome und Chrome OS<ph name="END_ATOS_LINK" /> zu. Außerdem gilt die <ph name="BEGIN_PRIVACY_LINK" />Datenschutzerklärung<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
index dd56c84..8f4a1a3a 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_el.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Άδειες λογισμικού ανοικτού κώδικα</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Ποια δεδομένα χρησιμοποιούνται:<ph name="END_BOLD" /> Το ιστορικό περιήγησής σας, ένα αρχείο των ιστοτόπων που έχετε επισκεφτεί χρησιμοποιώντας το Chrome σε αυτήν τη συσκευή.</translation>
 <translation id="4263656433980196874">Διεπαφή χρήστη για παροχή συναίνεσης σχετικά με τη φωνητική αναζήτηση μέσω του Βοηθού, ανοιχτή σε πλήρες ύψος</translation>
-<translation id="4266054596873078491">Συνδεθείτε σε αυτόν τον ιστότοπο και στο Chrome με τον Λογαριασμό σας Google.</translation>
 <translation id="4269820728363426813">Αντιγρ. διεύθυνσης συνδέσμου</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Ενεργοποίηση κλειδώματος οθόνης στις ρυθμίσεις Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Χρησιμοποιώντας το Chrome, συμφωνείτε με τους <ph name="BEGIN_TOS_LINK" />Όρους Παροχής Υπηρεσιών της Google<ph name="END_TOS_LINK" /> και τους <ph name="BEGIN_ATOS_LINK" />Πρόσθετους Όρους Παροχής Υπηρεσιών του Google Chrome και του Chrome OS<ph name="END_ATOS_LINK" />. Επίσης, ισχύει η <ph name="BEGIN_PRIVACY_LINK" />Πολιτική απορρήτου<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
index 4aa753c..eea5fb02 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_en-GB.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Open-source licences</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />What data is used:<ph name="END_BOLD" /> Your browsing history, a record of sites that you’ve visited using Chrome on this device.</translation>
 <translation id="4263656433980196874">Assistant voice search consent UI opened at full height</translation>
-<translation id="4266054596873078491">Sign in to this site and Chrome with your Google Account.</translation>
 <translation id="4269820728363426813">Copy link address</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Turn on screen lock in Android settings<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">By using Chrome, you agree to the <ph name="BEGIN_TOS_LINK" />Google Terms of Service<ph name="END_TOS_LINK" />, and the <ph name="BEGIN_ATOS_LINK" />Google Chrome and Chrome OS additional Terms of Service<ph name="END_ATOS_LINK" />. The <ph name="BEGIN_PRIVACY_LINK" />Privacy Policy<ph name="END_PRIVACY_LINK" /> also applies.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
index 30050e5..7d633a0e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es-419.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Historial de navegación</translation>
 <translation id="2497852260688568942">Tu administrador inhabilitó la sincronización</translation>
 <translation id="250020030759455918">Verás tu estado de acceso para <ph name="SITE_NAME" />, los datos de navegación y los datos del sitio en Chrome.</translation>
+<translation id="2507178219579379057">Chrome explora maneras de limitar el spam de anuncios, el fraude y el uso compartido entre sitios. Chrome también <ph name="BEGIN_LINK" />estima tus intereses<ph name="END_LINK" /> que pueden usar los sitios para mostrarte anuncios. Puedes administrar tus intereses en la Configuración.</translation>
 <translation id="2513403576141822879">Para obtener más opciones de configuración relacionadas con la privacidad, la seguridad y la recopilación de datos, visita <ph name="BEGIN_LINK" />Sincronización y servicios<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Buscar</translation>
 <translation id="2523184218357549926">Envía a Google las URL de las páginas que visitas</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Licencias de código abierto</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Qué información se usa:<ph name="END_BOLD" /> Tu historial de navegación, un registro de los sitios que visitaste con Chrome en este dispositivo.</translation>
 <translation id="4263656433980196874">La IU de consentimiento de la búsqueda por voz de Asistente está totalmente abierta</translation>
-<translation id="4266054596873078491">Accede a este sitio y a Chrome con tu Cuenta de Google.</translation>
 <translation id="4269820728363426813">Copiar dirección del vínculo</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Activa el bloqueo de pantalla en la configuración de Android<ph name="END_LINK" />.</translation>
 <translation id="4293476595220860475">Si usas Chrome, aceptas las <ph name="BEGIN_TOS_LINK" />Condiciones del Servicio de Google<ph name="END_TOS_LINK" /> y las <ph name="BEGIN_ATOS_LINK" />Condiciones del Servicio Adicionales de Google Chrome y Chrome OS<ph name="END_ATOS_LINK" />. También se aplica la <ph name="BEGIN_PRIVACY_LINK" />Política de Privacidad<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
index 8df1da25..ec16155 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_es.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Historial de navegación</translation>
 <translation id="2497852260688568942">El administrador ha inhabilitado la sincronización</translation>
 <translation id="250020030759455918">Verás tu estado de inicio de sesión, datos de navegación y datos del sitio de <ph name="SITE_NAME" /> en Chrome.</translation>
+<translation id="2507178219579379057">Chrome explora formas de limitar el spam publicitario, el fraude y lo que se comparte entre sitios. Chrome también <ph name="BEGIN_LINK" />estima tus intereses<ph name="END_LINK" />, que después pueden usar los sitios para mostrarte anuncios. Puedes gestionar tus intereses en la configuración.</translation>
 <translation id="2513403576141822879">Para ver más opciones relacionadas con la privacidad, la seguridad y la recogida de datos, accede a <ph name="BEGIN_LINK" />Sincronización y servicios de Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Escanear</translation>
 <translation id="2523184218357549926">Envía las URL de las páginas que visitas a Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Licencias de software libre</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Qué datos se usan:<ph name="END_BOLD" /> tu historial de navegación, un registro de los sitios que has visitado usando Chrome en este dispositivo.</translation>
 <translation id="4263656433980196874">Interfaz de consentimiento de la búsqueda por voz del Asistente abierta a altura completa</translation>
-<translation id="4266054596873078491">Inicia sesión en este sitio y en Chrome con tu cuenta de Google.</translation>
 <translation id="4269820728363426813">Copiar la dirección del enlace</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Activa el bloqueo de pantalla en los ajustes de Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Al utilizar Chrome, aceptas los <ph name="BEGIN_TOS_LINK" />Términos del Servicio de Google<ph name="END_TOS_LINK" /> y los <ph name="BEGIN_ATOS_LINK" />Términos del Servicio Adicionales de Google Chrome y ChromeOS<ph name="END_ATOS_LINK" />. También se aplica la <ph name="BEGIN_PRIVACY_LINK" />Política de Privacidad<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
index 1b502b0..d13de68 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_et.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Sirvimise ajalugu</translation>
 <translation id="2497852260688568942">Administraator on sünkroonimise keelanud</translation>
 <translation id="250020030759455918">Näete Chrome'is oma saidi <ph name="SITE_NAME" /> sisselogimise olekut, sirvimisandmeid ja saidi andmeid</translation>
+<translation id="2507178219579379057">Chrome otsib võimalusi, kuidas rämpsreklaame, pettusi ja saitide vahelist jagamist piirata. Samuti <ph name="BEGIN_LINK" />prognoosib Chrome teie huvisid<ph name="END_LINK" />, mida saidid saavad kasutada teile reklaamide kuvamiseks. Saate oma huvisid seadetes hallata.</translation>
 <translation id="2513403576141822879">Privaatsuse, turvalisuse ning andmete kogumisega seotud lisaseadete nägemiseks avage valik <ph name="BEGIN_LINK" />Sünkroonimine ja Google'i teenused<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Kontrolli</translation>
 <translation id="2523184218357549926">Saadab Google'ile teie külastatud lehtede URL-id</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Avatud lähtekoodi litsentsid</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Milliseid andmeid kasutatakse?<ph name="END_BOLD" /> Teie sirvimisajalugu, selles seadmes Chrome'iga külastatud saitide andmed.</translation>
 <translation id="4263656433980196874">Assistendi häälotsingu sisu kasutajaliides on avatud täiskõrgusel</translation>
-<translation id="4266054596873078491">Logite sellele saidile ja Chrome'i sisse oma Google'i kontoga.</translation>
 <translation id="4269820728363426813">Kopeeri lingi aadress</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Androidi seadetes ekraaniluku sisselülitamine<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome'i kasutades nõustute <ph name="BEGIN_TOS_LINK" />Google'i teenusetingimustega<ph name="END_TOS_LINK" /> ning <ph name="BEGIN_ATOS_LINK" />Google Chrome'i ja Chrome OS-i lisateenusetingimustega<ph name="END_ATOS_LINK" />. Kehtivad ka <ph name="BEGIN_PRIVACY_LINK" />privaatsuseeskirjad<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb
index c6f925b85..16cbf85d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_eu.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Arakatze-historia</translation>
 <translation id="2497852260688568942">Administratzaileak sinkronizazioa desgaitu du</translation>
 <translation id="250020030759455918"><ph name="SITE_NAME" /> webgunean saioa hasi duzun ala ez, arakatze-datuak eta webguneetako datuak ikusiko dituzu Chrome-n</translation>
+<translation id="2507178219579379057">Iragarkien spama, iruzurrak eta webguneen artean partekatzeko aukera mugatzeko moduak arakatzen ari da Chrome. Halaber, webguneek iragarkiak erakusteko erabil ditzaketen <ph name="BEGIN_LINK" />interesak igartzen ditu<ph name="END_LINK" /> Chrome-k. Zure interesak kudeatzeko, joan ezarpenetara.</translation>
 <translation id="2513403576141822879">Pribatutasunarekin, segurtasunarekin eta datu-bilketarekin lotutako ezarpen gehiago ikusteko, joan <ph name="BEGIN_LINK" />Sinkronizazioa eta Google-ren zerbitzuak<ph name="END_LINK" /> atalera</translation>
 <translation id="2517472476991765520">Bilatu</translation>
 <translation id="2523184218357549926">Bisitatzen dituzun orrien URLak bidaltzen dizkio Google-ri</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Kode irekiko lizentziak</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Zein datu erabiltzen dira?<ph name="END_BOLD" /> Zure arakatze-historia eta gailu hau erabili bitartean Chrome-ren bidez bisitatutako webguneen erregistro bat.</translation>
 <translation id="4263656433980196874">Ahozko bilaketa egite aldera Laguntzailea zerbitzuari baimena emateko erabiltzaile-interfazea altuera osoan irekita dago</translation>
-<translation id="4266054596873078491">Google-ko kontuarekin, hasi saioa webgune honetan eta Chrome-n.</translation>
 <translation id="4269820728363426813">Kopiatu estekaren helbidea</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Aktibatu pantailaren blokeoa Android-en ezarpenetan<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome erabiltzen baduzu, onartu egingo dituzu <ph name="BEGIN_TOS_LINK" />Google-ren Zerbitzu-baldintzak<ph name="END_TOS_LINK" /> eta <ph name="BEGIN_ATOS_LINK" />Google Chrome-ren eta Chrome OS-ren Zerbitzu-baldintza gehigarriak<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Pribatutasun-gidalerroak<ph name="END_PRIVACY_LINK" /> ere aplikatuko dira.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
index cd042e22..965e6e52 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">مجوزهای متن‌باز</translation>
 <translation id="4262915912852657291">‏<ph name="BEGIN_BOLD" />انواع داده‌ای که استفاده می‌شود:<ph name="END_BOLD" /> سابقه مرور شما، سابقه سایت‌هایی که بااستفاده از Chrome در این دستگاه از آن‌ها بازدید کرده‌اید.</translation>
 <translation id="4263656433980196874">واسط کاربر رضایت برای جستجوی گفتاری «دستیار» به‌صورت کامل باز شد</translation>
-<translation id="4266054596873078491">‏با «حساب Google» به سیستم این سایت و Chrome وارد می‌شوید.</translation>
 <translation id="4269820728363426813">کپی نشانی پیوند</translation>
 <translation id="4291407919474070700">‏<ph name="BEGIN_LINK" />روشن کردن قفل صفحه در تنظیمات Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">‏درصورت استفاده از Chrome، با <ph name="BEGIN_TOS_LINK" />شرایط خدمات Google<ph name="END_TOS_LINK" /> و <ph name="BEGIN_ATOS_LINK" />شرایط خدمات تکمیلی Google Chrome و ChromeOS<ph name="END_ATOS_LINK" /> موافقت می‌کنید. <ph name="BEGIN_PRIVACY_LINK" />خط‌مشی رازداری<ph name="END_PRIVACY_LINK" /> نیز اعمال می‌شود.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
index 9911fe0..049a073 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fi.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Selaushistoria</translation>
 <translation id="2497852260688568942">Järjestelmänvalvoja on poistanut synkronoinnin käytöstä.</translation>
 <translation id="250020030759455918">Näet kirjautumisen tilan, selausdatan ja sivustodatan (<ph name="SITE_NAME" />) Chromessa</translation>
+<translation id="2507178219579379057">Chrome tutkii tapoja rajoittaa mainosspämmäystä, petoksia ja sivustojen välistä jakamista. Chrome myös <ph name="BEGIN_LINK" />arvioi kiinnostuksen kohteitasi<ph name="END_LINK" />, joita sivustot voivat käyttää näyttääksesi sinulle mainoksia. Voit muuttaa kiinnostuksen kohteitasi asetuksista.</translation>
 <translation id="2513403576141822879">Näet lisää yksityisyyteen, tietoturvaan ja datankeruuseen liittyviä asetuksia <ph name="BEGIN_LINK" />Synkronointi ja Google-palvelut<ph name="END_LINK" /> ‑kohdassa.</translation>
 <translation id="2517472476991765520">Etsi</translation>
 <translation id="2523184218357549926">Lähettää avaamiesi sivujen URL-osoitteet Googlelle</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Avoimen lähdekoodin käyttöluvat</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Mitä dataa käytetään:<ph name="END_BOLD" /> Selaushistoriaasi ja listaa sivuista, joilla olet käynyt Chromella tällä laitteella</translation>
 <translation id="4263656433980196874">Assistantin puhehaun suostumus-UI avattu koko näytön kokoisena</translation>
-<translation id="4266054596873078491">Kirjaudu tälle sivustolle ja Chromeen Google-tililläsi.</translation>
 <translation id="4269820728363426813">Kopioi linkin osoite</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Laita näytön lukitus päälle Android-asetuksista<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Käyttämällä Chromea hyväksyt <ph name="BEGIN_TOS_LINK" />Googlen käyttöehdot<ph name="END_TOS_LINK" /> sekä <ph name="BEGIN_ATOS_LINK" />Google Chromen ja Chrome-käyttöjärjestelmän lisäkäyttöehdot<ph name="END_ATOS_LINK" />. Myös <ph name="BEGIN_PRIVACY_LINK" />tietosuojakäytäntöä<ph name="END_PRIVACY_LINK" /> sovelletaan.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
index f623447f..77c8862 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fil.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">History ng Pag-browse</translation>
 <translation id="2497852260688568942">Na-disable ng iyong administrator ang pag-sync</translation>
 <translation id="250020030759455918">Makikita mo sa Chrome ang iyong status ng pag-sign in sa <ph name="SITE_NAME" />, data mula sa pag-browse, at data ng site</translation>
+<translation id="2507178219579379057">Nag-e-explore ang Chrome ng mga paraan para limitahan ang mga spam na ad, panloloko, at pagbabahagi sa pagitan ng mga site. <ph name="BEGIN_LINK" />Tinatantya rin ng Chrome ang iyong mga interes<ph name="END_LINK" /> na puwedeng gamitin ng mga site para magpakita sa iyo ng mga ad. Puwede mong pamahalaan ang iyong mga interes sa mga setting.</translation>
 <translation id="2513403576141822879">Para sa higit pang setting na nauugnay sa privacy, seguridad, at pangongolekta ng data, tingnan ang <ph name="BEGIN_LINK" />Pag-sync at mga serbisyo ng Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">I-scan</translation>
 <translation id="2523184218357549926">Ipinapadala sa Google ang mga URL ng mga page na binibisita mo</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Mga lisensya ng open source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Anong data ang ginagamit:<ph name="END_BOLD" /> Iyong history ng pag-browse, record ng mga site na binisita mo gamit ang Chrome sa device na ito.</translation>
 <translation id="4263656433980196874">Nakabukas ang ui ng pahintulot ng paghahanap gamit ang boses ng Assistant nang buo ang taas</translation>
-<translation id="4266054596873078491">Mag-sign in sa site na ito at sa Chrome gamit ang iyong Google Account.</translation>
 <translation id="4269820728363426813">Kopyahin ang address ng link</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />I-on ang lock ng screen sa mga setting ng Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Sa pamamagitan ng paggamit sa Chrome, sumasang-ayon ka sa <ph name="BEGIN_TOS_LINK" />Mga Tuntunin ng Serbisyo ng Google<ph name="END_TOS_LINK" />, at sa <ph name="BEGIN_ATOS_LINK" />Mga Karagdagang Tuntunin ng Serbisyo ng Google Chrome at ChromeOS<ph name="END_ATOS_LINK" />. Nalalapat din ang <ph name="BEGIN_PRIVACY_LINK" />Patakaran sa Privacy<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
index 13d3034..356caea 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr-CA.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licences de logiciels libres</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Quelles données sont utilisées :<ph name="END_BOLD" /> votre historique de navigation et un enregistrement des sites que vous avez visités à l'aide de Chrome sur cet appareil.</translation>
 <translation id="4263656433980196874">Fenêtre d'IU de consentement pour la recherche vocale avec l'Assistant, ouverte à pleine hauteur</translation>
-<translation id="4266054596873078491">Connectez-vous à ce site et à Chrome avec votre compte Google.</translation>
 <translation id="4269820728363426813">Copier l'adresse du lien</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Activez le verrouillage d'écran dans les paramètres Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Par votre utilisation de Chrome, vous acceptez les <ph name="BEGIN_TOS_LINK" />conditions d'utilisation de Google<ph name="END_TOS_LINK" /> et les <ph name="BEGIN_ATOS_LINK" />conditions d'utilisation supplémentaires de Google Chrome et de Chrome OS<ph name="END_ATOS_LINK" />. La <ph name="BEGIN_PRIVACY_LINK" />politique de confidentialité<ph name="END_PRIVACY_LINK" /> s'applique également.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
index 8d0566c..db949cd 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Historique de navigation</translation>
 <translation id="2497852260688568942">Votre administrateur a désactivé la synchronisation</translation>
 <translation id="250020030759455918">Vous verrez votre état de connexion à <ph name="SITE_NAME" />, ainsi que vos données de navigation et les données du site dans Chrome</translation>
+<translation id="2507178219579379057">Chrome étudie différents moyens de limiter le spam publicitaire, la fraude et le partage entre les sites. Chrome <ph name="BEGIN_LINK" />prédit aussi vos centres d'intérêt<ph name="END_LINK" /> que les sites peuvent utiliser pour vous proposer des annonces. Vous pouvez gérer vos centres d'intérêt dans les paramètres.</translation>
 <translation id="2513403576141822879">Pour accéder à d'autres paramètres liés à la confidentialité, à la sécurité et à la collecte de données, consultez la section <ph name="BEGIN_LINK" />Services Google/Synchronisation<ph name="END_LINK" />.</translation>
 <translation id="2517472476991765520">Scanner</translation>
 <translation id="2523184218357549926">Envoie les URL des pages que vous consultez à Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Licences Open Source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Quelles sont les données utilisées<ph name="END_BOLD" /> : votre historique de navigation, qui liste tous les sites que vous avez consultés dans Chrome sur cet appareil.</translation>
 <translation id="4263656433980196874">Interface d'autorisation pour la recherche vocale de l'Assistant ouverte à pleine hauteur</translation>
-<translation id="4266054596873078491">Connectez-vous à ce site et à Chrome avec votre compte Google.</translation>
 <translation id="4269820728363426813">Copier l'adresse du lien</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Activez le verrouillage de l'écran dans les paramètres Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">En utilisant Chrome, vous acceptez les <ph name="BEGIN_TOS_LINK" />Conditions d'utilisation de Google<ph name="END_TOS_LINK" /> et les <ph name="BEGIN_ATOS_LINK" />Conditions d'utilisation supplémentaires de Google Chrome et Chrome OS<ph name="END_ATOS_LINK" />. Les <ph name="BEGIN_PRIVACY_LINK" />Règles de confidentialité<ph name="END_PRIVACY_LINK" /> s'appliquent également.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
index 3106714..105003e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gl.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Historial de navegación</translation>
 <translation id="2497852260688568942">O administrador desactivou a sincronización</translation>
 <translation id="250020030759455918">Poderás ver o teu estado de inicio de sesión de <ph name="SITE_NAME" />, os teus datos de navegación e os datos do sitio en Chrome</translation>
+<translation id="2507178219579379057">Chrome explora formas de limitar o spam, a fraude e o uso compartido entre sitios. Tamén <ph name="BEGIN_LINK" />fai unha estimación dos teus intereses<ph name="END_LINK" /> que os sitios poden usar para mostrarche anuncios. Podes xestionar os teus intereses na configuración.</translation>
 <translation id="2513403576141822879">Para ver máis opcións relacionadas coa configuración da privacidade, seguranza e recompilación de datos, consulta <ph name="BEGIN_LINK" />Sincronización e servizos de Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Buscar</translation>
 <translation id="2523184218357549926">Envía a Google os URL das páxinas que visitas</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Licenzas de código aberto</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Que datos se usan?<ph name="END_BOLD" /> O teu historial de navegación e un rexistro dos sitios que visitases usando Chrome neste dispositivo.</translation>
 <translation id="4263656433980196874">A interface de consentimento para a busca por voz a través do Asistente está aberta a pantalla completa</translation>
-<translation id="4266054596873078491">Inicia sesión coa túa Conta de Google neste sitio e en Chrome.</translation>
 <translation id="4269820728363426813">Copiar enderezo da ligazón</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Activa o bloqueo de pantalla na configuración de Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Ao utilizar Chrome, aceptas as <ph name="BEGIN_TOS_LINK" />Condicións de servizo de Google<ph name="END_TOS_LINK" /> e as <ph name="BEGIN_ATOS_LINK" />Condicións de servizo adicionais de Google Chrome e Chrome OS<ph name="END_ATOS_LINK" />. Tamén é aplicable a <ph name="BEGIN_PRIVACY_LINK" />Política de privacidade<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
index 8064d85d..40a6c66 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_gu.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">ઓપન સોર્સ લાઇસન્સ</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />કયા ડેટાનો ઉપયોગ કરવામાં આવે છે:<ph name="END_BOLD" /> તમારો બ્રાઉઝિંગ ઇતિહાસ, જે આ ડિવાઇસ પર તમે Chrome વડે મુલાકાત લીધેલી સાઇટનો રેકોર્ડ છે.</translation>
 <translation id="4263656433980196874">Assistant વૉઇસ શોધની સંમતિ માટેનું UI સંપૂર્ણ ઊંચાઈએ ખોલ્યું</translation>
-<translation id="4266054596873078491">તમારા Google એકાઉન્ટ વડે આ સાઇટ અને Chromeમાં સાઇન ઇન કરો.</translation>
 <translation id="4269820728363426813">લિંક સરનામું કૉપિ કરો</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android સેટિંગમાં સ્ક્રીન લૉકની સુવિધા ચાલુ કરો<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chromeનો ઉપયોગ કરીને, તમે <ph name="BEGIN_TOS_LINK" />Google સેવાની શરતો<ph name="END_TOS_LINK" /> અને <ph name="BEGIN_ATOS_LINK" />Google Chrome તથા ChromeOSની વધારાની સેવાની શરતો<ph name="END_ATOS_LINK" /> સાથે સંમત થાઓ છો. <ph name="BEGIN_PRIVACY_LINK" />પ્રાઇવસી પૉલિસી<ph name="END_PRIVACY_LINK" /> પણ લાગુ થાય છે.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
index cd260ef3..c591669d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">ओपन सोर्स लाइसेंस</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />किस डेटा का इस्तेमाल किया जाता है:<ph name="END_BOLD" /> आपका ब्राउज़िंग इतिहास, जिसमें इस डिवाइस पर Chrome का इस्तेमाल करके देखी गई साइटों का रिकॉर्ड होता है.</translation>
 <translation id="4263656433980196874">यूज़र इंटरफ़ेस (यूआई) पर वॉइस सर्च के लिए, Assistant का इस्तेमाल करने की सहमति पूरी स्क्रीन में खुली हुई है.</translation>
-<translation id="4266054596873078491">अपने Google खाते की मदद से, इस साइट और Chrome में साइन इन करें.</translation>
 <translation id="4269820728363426813">लिंक पते को कॉपी करें</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android सेटिंग में, स्क्रीन लॉक चालू करें<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome इस्तेमाल करने का मतलब है कि आप <ph name="BEGIN_TOS_LINK" />Google की सेवा की शर्तों<ph name="END_TOS_LINK" /> के साथ-साथ <ph name="BEGIN_ATOS_LINK" />Google Chrome और ChromeOS की सेवा की अन्य शर्तों<ph name="END_ATOS_LINK" /> से सहमत हैं. साथ ही, <ph name="BEGIN_PRIVACY_LINK" />निजता नीति<ph name="END_PRIVACY_LINK" /> भी लागू होगी.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
index f10240fe..d00103f69 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hr.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licence otvorenog koda</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Koji se podaci upotrebljavaju<ph name="END_BOLD" />: vaša povijest pregledavanja, zapisnik web-lokacija koje ste posjetili u Chromeu na ovom uređaju.</translation>
 <translation id="4263656433980196874">Korisničko sučelje pristanka za glasovno pretraživanje putem Asistenta otvoreno je u punoj visini</translation>
-<translation id="4266054596873078491">Prijavite se na ovu web-lokaciju i Chrome pomoću Google računa.</translation>
 <translation id="4269820728363426813">Kopiraj adresu veze</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Uključite zaključavanje zaslona u postavkama Androida<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Korištenjem Chromea prihvaćate <ph name="BEGIN_TOS_LINK" />Googleove uvjete pružanja usluge<ph name="END_TOS_LINK" /> i <ph name="BEGIN_ATOS_LINK" />dodatne uvjete pružanja usluge za Google Chrome i Chrome OS<ph name="END_ATOS_LINK" />. Primjenjuju se i <ph name="BEGIN_PRIVACY_LINK" />pravila o privatnosti<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
index cceb95b7..a1d5b489 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hu.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Böngészés előzményei</translation>
 <translation id="2497852260688568942">A szinkronizálást letiltotta a rendszergazda</translation>
 <translation id="250020030759455918">Láthatja a(z) <ph name="SITE_NAME" /> bejelentkezési állapotát, a böngészőadatokat és a webhelyadatokat a Chrome-ban</translation>
+<translation id="2507178219579379057">A Chrome a hirdetési spam, a csalás és a webhelyek közötti megosztás korlátozására szolgáló módszereket próbál ki. A Chrome emellett <ph name="BEGIN_LINK" />meghatározza az Ön érdeklődési köreit<ph name="END_LINK" />, amelyeket más webhelyek arra használhatnak fel, hogy hirdetéseket jelenítsenek meg Önnek. Érdeklődési köreit a beállításokban kezelheti.</translation>
 <translation id="2513403576141822879">A <ph name="BEGIN_LINK" />Szinkronizálás és Google<ph name="END_LINK" /> részben további beállításokat talál az adatvédelemre, biztonságra és adatgyűjtésre vonatkozóan</translation>
 <translation id="2517472476991765520">Keresés</translation>
 <translation id="2523184218357549926">A felkeresett oldalak URL-címének elküldése a Google-nak</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Nyílt forráskódú licencek</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />A felhasznált adatok:<ph name="END_BOLD" /> Böngészési előzményei, az Ön által az ezen az eszközön használt Chrome-ban felkeresett webhelyek jegyzéke.</translation>
 <translation id="4263656433980196874">A Segéd hangalapú kereséssel kapcsolatos hozzájárulási kezelőfelülete teljes magasságban megnyitva</translation>
-<translation id="4266054596873078491">Jelentkezzen be erre a webhelyre és a Chrome-ba a Google-fiókjával.</translation>
 <translation id="4269820728363426813">Link másolása</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Állítsa be a képernyőzárat az Android beállításai között<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">A Chrome használatával Ön elfogadja a <ph name="BEGIN_TOS_LINK" />Google Általános Szerződési Feltételeket<ph name="END_TOS_LINK" />, valamint <ph name="BEGIN_ATOS_LINK" />A Google Chrome és a ChromeOS Kiegészítő Általános Szerződési Feltételeit<ph name="END_ATOS_LINK" />. Az <ph name="BEGIN_PRIVACY_LINK" />adatvédelmi irányelvek<ph name="END_PRIVACY_LINK" /> is érvényben vannak.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
index 2ad6a18..dad24c3 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_hy.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Դիտարկումների պատմություն</translation>
 <translation id="2497852260688568942">Ձեր ադմինիստրատորն անջատել է համաժամացումը</translation>
 <translation id="250020030759455918">Դուք կտեսնեք ձեր <ph name="SITE_NAME" /> հաշվի մուտքի կարգավիճակը, այցելությունների պատմությունը և կայքի տվյալները Chrome-ում</translation>
+<translation id="2507178219579379057">Chrome-ն ուսումասիրում է եղանակները, որոնք թույլ են տալիս սահմանափակել սպամը, խարդախությունները և կայքերի միջև տեղեկությունների փոխանակումը։ Chrome-ը նաև <ph name="BEGIN_LINK" />որոշում է ձեր հետաքրքրությունները<ph name="END_LINK" />, որոնք կայքերը կարող են օգտագործել՝ ձեզ գովազդ ցուցադրելու համար։ Ձեր հետաքրքրությունները կարող եք կառավարել կարգավորումներում։</translation>
 <translation id="2513403576141822879"><ph name="BEGIN_LINK" />Համաժամացում և Google-ի ծառայություններ<ph name="END_LINK" /> բաժնում դուք կարող եք գտնել գաղտնիության, անվտանգության և տվյալների հավաքման հետ կապված լրացուցիչ կարգավորումներ։</translation>
 <translation id="2517472476991765520">Որոնել</translation>
 <translation id="2523184218357549926">Ձեր այցելած էջերի URL-ներն ուղարկում է Google-ին</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Բաց կոդով ծրագրերի լիցենզիաներ</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Ինչ տվյալներ են օգտագործվում.<ph name="END_BOLD" /> ձեր այցելությունների պատմությունը այն կայքերի ցանկն է, որոնք դուք այցելել եք Chrome-ի միջոցով այս սարքում։</translation>
 <translation id="4263656433980196874">Օգնականի միջոցով ձայնային որոնման միջերեսը բացվում է ամբողջ բարձրությամբ</translation>
-<translation id="4266054596873078491">Մուտք գործեք այս կայքում և Chrome-ում ձեր Google հաշվով։</translation>
 <translation id="4269820728363426813">Պատճենել հղման հասցեն</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Միացնել էկրանի կողպումը Android-ի կարգավորումներում<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Օգտվելով Chrome-ից՝ դուք ընդունում եք <ph name="BEGIN_TOS_LINK" />Google-ի օգտագործման պայմանները<ph name="END_TOS_LINK" /> և <ph name="BEGIN_ATOS_LINK" />Google Chrome-ի և ChromeOS-ի օգտագործման լրացուցիչ պայմանները<ph name="END_ATOS_LINK" />։ Կիրառվում է նաև <ph name="BEGIN_PRIVACY_LINK" />Գաղտնիության քաղաքականությունը<ph name="END_PRIVACY_LINK" />։</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
index 367fc37..059a6b1 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_id.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Histori penjelajahan</translation>
 <translation id="2497852260688568942">Sinkronisasi dinonaktifkan oleh administrator</translation>
 <translation id="250020030759455918">Di Chrome, Anda akan melihat status login, data penjelajahan, dan data situs <ph name="SITE_NAME" /></translation>
+<translation id="2507178219579379057">Chrome sedang mengembangkan cara untuk membatasi spam iklan, penipuan, dan berbagi antar-situs. Chrome juga <ph name="BEGIN_LINK" />memperkirakan minat Anda<ph name="END_LINK" /> yang dapat digunakan oleh situs untuk menampilkan iklan kepada Anda. Anda dapat mengelola minat di setelan.</translation>
 <translation id="2513403576141822879">Untuk setelan lainnya yang berkaitan dengan privasi, keamanan, dan pengumpulan data, lihat <ph name="BEGIN_LINK" />Sinkronisasi dan layanan Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Pindai</translation>
 <translation id="2523184218357549926">Mengirimkan URL halaman yang Anda buka ke Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Lisensi open source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Data yang digunakan:<ph name="END_BOLD" /> Histori penjelajahan Anda, catatan situs yang telah Anda buka menggunakan Chrome di perangkat ini.</translation>
 <translation id="4263656433980196874">UI izin penelusuran suara Asisten terbuka penuh</translation>
-<translation id="4266054596873078491">Login ke situs ini dan Chrome dengan Akun Google Anda.</translation>
 <translation id="4269820728363426813">Salin URL</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Aktifkan kunci layar di setelan Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Dengan menggunakan Chrome, Anda menyetujui <ph name="BEGIN_TOS_LINK" />Persyaratan Layanan Google<ph name="END_TOS_LINK" /> serta <ph name="BEGIN_ATOS_LINK" />Persyaratan Layanan Tambahan Google Chrome dan ChromeOS<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Kebijakan Privasi<ph name="END_PRIVACY_LINK" /> juga akan berlaku.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
index ab14a1b..7052cb42 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_is.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Vafraferill</translation>
 <translation id="2497852260688568942">Kerfisstjóri hefur gert samstillingu óvirka</translation>
 <translation id="250020030759455918">Þú sérð innskráningarstöðu þína, vafragögn og vefsvæðagögn fyrir <ph name="SITE_NAME" /> í Chrome.</translation>
+<translation id="2507178219579379057">Chrome kannar leiðir til að takmarka ruslefni, svik og deilingu á milli vefsvæða. Chrome <ph name="BEGIN_LINK" />leggur einnig mat á þau áhugasvið þín<ph name="END_LINK" /> sem vefsvæði geta notað til að birta þér auglýsingar. Þú getur stjórnað áhugasviðunum þínum í stillingunum.</translation>
 <translation id="2513403576141822879">Frekari upplýsingar sem tengjast persónuvernd, öryggi og gagnasöfnun má finna í <ph name="BEGIN_LINK" />Samstilling og sérstillingar<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Leita</translation>
 <translation id="2523184218357549926">Sendir vefslóðir síðna sem þú skoðar til Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Leyfi opins kóða</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Hvaða gögn eru notuð:<ph name="END_BOLD" /> Vafraferillinn þinn, skrá yfir vefsvæði sem þú hefur opnað með Chrome í þessu tæki.</translation>
 <translation id="4263656433980196874">Samþykkisviðmót raddleitar Hjálpara opið á öllum skjánum</translation>
-<translation id="4266054596873078491">Skráðu þig inn á þetta vefsvæði og Chrome með Google reikningnum þínum.</translation>
 <translation id="4269820728363426813">Afrita slóð tengils</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Kveiktu á skjálás í stillingum Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Með því að nota Chrome samþykkir þú <ph name="BEGIN_TOS_LINK" />þjónustuskilmála Google<ph name="END_TOS_LINK" />og <ph name="BEGIN_ATOS_LINK" />viðbótarskilmála Google Chrome og ChromeOS<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Persónuverndarstefnan<ph name="END_PRIVACY_LINK" /> gildir einnig.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
index da09a71..bbb5e93 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licenze open source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Quali dati vengono utilizzati:<ph name="END_BOLD" /> la cronologia di navigazione, ossia un record dei siti visitati da Chrome sul dispositivo in uso.</translation>
 <translation id="4263656433980196874">Interfaccia utente per il consenso all'utilizzo dell'assistente per la ricerca vocale aperta a schermo intero</translation>
-<translation id="4266054596873078491">Accedi a questo sito e a Chrome con il tuo Account Google.</translation>
 <translation id="4269820728363426813">Copia indirizzo link</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Attiva il blocco schermo nelle impostazioni di Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Se utilizzi Chrome, accetti i <ph name="BEGIN_TOS_LINK" />Termini di servizio di Google<ph name="END_TOS_LINK" /> e i <ph name="BEGIN_ATOS_LINK" />Termini di servizio aggiuntivi di Google Chrome e Chrome OS<ph name="END_ATOS_LINK" />. Si applicano anche le <ph name="BEGIN_PRIVACY_LINK" />Norme sulla privacy<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
index 5f9a20ee..dd027fdf 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">היסטוריית גלישה</translation>
 <translation id="2497852260688568942">מנהל המערכת שלך השבית את הסנכרון</translation>
 <translation id="250020030759455918">‏ב-Chrome יוצגו סטטוס הכניסה שלך ל-<ph name="SITE_NAME" />, נתוני הגלישה ונתוני האתר</translation>
+<translation id="2507178219579379057">‏ב-Chrome נבחנות דרכים חדשות להגביל ניסיונות הונאה, ספאם פרסומי ושיתוף בין אתרים. מערכת Chrome גם <ph name="BEGIN_LINK" />מעריכה מהם תחומי העניין שלך<ph name="END_LINK" />, ואתרים יוכלו להשתמש במידע הזה כדי להציג לך מודעות. אפשר לנהל את תחומי העניין בהגדרות.</translation>
 <translation id="2513403576141822879">‏אפשר למצוא הגדרות נוספות בנושא פרטיות, אבטחה ואיסוף נתונים בדף <ph name="BEGIN_LINK" />סנכרון ושירותי Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">סריקה</translation>
 <translation id="2523184218357549926">‏שליחת כתובות אתרים של דפים שבהם ביקרת ל-Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">רישיונות קוד פתוח</translation>
 <translation id="4262915912852657291">‏<ph name="BEGIN_BOLD" />באילו נתונים נעשה שימוש:<ph name="END_BOLD" /> היסטוריית הגלישה – תיעוד האתרים שביקרת בהם באמצעות Chrome במכשיר הזה.</translation>
 <translation id="4263656433980196874">‏ההסכמה לחיפוש קולי של Assistant בממשק משתמש נפתחה בגובה מלא</translation>
-<translation id="4266054596873078491">‏יש להיכנס לאתר הזה ול-Chrome באמצעות חשבון Google שלך.</translation>
 <translation id="4269820728363426813">העתקת כתובת של קישור</translation>
 <translation id="4291407919474070700">‏<ph name="BEGIN_LINK" />להפעלת נעילת המסך בהגדרות Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">‏השימוש ב-Chrome מבטא הסכמה <ph name="BEGIN_TOS_LINK" />לתנאים ולהגבלות של Google<ph name="END_TOS_LINK" /> ו<ph name="BEGIN_ATOS_LINK" />לתנאים ולהגבלות הנוספים של Google Chrome ו-ChromeOS<ph name="END_ATOS_LINK" />. גם <ph name="BEGIN_PRIVACY_LINK" />מדיניות הפרטיות<ph name="END_PRIVACY_LINK" /> חלה.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
index aa59df7..8d1a7932 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ja.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">オープンソース ライセンス</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />使用されるデータ:<ph name="END_BOLD" /> 閲覧履歴(このデバイスで Chrome を使用してアクセスしたサイトの記録)。</translation>
 <translation id="4263656433980196874">アシスタントの音声検索の同意ダイアログが画面全体に表示されています</translation>
-<translation id="4266054596873078491">Google アカウントでこのサイトと Chrome にログインします。</translation>
 <translation id="4269820728363426813">リンクアドレスをコピー</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android の設定で画面ロックをオンにする<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome を使用すると、<ph name="BEGIN_TOS_LINK" />Google 利用規約<ph name="END_TOS_LINK" />と <ph name="BEGIN_ATOS_LINK" />Google Chrome および Chrome OS 追加利用規約<ph name="END_ATOS_LINK" />に同意したものと見なされます。また、<ph name="BEGIN_PRIVACY_LINK" />プライバシー ポリシー<ph name="END_PRIVACY_LINK" />も適用されます。</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
index 05a0fcc0..e2dc0348 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ka.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">ნახვის ისტორია</translation>
 <translation id="2497852260688568942">სინქრონიზაცია გათიშულია თქვენი ადმინისტრატორის მიერ</translation>
 <translation id="250020030759455918">Chrome-ში იხილავთ როგორც <ph name="SITE_NAME" />-ში შესვლის სტატუსს, ისე დათვალიერების/საიტის მონაცემებს</translation>
+<translation id="2507178219579379057">Chrome ცდილობს, გაარკვიოს, თუ როგორ შეიძლება სარეკლამო სპამის, თაღლითობისა და საიტებს შორის კონტენტის გაზიარების შეზღუდვა. Chrome, ასევე, <ph name="BEGIN_LINK" />ვარაუდით დაადგენს თქვენს ინტერესებს<ph name="END_LINK" />, რომელთა გამოყენებაც საიტებს შეუძლიათ თქვენთვის რეკლამის საჩვენებლად. თქვენი ინტერესების მართვა შეგიძლიათ პარამეტრებიდან.</translation>
 <translation id="2513403576141822879">კონფიდენციალურობასთან, უსაფრთხოებასთან და მონაცემთა შეგროვებასთან დაკავშირებული სხვა პარამეტრებისთვის იხილეთ <ph name="BEGIN_LINK" />სინქრონიზაცია და Google-ის სერვისები<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">სკანირება</translation>
 <translation id="2523184218357549926">Google-ს უგზავნის თქვენ მიერ მონახულებული გვერდების URL-ებს</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">ღია წყაროს ლიცენზიები</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />გამოყენებული მონაცემების ტიპები:<ph name="END_BOLD" /> თქვენ მიერ ვების დათვალიერების ისტორია, ამ მოწყობილობაზე თქვენ მიერ Chrome-ის მეშვეობით მონახულებული საიტების ჩანაწერი.</translation>
 <translation id="4263656433980196874">ასისტენტში ხმოვან ძიებაზე თანხმობის სამომხმარებლო ინტერფეისი გახსნილია სრულ სიმაღლეზე</translation>
-<translation id="4266054596873078491">შედით ამ საიტსა და Chrome-ში თქვენი Google ანგარიშით.</translation>
 <translation id="4269820728363426813">ბმულის მისამართის კოპირება</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />ჩართეთ ეკრანის დაბლოკვა Android-ის პარამეტრებიდან<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome-ის გამოყენებით ეთანხმებით <ph name="BEGIN_TOS_LINK" />Google-ის მომსახურების პირობებს<ph name="END_TOS_LINK" />, ასევე, <ph name="BEGIN_ATOS_LINK" />Google Chrome-ისა და ChromeOS-ის მომსახურების დამატებით პირობებს<ph name="END_ATOS_LINK" />. გარდა ამისა, მოქმედებს <ph name="BEGIN_PRIVACY_LINK" />კონფიდენციალურობის დებულება<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
index d6cb36c..69d0d46 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kk.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Ашық кодты бағдарлама лицензиялары</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Қандай дерек пайдаланылады:<ph name="END_BOLD" /> браузерді қолдану тарихы, осы құрылғыда Chrome көмегімен кірген сайттардың жазбасы.</translation>
 <translation id="4263656433980196874">Assistant-ті дауыспен іздеуге пайдалану туралы келісім терезесі толық ашылған.</translation>
-<translation id="4266054596873078491">Осы сайтқа және Chrome браузеріне Google аккаунтыңызбен кіріңіз.</translation>
 <translation id="4269820728363426813">Сілтеме мекенжайын көшіру</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android параметрлерінен экран құлпын қосыңыз.<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome браузерін пайдалану арқылы <ph name="BEGIN_TOS_LINK" />Google Қызмет көрсету шарттарына<ph name="END_TOS_LINK" />, <ph name="BEGIN_ATOS_LINK" />Google Chrome және ChromeOS Қосымша қызмет көрсету шарттарына<ph name="END_ATOS_LINK" /> келісесіз. <ph name="BEGIN_PRIVACY_LINK" />Құпиялылық саясаты<ph name="END_PRIVACY_LINK" /> да қолданылады.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
index 6556071..0a8972b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_km.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">អាជ្ញាប័ណ្ណប្រភពបើកចំហ</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ប្រភេទទិន្នន័យ​ដែលត្រូវបានប្រើប្រាស់៖<ph name="END_BOLD" /> ប្រវត្តិ​រុករក​តាមអ៊ីនធឺណិត​របស់អ្នក កំណត់ត្រាអំពី​គេហទំព័រ​ដែលអ្នកបានចូលមើល​ដោយប្រើ Chrome នៅលើ​ឧបករណ៍នេះ។</translation>
 <translation id="4263656433980196874">បានបើក​ពេញអេក្រង់នូវ ui នៃ​ការយល់ព្រម​ឱ្យប្រើជំនួយការ​សម្រាប់​ការស្វែងរក​តាមសំឡេង</translation>
-<translation id="4266054596873078491">ចូល​គេហទំព័រ​នេះ និង Chrome ដោយប្រើគណនី Google របស់អ្នក។</translation>
 <translation id="4269820728363426813">ចម្លងអាសយដ្ឋានតំណ</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />បើក​ការចាក់សោអេក្រង់​នៅក្នុង​ការកំណត់ Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">ប្រសិនបើប្រើ Chrome មានន័យថា​អ្នកយល់ព្រមតាម<ph name="BEGIN_TOS_LINK" />លក្ខខណ្ឌ​ប្រើប្រាស់ Google<ph name="END_TOS_LINK" /> និង<ph name="BEGIN_ATOS_LINK" />លក្ខខណ្ឌ​ប្រើប្រាស់​បន្ថែមរបស់ Google Chrome និង ChromeOS<ph name="END_ATOS_LINK" />។ <ph name="BEGIN_PRIVACY_LINK" />គោលការណ៍​ឯកជនភាព<ph name="END_PRIVACY_LINK" />ក៏អនុវត្តផងដែរ។</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
index b75adc6..3404ec29 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_kn.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">ಓಪನ್ ಸೋರ್ಸ್ ಪರವಾನಗಿಗಳು</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ಯಾವ ಡೇಟಾವನ್ನು ಬಳಸಲಾಗುತ್ತದೆ:<ph name="END_BOLD" /> ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸ, ಎಂದರೆ, ಈ ಸಾಧನದಲ್ಲಿ Chrome ಬಳಸುವಾಗ ನೀವು ಭೇಟಿ ನೀಡಿದ ಸೈಟ್‌ಗಳ ದಾಖಲೆ.</translation>
 <translation id="4263656433980196874">Assistant ಧ್ವನಿ ಹುಡುಕಾಟ ಸಮ್ಮತಿಯ UI ಅನ್ನು ಪೂರ್ಣ ಎತ್ತರದಲ್ಲಿ ತೆರೆಯಲಾಗಿದೆ</translation>
-<translation id="4266054596873078491">ನಿಮ್ಮ Google ಖಾತೆಯನ್ನು ಮೂಲಕ ಈ ಸೈಟ್ ಮತ್ತು Chrome ಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ.</translation>
 <translation id="4269820728363426813">ಲಿಂಕ್ ವಿಳಾಸವನ್ನು ನಕಲಿಸಿ</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಆನ್ ಮಾಡಿ<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome ಅನ್ನು ಬಳಸುವ ಮೂಲಕ, ನೀವು <ph name="BEGIN_TOS_LINK" />Google ಸೇವಾ ನಿಯಮಗಳು<ph name="END_TOS_LINK" />, ಹಾಗೂ <ph name="BEGIN_ATOS_LINK" />Google Chrome ಮತ್ತು ChromeOS ಹೆಚ್ಚುವರಿ ಸೇವಾ ನಿಯಮಗಳಿಗೆ<ph name="END_ATOS_LINK" /> ಸಮ್ಮತಿಸುತ್ತೀರಿ. <ph name="BEGIN_PRIVACY_LINK" />ಗೌಪ್ಯತೆ ನೀತಿ<ph name="END_PRIVACY_LINK" /> ಸಹ ಅನ್ವಯಿಸುತ್ತದೆ.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
index 68ee0421..73c21d9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ko.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">인터넷 사용 기록</translation>
 <translation id="2497852260688568942">관리자가 동기화를 사용 중지했습니다.</translation>
 <translation id="250020030759455918">Chrome에서 <ph name="SITE_NAME" /> 로그인 상태, 인터넷 사용 기록, 사이트 데이터를 볼 수 있습니다.</translation>
+<translation id="2507178219579379057">Chrome에서는 광고 스팸, 사기 및 사이트 간 공유를 제한하는 방법을 연구합니다. 또한 Chrome은 사이트에서 광고를 표시하는 데 사용할 수 있는 <ph name="BEGIN_LINK" />관심분야를 예측<ph name="END_LINK" />합니다. 설정에서 관심분야를 관리할 수 있습니다.</translation>
 <translation id="2513403576141822879">개인정보 보호, 보안, 데이터 수집에 관한 설정을 더 보려면 <ph name="BEGIN_LINK" />동기화 및 Google 서비스<ph name="END_LINK" />를 참조하세요.</translation>
 <translation id="2517472476991765520">검색</translation>
 <translation id="2523184218357549926">방문한 페이지의 URL을 Google에 전송</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">오픈소스 라이선스</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />사용되는 데이터:<ph name="END_BOLD" /> 이 기기에서 Chrome으로 방문한 사이트 기록인 방문 기록이 사용됩니다.</translation>
 <translation id="4263656433980196874">어시스턴트 음성 검색 동의 UI가 전체 높이로 열림</translation>
-<translation id="4266054596873078491">Google 계정으로 이 사이트 및 Chrome에 로그인합니다</translation>
 <translation id="4269820728363426813">링크 주소 복사</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android 설정에서 화면 잠금 사용 설정하기<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome을 사용하면 <ph name="BEGIN_TOS_LINK" />Google 서비스 약관<ph name="END_TOS_LINK" />과 <ph name="BEGIN_ATOS_LINK" />Chrome 및 ChromeOS 추가 서비스 약관<ph name="END_ATOS_LINK" />에 동의하는 것으로 간주됩니다. <ph name="BEGIN_PRIVACY_LINK" />개인정보처리방침<ph name="END_PRIVACY_LINK" />도 적용됩니다.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
index 4347921a..9fe9872 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Ачык программа уруксаттамалары</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Кайсы маалымат колдонулат:<ph name="END_BOLD" /> Бул түзмөктө Chrome аркылуу баш баккан жана көргөн сайттарыңыз.</translation>
 <translation id="4263656433980196874">Жардамчыга айтып издөөгө уруксат берүү интерфейси толук ачылды</translation>
-<translation id="4266054596873078491">Бул сайтка жана Chrome'го Google аккаунтуңуз менен кириңиз.</translation>
 <translation id="4269820728363426813">Шилтеме дарегин көчүрүү</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android'дин жөндөөлөрүнөн экранды кулпулоону күйгүзүңүз<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome'ду колдонуу менен, <ph name="BEGIN_TOS_LINK" />Google'дун Тейлөө шарттарына<ph name="END_TOS_LINK" /> жана <ph name="BEGIN_ATOS_LINK" />Google Chrome менен ChromeOS'тун Кошумча Тейлөө шарттарына<ph name="END_ATOS_LINK" /> макулдугуңузду билдиресиз. <ph name="BEGIN_PRIVACY_LINK" />Купуялык саясаты<ph name="END_PRIVACY_LINK" /> да колдонулат.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
index e65dec0..b6335ec 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lo.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">ປະຫວັດການທ່ອງເວັບ</translation>
 <translation id="2497852260688568942">ການຊິ້ງຂໍ້ມູນຖືກປິດນຳໃຊ້ໂດຍຜູ້ເບິ່ງແຍງລະບົບຂອງທ່ານ</translation>
 <translation id="250020030759455918">ທ່ານຈະເຫັນສະຖານະການເຂົ້າສູ່ລະບົບ <ph name="SITE_NAME" />, ຂໍ້ມູນການທ່ອງເວັບ ແລະ ຂໍ້ມູນເວັບໄຊຂອງທ່ານໃນ Chrome</translation>
+<translation id="2507178219579379057">Chrome ກຳລັງສຳຫຼວດວິທີຈຳກັດສະແປມໂຄສະນາ, ການສໍ້ໂກງ ແລະ ການແບ່ງປັນລະຫວ່າງເວັບໄຊ. ນອກຈາກນັ້ນ, Chrome ຍັງຈະ <ph name="BEGIN_LINK" />ຄາດຄະເນຄວາມສົນໃຈຂອງທ່ານ<ph name="END_LINK" /> ທີ່ເວັບໄຊຕ່າງໆຈະໃຊ້ເພື່ອສະແດງໂຄສະນາໃຫ້ທ່ານເຫັນນຳ. ທ່ານສາມາດຈັດການຄວາມສົນໃຈຂອງທ່ານໄດ້ໃນການຕັ້ງຄ່າ.</translation>
 <translation id="2513403576141822879">ສຳລັບການຕັ້ງຄ່າເພີ່ມເຕີມທີ່ກ່ຽວຂ້ອງກັບຄວາມເປັນສ່ວນຕົວ, ຄວາມປອດໄພ ແລະ ການເກັບຂໍ້ມູນ, ກະລຸນາເບິ່ງ <ph name="BEGIN_LINK" />ການຊິ້ງຂໍ້ມູນ ແລະ ການບໍລິການຂອງ Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">ສະແກນ</translation>
 <translation id="2523184218357549926">ສົ່ງ URL ຂອງໜ້າຕ່າງໆທີ່ທ່ານເຂົ້າເບິ່ງໃຫ້ Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">ໃບ​ອະ​ນຸ​ຍາດ Open source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ມີການໃຊ້ຂໍ້ມູນໃດ:<ph name="END_BOLD" /> ປະຫວັດການທ່ອງເວັບຂອງທ່ານ, ບັນທຶກຂອງເວັບໄຊທີ່ທ່ານເຂົ້າເບິ່ງໂດຍໃຊ້ Chrome ຢູ່ອຸປະກອນນີ້.</translation>
 <translation id="4263656433980196874">ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ສຳລັບຄຳຍິນຍອມການຊອກຫາດ້ວຍສຽງຂອງຜູ້ຊ່ວຍທີ່ເປີດຢູ່ທີ່ຄວາມສູງເຕັມຈໍ</translation>
-<translation id="4266054596873078491">ເຂົ້າສູ່ລະບົບເວັບໄຊນີ້ ແລະ Chrome ດ້ວຍບັນຊີ Google ຂອງທ່ານ.</translation>
 <translation id="4269820728363426813">ກັອບປີ້ທີ່ຢູ່ລິ້ງ</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />ເປີດໃຊ້ການລັອກໜ້າຈໍໃນການຕັ້ງຄ່າ Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">ໂດຍການໃຊ້ Chrome, ແມ່ນຖືວ່າທ່ານຍອມຮັບ <ph name="BEGIN_TOS_LINK" />ຂໍ້ກຳນົດບໍລິການ Google<ph name="END_TOS_LINK" /> ແລະ <ph name="BEGIN_ATOS_LINK" />ຂໍ້ກຳນົດບໍລິການເພີ່ມເຕີມ Google Chrome ແລະ ChromeOS<ph name="END_ATOS_LINK" />. ຈະນຳໃຊ້ <ph name="BEGIN_PRIVACY_LINK" />ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ<ph name="END_PRIVACY_LINK" /> ນຳ.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
index c2a3318b..352869b6 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lt.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Atvirojo šaltinio licencijos</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Kokie duomenys naudojami:<ph name="END_BOLD" /> jūsų naršymo istorija, svetainių, kuriose lankėtės naudodami „Chrome“ šiame įrenginyje, įrašas.</translation>
 <translation id="4263656433980196874">Sutikimo atlikti paiešką balsu naudojant Padėjėją NS atidaryta visu aukščiu</translation>
-<translation id="4266054596873078491">Prisijunkite prie šios svetainės ir „Chrome“ naudodami „Google“ paskyrą.</translation>
 <translation id="4269820728363426813">Kopijuoti nuorodos adresą</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Įjungti ekrano užraktą „Android“ nustatymuose<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Naudodami „Chrome“ sutinkate su <ph name="BEGIN_TOS_LINK" />„Google“ paslaugų teikimo sąlygomis<ph name="END_TOS_LINK" /> ir <ph name="BEGIN_ATOS_LINK" />„Google Chrome“ bei „Chrome“ OS papildomomis paslaugų teikimo sąlygomis<ph name="END_ATOS_LINK" />. Taip pat taikoma <ph name="BEGIN_PRIVACY_LINK" />privatumo politika<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
index 45d4968d..ee2af74 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_lv.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Pārlūkošanas vēsture</translation>
 <translation id="2497852260688568942">Administrators ir atspējojis sinhronizēšanu.</translation>
 <translation id="250020030759455918">Tiks rādīts jūsu pierakstīšanās statuss vietnē <ph name="SITE_NAME" />, pārlūkošanas dati un vietnes dati pārlūkā Chrome.</translation>
+<translation id="2507178219579379057">Chrome komanda pēta veidus, kā ierobežot ar reklāmām saistītas mēstules, krāpšanu un datu kopīgošanu starp vietnēm. Turklāt pārlūkā Chrome tiek <ph name="BEGIN_LINK" />aptuveni noteiktas jūsu intereses<ph name="END_LINK" />, ko var izmantot vietnēs, lai rādītu jums reklāmas. Intereses varat pārvaldīt iestatījumos.</translation>
 <translation id="2513403576141822879">Papildu iestatījumus, kas attiecas uz konfidencialitāti, drošību un datu apkopošanu, skatiet lapā <ph name="BEGIN_LINK" />Sinhronizēšana un Google pakalpojumi<ph name="END_LINK" />.</translation>
 <translation id="2517472476991765520">Meklēt</translation>
 <translation id="2523184218357549926">Nosūta Google serveriem apmeklēto lapu vietrāžus URL</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Atklātā pirmkoda licences</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Kādi dati tiek izmantoti:<ph name="END_BOLD" /> jūsu pārlūkošanas vēsture, kurā tiek reģistrētas vietnes, ko šajā ierīcē apmeklējat ar pārlūku Chrome.</translation>
 <translation id="4263656433980196874">Piekrišanas lietotāja saskarne Asistenta izmantošanai meklēšanā ar balsi (atvērta pilna ekrāna augstumā)</translation>
-<translation id="4266054596873078491">Pierakstieties šajā vietnē un pārlūkā Chrome, izmantojot savu Google kontu.</translation>
 <translation id="4269820728363426813">Kopēt saites adresi</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Ieslēgt ekrāna bloķēšanu Android iestatījumos<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Izmantojot pārlūku Chrome, jūs piekrītat <ph name="BEGIN_TOS_LINK" />Google pakalpojumu sniegšanas noteikumiem<ph name="END_TOS_LINK" />, kā arī <ph name="BEGIN_ATOS_LINK" />Google Chrome un Chrome OS pakalpojumu sniegšanas papildu noteikumiem<ph name="END_ATOS_LINK" />. Ir spēkā arī <ph name="BEGIN_PRIVACY_LINK" />konfidencialitātes politika<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
index d49e5d5..d8d6da8 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mk.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Лиценци за отворен код</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Кои податоци се користат:<ph name="END_BOLD" /> вашата историја на прелистувањето, евиденцијата на сајтовите што сте ги посетиле со Chrome на овој уред.</translation>
 <translation id="4263656433980196874">Корисничкиот интерфејс за согласност за гласовно пребарување со „Помошникот“ е отворен на цел екран</translation>
-<translation id="4266054596873078491">Најавете се на сајтов и на Chrome со сметката на Google.</translation>
 <translation id="4269820728363426813">Копирај ја адресата на линкот</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Вклучете го заклучувањето на екранот во поставките за Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Ако користите Chrome, се согласувате со <ph name="BEGIN_TOS_LINK" />Условите за користење на Google<ph name="END_TOS_LINK" /> и <ph name="BEGIN_ATOS_LINK" />Дополнителните услови за користење на Google Chrome и Chrome OS<ph name="END_ATOS_LINK" />. Важи и <ph name="BEGIN_PRIVACY_LINK" />Политиката за приватност<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
index 5e35d5e..ffa511d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">ഓപ്പൺ സോഴ്‌സ് ലൈസൻസുകൾ</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />എന്തൊക്കെ ഡാറ്റ ഉപയോഗിക്കുന്നു:<ph name="END_BOLD" /> ഈ ഉപകരണത്തിൽ Chrome ഉപയോഗിച്ച് നിങ്ങൾ സന്ദർശിച്ച സൈറ്റുകളുടെ റെക്കോർഡ് ആയ നിങ്ങളുടെ ബ്രൗസിംഗ് ചരിത്രം.</translation>
 <translation id="4263656433980196874">Assistant ശബ്‌ദ തിരയൽ സമ്മത UI പൂർണ്ണ ഉയരത്തിൽ തുറന്നിരിക്കുന്നു</translation>
-<translation id="4266054596873078491">ഈ സൈറ്റിലും Chrome-ലും നിങ്ങളുടെ Google അക്കൗണ്ട് ഉപയോഗിച്ച് സൈൻ ഇൻ ചെയ്യുക.</translation>
 <translation id="4269820728363426813">ലിങ്ക് വിലാസം പകർത്തുക</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android ക്രമീകരണത്തിൽ സ്ക്രീൻ ലോക്ക് ഓണാക്കുക<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome ഉപയോഗിക്കുന്നതിലൂടെ, നിങ്ങൾ <ph name="BEGIN_TOS_LINK" />Google സേവന നിബന്ധനകളും<ph name="END_TOS_LINK" /> <ph name="BEGIN_ATOS_LINK" />Google Chrome, ChromeOS അധിക സേവന നിബന്ധനകളും<ph name="END_ATOS_LINK" /> അംഗീകരിക്കുന്നു. <ph name="BEGIN_PRIVACY_LINK" />സ്വകാര്യതാ നയവും<ph name="END_PRIVACY_LINK" /> ബാധകമാണ്.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
index 34ea66ee..adade1d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mn.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Source licenses-г нээх</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Ямар өгөгдлийг ашигладаг вэ?:<ph name="END_BOLD" /> Таны хөтчийн түүх буюу энэ төхөөрөмж дээр Chrome-г ашиглан зочилсон сайтуудын бүртгэл.</translation>
 <translation id="4263656433980196874">Туслахын дуут хайлтын зөвшөөрлийн ui-г бүтэн өндрөөр нээсэн</translation>
-<translation id="4266054596873078491">Google Бүртгэлээрээ энэ сайт болон Chrome-д нэвтэрнэ үү.</translation>
 <translation id="4269820728363426813">Холбоосын хаягийг хуулах</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android-н тохиргоонд дэлгэцийн түгжээг асаана уу<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome-г ашигласнаар та <ph name="BEGIN_TOS_LINK" />Google-н үйлчилгээний нөхцөл<ph name="END_TOS_LINK" /> болон <ph name="BEGIN_ATOS_LINK" />Google Chrome, ChromeOS-н нэмэлт нөхцөлийг<ph name="END_ATOS_LINK" /> зөвшөөрч байна. <ph name="BEGIN_PRIVACY_LINK" />Нууцлалын бодлого<ph name="END_PRIVACY_LINK" /> мөн хэрэгжинэ.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
index 35b8fc5..5b532cd7 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_mr.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">मुक्त स्रोत परवाने</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />कोणता डेटा वापरला जातो:<ph name="END_BOLD" /> तुमचा ब्राउझिंग इतिहास, या डिव्हाइसवर तुम्ही Chrome वापरून भेट दिलेल्या साइटची नोंद.</translation>
 <translation id="4263656433980196874">Assistant च्या व्हॉइस शोध संमतीशी संबंधित UI स्क्रीनवर पूर्ण उंचीपर्यंत उघडले</translation>
-<translation id="4266054596873078491">तुमच्या Google खाते सह या साइट आणि Chrome वर साइन इन करा.</translation>
 <translation id="4269820728363426813">लिंकचा पत्ता कॉपी करा</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android सेटिंग्जमध्ये स्क्रीन लॉक सुरू करणे<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome वापरून, तुम्ही <ph name="BEGIN_TOS_LINK" />Google सेवा अटी<ph name="END_TOS_LINK" /> आणि <ph name="BEGIN_ATOS_LINK" />Google Chrome व ChromeOS अतिरिक्त सेवा अटी<ph name="END_ATOS_LINK" /> यांना सहमती दर्शवता. <ph name="BEGIN_PRIVACY_LINK" />गोपनीयता धोरण<ph name="END_PRIVACY_LINK" /> देखील लागू होते.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
index d8835d73..168ad315 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ms.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Lesen sumber terbuka</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Jenis data yang digunakan:<ph name="END_BOLD" /> Sejarah penyemakan imbas anda, rekod laman yang anda lawati menggunakan Chrome pada peranti ini.</translation>
 <translation id="4263656433980196874">UI persetujuan carian suara Assistant dibuka pada ketinggian penuh</translation>
-<translation id="4266054596873078491">Log masuk ke laman ini dan Chrome menggunakan Akaun Google anda.</translation>
 <translation id="4269820728363426813">Salin alamat pautan</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Hidupkan kunci skrin dalam tetapan Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Dengan menggunakan Chrome, anda bersetuju menerima <ph name="BEGIN_TOS_LINK" />Syarat Perkhidmatan Google<ph name="END_TOS_LINK" /> dan <ph name="BEGIN_ATOS_LINK" />Syarat Perkhidmatan Tambahan Google Chrome dan Chrome OS<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Dasar Privasi<ph name="END_PRIVACY_LINK" /> juga dikenakan.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
index eaeba3b..04ea9a7b 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_my.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">လွပ်လွပ်လပ်လပ်ဖွင့်ပေးထားသော ရင်းမြစ် လိုင်စင်များ</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />အသုံးပြုသည့် ဒေတာ-<ph name="END_BOLD" /> ဤစက်တွင် Chrome အသုံးပြု၍ သင်ဝင်ကြည့်ထားသော ဝဘ်ဆိုက်မှတ်တမ်းတစ်ခုဖြစ်သည့် သင်၏ ကြည့်ရှုခြင်းမှတ်တမ်း။</translation>
 <translation id="4263656433980196874">Assistant အသံဖြင့်ရှာဖွေခြင်း သဘောတူညီချက် ui ကို မြင်ကွင်းအပြည့်ဖွင့်ထားသည်</translation>
-<translation id="4266054596873078491">သင်၏ Google Account ဖြင့် ဤဝဘ်ဆိုက်နှင့် Chrome သို့ လက်မှတ်ထိုးဝင်ပါ။</translation>
 <translation id="4269820728363426813">လင့် လိပ်စာ ကူးယူရန်</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android ဆက်တင်များတွင် ဖန်သားပြင်လော့ခ်ဖွင့်ရန်<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome အသုံးပြုခြင်းဖြင့် သင်သည် <ph name="BEGIN_TOS_LINK" />Google ဝန်ဆောင်မှုစည်းမျဉ်းများ<ph name="END_TOS_LINK" /> နှင့် <ph name="BEGIN_ATOS_LINK" />Google Chrome နှင့် ChromeOS ထပ်တိုး ဝန်ဆောင်မှုစည်းမျဉ်းများ<ph name="END_ATOS_LINK" /> ကို သဘောတူရာရောက်သည်။ <ph name="BEGIN_PRIVACY_LINK" />ကိုယ်ရေးအချက်အလက်လုံခြုံမှုဆိုင်ရာ မူဝါဒ<ph name="END_PRIVACY_LINK" /> အတွက်လည်း အကျုံးဝင်သည်။</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb
index 5f253c94..f1a1518 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ne.xtb
@@ -481,7 +481,7 @@
 <translation id="3578874072190212775">साइटहरूलाई ठगी रोकथाम गर्न र बट तथा मान्छेहरूबिचको फरक छुट्याउन मद्दत गर्नुहोस्</translation>
 <translation id="3587482841069643663">सबै</translation>
 <translation id="3587596251841506391">वेब प्रयोग गर्ने सबै जनालाई सुरक्षित रहन मद्दत गर्नुहोस्</translation>
-<translation id="3602290021589620013">पूर्वावलोकन</translation>
+<translation id="3602290021589620013">प्रिभ्यु गर्नुहोस्</translation>
 <translation id="3616113530831147358">अडियो</translation>
 <translation id="3622349720008044802">विन्डोहरू व्यवस्थापन गर्नुहोस्</translation>
 <translation id="3631987586758005671"><ph name="DEVICE_NAME" /> सँग आदान प्रदान गर्दै</translation>
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">स्रोत इजाजतपत्रहरू खोल्नुहोस्</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />कस्ता खालका डेटा प्रयोग गरिन्छ:<ph name="END_BOLD" /> तपाईंको ब्राउजिङ इतिहास अर्थात् तपाईंले यो डिभाइसमा Chrome प्रयोग गरी खोलेका साइटहरूको रेकर्ड।</translation>
 <translation id="4263656433980196874">सहायकको प्रयोग गरी भ्वाइस सर्च गर्ने कुराको सहमति लिने UI पूर्ण उचाइमा खोलिएको छ</translation>
-<translation id="4266054596873078491">आफ्नो Google खाता प्रयोग गरी यो साइट र Chrome मा साइन इन गर्नुहोस्।</translation>
 <translation id="4269820728363426813">लिङ्क ठेगाना कपी गर्नुहोस्</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android का सेटिङमा गई स्क्रिन लक अन गर्नुहोस्<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">तपाईंले Chrome चलाउनुभयो भने तपाईं <ph name="BEGIN_TOS_LINK" />Google का सेवाका सर्त<ph name="END_TOS_LINK" /> र <ph name="BEGIN_ATOS_LINK" />Google Chrome तथा ChromeOS का सेवाका अतिरिक्त सर्तहरू<ph name="END_ATOS_LINK" />मा सहमति जनाउनुहुन्छ भन्ने अर्थ लाग्छ। यसका साथै, <ph name="BEGIN_PRIVACY_LINK" />गोपनीयता नीति<ph name="END_PRIVACY_LINK" /> पनि लागू हुन्छ।</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
index 10f89d2..a745b5d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Opensource-licenties</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Welke gegevens worden gebruikt:<ph name="END_BOLD" /> Je browsegeschiedenis, een lijst van de sites die je via Chrome op dit apparaat hebt bezocht.</translation>
 <translation id="4263656433980196874">UI om toestemming voor gesproken zoekopdrachten via de Assistent te geven is op volledige hoogte geopend</translation>
-<translation id="4266054596873078491">Log in bij deze site en Chrome met je Google-account.</translation>
 <translation id="4269820728363426813">Linkadres kopiëren</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Schermvergrendeling aanzetten via Android-instellingen<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Door Chrome te gebruiken, ga je akkoord met de <ph name="BEGIN_TOS_LINK" />Servicevoorwaarden van Google<ph name="END_TOS_LINK" /> en met de <ph name="BEGIN_ATOS_LINK" />Aanvullende servicevoorwaarden van Google Chrome en Chrome OS<ph name="END_ATOS_LINK" />. Het <ph name="BEGIN_PRIVACY_LINK" />Privacybeleid<ph name="END_PRIVACY_LINK" /> is ook van toepassing.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
index 0ad732b..d3c3ca70 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_no.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Lisenser for åpen kildekode</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Disse dataene brukes:<ph name="END_BOLD" /> nettleserloggen din, som er en logg over nettsteder du har besøkt med Chrome på denne enheten.</translation>
 <translation id="4263656433980196874">UI for samtykke til talesøk med assistenten er åpnet i full høyde</translation>
-<translation id="4266054596873078491">Logg på dette nettstedet og Chrome med Google-kontoen din.</translation>
 <translation id="4269820728363426813">Kopiér linkadressen</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Slå på skjermlås i Android-innstillingene<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Ved å bruke Chrome samtykker du i <ph name="BEGIN_TOS_LINK" />Googles vilkår for bruk<ph name="END_TOS_LINK" /> og <ph name="BEGIN_ATOS_LINK" />tilleggsvilkårene for bruk av Google Chrome og ChromeOS<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Personvernreglene<ph name="END_PRIVACY_LINK" /> gjelder også.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
index 5974f69e..efca2328 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_or.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">ବ୍ରାଉଜିଂ ଇତିବୃତ୍ତି</translation>
 <translation id="2497852260688568942">ଆପଣଙ୍କର ବ୍ୟବସ୍ଥାପକଙ୍କ ଦ୍ୱାରା ସିଙ୍କ ଅକ୍ଷମ କରାଯାଇଛି</translation>
 <translation id="250020030759455918">ଆପଣ <ph name="SITE_NAME" />ରେ ଆପଣଙ୍କ ସାଇନ୍-ଇନ୍ ସ୍ଥିତି, ବ୍ରାଉଜିଂ ଡାଟା ଏବଂ ସାଇଟ୍ ଡାଟା, Chromeରେ ଦେଖିବେ</translation>
+<translation id="2507178219579379057">ବିଜ୍ଞାପନ ସ୍ପାମ, ଠକାମୀ ଏବଂ ସାଇଟଗୁଡ଼ିକ ମଧ୍ୟରେ ସେୟାରିଂକୁ ସୀମିତ କରିବାର ଉପାୟଗୁଡ଼ିକୁ Chrome ଏକ୍ସପ୍ଲୋର କରୁଛି। Chrome ମଧ୍ୟ <ph name="BEGIN_LINK" />ଆପଣଙ୍କ ରୁଚିଗୁଡ଼ିକୁ ଆକଳନ କରେ<ph name="END_LINK" /> ଯାହାକୁ ସାଇଟଗୁଡ଼ିକ ଆପଣଙ୍କ ବିଜ୍ଞାପନଗୁଡ଼ିକୁ ଦେଖାଇବା ପାଇଁ ବ୍ୟବହାର କରିପାରିବେ। ଆପଣ ସେଟିଂସରେ ଆପଣଙ୍କ ରୁଚିଗୁଡ଼ିକୁ ପରିଚାଳନା କରିପାରିବେ।</translation>
 <translation id="2513403576141822879">ଗୋପନୀୟତା, ସୁରକ୍ଷା ଏବଂ ଡାଟା ସଂଗ୍ରହ ସହ ସମ୍ବନ୍ଧିତ ଅଧିକ ସେଟିଂସ୍ ପାଇଁ <ph name="BEGIN_LINK" />ସିଙ୍କ ଓ Google ସେବା<ph name="END_LINK" /> ଦେଖନ୍ତୁ</translation>
 <translation id="2517472476991765520">ସ୍କାନ୍ କରନ୍ତୁ</translation>
 <translation id="2523184218357549926">Googleକୁ ଆପଣ ଭିଜିଟ୍ କରିଥିବା ପୃଷ୍ଠାର URL ପଠାଏ</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">ମୁକ୍ତ ଉତ୍ସ ଲାଇସେନ୍ସ</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />କେଉଁ ଡାଟା ବ୍ୟବହାର କରାଯାଏ:<ph name="END_BOLD" /> ଆପଣଙ୍କ ବ୍ରାଉଜିଂ ଇତିହାସ, ଏହି ଡିଭାଇସରେ Chrome ବ୍ୟବହାର କରି ଆପଣ ଭିଜିଟ କରିଥିବା ସାଇଟଗୁଡ଼ିକର ଏହା ହେଉଛି ଏକ ରେକର୍ଡ।</translation>
 <translation id="4263656433980196874">Assistantର ଭଏସ୍ ମାଧ୍ୟମରେ ସନ୍ଧାନ ପାଇଁ ସମ୍ମତିର ui ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନରେ ଖୋଲିଛି</translation>
-<translation id="4266054596873078491">ଆପଣଙ୍କ Google ଆକାଉଣ୍ଟ ମାଧ୍ୟମରେ ଏହି ସାଇଟ ଏବଂ Chromeରେ ସାଇନ ଇନ କରନ୍ତୁ।</translation>
 <translation id="4269820728363426813">ଲିଙ୍କ୍ ଠିକଣା କପି କରନ୍ତୁ</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android ସେଟିଂସରେ ସ୍କ୍ରିନ ଲକ ଚାଲୁ କରନ୍ତୁ<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome ବ୍ୟବହାର କରି, ଆପଣ <ph name="BEGIN_TOS_LINK" />Google ସେବାର ସର୍ତ୍ତାବଳୀ<ph name="END_TOS_LINK" /> ଏବଂ <ph name="BEGIN_ATOS_LINK" />Google Chrome ଏବଂ ChromeOSର ଅତିରିକ୍ତ ସେବାର ସର୍ତ୍ତାବଳୀ<ph name="END_ATOS_LINK" />ରେ ସମ୍ମତ ହୁଅନ୍ତି। <ph name="BEGIN_PRIVACY_LINK" />ଗୋପନୀୟତା ନୀତି<ph name="END_PRIVACY_LINK" /> ମଧ୍ୟ ଲାଗୁ ହୁଏ।</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
index 83899ca..c94094c2 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">ਖੁੱਲ੍ਹਾ ਸਰੋਤ ਲਾਇਸੰਸ</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ਕਿਹੜਾ ਡਾਟਾ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ:<ph name="END_BOLD" /> ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ, ਇਸ ਡੀਵਾਈਸ 'ਤੇ ਉਨ੍ਹਾਂ ਸਾਈਟਾਂ ਦਾ ਰਿਕਾਰਡ ਜਿਨ੍ਹਾਂ 'ਤੇ ਤੁਸੀਂ Chrome ਦੀ ਵਰਤੋਂ ਨਾਲ ਗਏ ਹੋ।</translation>
 <translation id="4263656433980196874">Assistant ਦੀ ਅਵਾਜ਼ੀ ਖੋਜ ਲਈ ਸਹਿਮਤੀ ਵਾਲਾ UI ਪੂਰੀ ਸਕ੍ਰੀਨ ਵਿੱਚ ਖੁੱਲ੍ਹਾ ਹੈ</translation>
-<translation id="4266054596873078491">ਆਪਣੇ Google ਖਾਤੇ ਨਾਲ ਇਸ ਸਾਈਟ ਅਤੇ Chrome ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ।</translation>
 <translation id="4269820728363426813">ਲਿੰਕ ਪਤਾ ਕਾਪੀ ਕਰੋ</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਸਕ੍ਰੀਨ ਲਾਕ ਚਾਲੂ ਕਰੋ<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome ਨੂੰ ਵਰਤ ਕੇ, ਤੁਸੀਂ <ph name="BEGIN_TOS_LINK" />Google ਦੇ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_TOS_LINK" /> ਅਤੇ <ph name="BEGIN_ATOS_LINK" />Google Chrome ਅਤੇ ChromeOS ਦੇ ਵਧੀਕ ਸੇਵਾ ਦੇ ਨਿਯਮਾਂ<ph name="END_ATOS_LINK" /> ਨਾਲ ਸਹਿਮਤ ਹੁੰਦੇ ਹੋ। <ph name="BEGIN_PRIVACY_LINK" />ਪਰਦੇਦਾਰੀ ਨੀਤੀ<ph name="END_PRIVACY_LINK" /> ਵੀ ਲਾਗੂ ਹੁੰਦੀ ਹੈ।</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
index 8e567d18..4f4d402c2 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pl.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licencje open source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Jakich danych używamy:<ph name="END_BOLD" /> używamy Twojej historii przeglądania, czyli rejestru witryn, które odwiedzasz w Chrome na tym urządzeniu.</translation>
 <translation id="4263656433980196874">Ekran wyrażenia zgody na wyszukiwanie głosowe z pomocą Asystenta został otwarty na pełną wysokość</translation>
-<translation id="4266054596873078491">Zaloguj się na swoje konto Google na tej stronie i w Chrome.</translation>
 <translation id="4269820728363426813">Kopiuj adres linku</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Włącz blokadę ekranu w ustawieniach Androida<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Korzystając z Chrome, wyrażasz zgodę na <ph name="BEGIN_TOS_LINK" />Warunki korzystania z usług Google<ph name="END_TOS_LINK" /> oraz <ph name="BEGIN_ATOS_LINK" />Dodatkowe warunki korzystania z Google Chrome i Chrome OS<ph name="END_ATOS_LINK" />. Obowiązują też postanowienia <ph name="BEGIN_PRIVACY_LINK" />polityki prywatności<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
index 32a0643..9b9c29e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-BR.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licenças de código aberto</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Quais dados são usados<ph name="END_BOLD" />: seu histórico de navegação, um registro de sites visitados usando o Chrome neste dispositivo.</translation>
 <translation id="4263656433980196874">IU de consentimento para a pesquisa por voz do Assistente aberta no tamanho máximo</translation>
-<translation id="4266054596873078491">Faça login neste site e no Chrome com sua Conta do Google.</translation>
 <translation id="4269820728363426813">Copiar endereço do link</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Ativar o bloqueio de tela nas configurações do Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Ao usar o Chrome, você concorda com os <ph name="BEGIN_TOS_LINK" />Termos de Serviço do Google<ph name="END_TOS_LINK" /> e os <ph name="BEGIN_ATOS_LINK" />Termos de Serviço adicionais do Google Chrome e do ChromeOS<ph name="END_ATOS_LINK" />. A <ph name="BEGIN_PRIVACY_LINK" />Política de Privacidade<ph name="END_PRIVACY_LINK" /> também se aplica.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
index 75239ea..9b10025 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_pt-PT.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licenças de código aberto</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Que dados são usados:<ph name="END_BOLD" /> o seu histórico de navegação, um registo dos sites que visitou através do Chrome neste dispositivo.</translation>
 <translation id="4263656433980196874">IU de consentimento da pesquisa por voz do Assistente aberta à altura total</translation>
-<translation id="4266054596873078491">Inicie sessão neste site e no Chrome com a sua Conta Google.</translation>
 <translation id="4269820728363426813">Copiar endereço do link</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Ative o bloqueio de ecrã nas definições do Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Ao usar o Chrome, aceita os <ph name="BEGIN_TOS_LINK" />Termos de Utilização da Google<ph name="END_TOS_LINK" /> e os <ph name="BEGIN_ATOS_LINK" />Termos de Utilização Adicionais do Google Chrome e ChromeOS<ph name="END_ATOS_LINK" />. A <ph name="BEGIN_PRIVACY_LINK" />Política de Privacidade<ph name="END_PRIVACY_LINK" /> também se aplica.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
index 76de47e..c3e7163 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ro.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licențe open source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Ce date sunt folosite:<ph name="END_BOLD" /> istoricul tău de navigare, o evidență a site-urilor pe care le-ai accesat folosind Chrome pe acest dispozitiv.</translation>
 <translation id="4263656433980196874">IU pentru consimțirea la căutarea vocală cu ajutorul Asistentului, deschisă la înălțimea completă</translation>
-<translation id="4266054596873078491">Conectează-te la acest site și la Chrome cu Contul Google.</translation>
 <translation id="4269820728363426813">Copiază adresa linkului</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Activează blocarea ecranului în Setările Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Dacă folosești Chrome, ești de acord cu <ph name="BEGIN_TOS_LINK" />Termenii și condițiile Google<ph name="END_TOS_LINK" /> și cu <ph name="BEGIN_ATOS_LINK" />Termenii și condițiile suplimentare pentru Google Chrome și Sistemul de operare Chrome<ph name="END_ATOS_LINK" />. Se aplică și <ph name="BEGIN_PRIVACY_LINK" />Politica de confidențialitate<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
index ba0669bc..083e05d 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ru.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">История браузера</translation>
 <translation id="2497852260688568942">Ваш администратор отключил синхронизацию</translation>
 <translation id="250020030759455918">Вы увидите статус входа на сайт <ph name="SITE_NAME" />, а также данные о работе в браузере и данные сайтов в Chrome.</translation>
+<translation id="2507178219579379057">Chrome изучает способы ограничения спама, мошенничества и обмена информацией между сайтами. Браузер также <ph name="BEGIN_LINK" />оценивает ваши интересы<ph name="END_LINK" />, чтобы на их основе сайты показывали вам рекламу. Параметры этой функции можно задать в настройках.</translation>
 <translation id="2513403576141822879">Остальные настройки конфиденциальности, безопасности и сбора данных вы можете найти в разделе <ph name="BEGIN_LINK" />Синхронизация сервисов Google<ph name="END_LINK" />.</translation>
 <translation id="2517472476991765520">Сканировать</translation>
 <translation id="2523184218357549926">Отправлять URL посещенных страниц в Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Лицензии на ПО с открытым кодом</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Какие данные используются.<ph name="END_BOLD" /> История вашего браузера – список сайтов, которые вы открывали в браузере Chrome на этом устройстве.</translation>
 <translation id="4263656433980196874">Окно, где требуется разрешить использование Ассистента для голосового поиска, открыто на весь экран</translation>
-<translation id="4266054596873078491">Войдите на этот сайт и в Chrome со своим аккаунтом Google.</translation>
 <translation id="4269820728363426813">Копировать адрес ссылки</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Включить блокировку экрана в настройках Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Используя Chrome, вы принимаете <ph name="BEGIN_TOS_LINK" />Условия использования Google<ph name="END_TOS_LINK" /> и <ph name="BEGIN_ATOS_LINK" />Дополнительные условия использования Chrome и Chrome OS<ph name="END_ATOS_LINK" />. Также действует <ph name="BEGIN_PRIVACY_LINK" />Политика конфиденциальности<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
index 9772cb4..4c54ac70 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_si.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">බ්‍රවුස් ඉතිහාසය</translation>
 <translation id="2497852260688568942">සමමුහුර්ත කිරීම ඔබේ පරිපාලක විසින් අබල කර ඇත</translation>
 <translation id="250020030759455918">ඔබ Chrome තුළ ඔබේ <ph name="SITE_NAME" /> පුරන තත්ත්‍වය, බ්‍රවුස් කිරීමේ දත්ත, සහ අඩවි දත්ත දකිනු ඇත</translation>
+<translation id="2507178219579379057">Chrome වෙළඳ දැන්වීම් අයාචිත, වංචා, සහ අඩවි අතර බෙදා ගැනීම සීමා කිරීමට ක්‍රම ගවේෂණය කරයි. Chrome ඔබට වෙළඳ දැන්වීම් පෙන්වීමට අඩවිවලට භාවිතා කළ හැකි <ph name="BEGIN_LINK" />ඔබේ ලැදිකම් ද ඇස්තමේන්තු කරයි<ph name="END_LINK" />. ඔබට සැකසීම් තුළ ඔබේ ලැදිකම් කළමනාකරණය කළ හැක.</translation>
 <translation id="2513403576141822879">රහස්‍යතාව, ආරක්ෂාව, සහ දත්ත රැස් කිරීමට අදාළ තවත් සැකසීම් සඳහා, <ph name="BEGIN_LINK" />සමමුහුර්තකරණය සහ Google සේවා<ph name="END_LINK" /> බලන්න</translation>
 <translation id="2517472476991765520">ස්කෑන් කරන්න</translation>
 <translation id="2523184218357549926">Google වෙත ඔබ පිවිසෙන පිටු URL යවයි</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">විවෘත කේත බලපත්</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />භාවිත කරන දත්ත මොනවාද:<ph name="END_BOLD" /> ඔබගේ බ්‍රවුස් කිරීමේ ඉතිහාසය, මෙම උපාංගයේ Chrome භාවිතයෙන් ඔබ පිවිසි අඩවිවල වාර්තාවක්.</translation>
 <translation id="4263656433980196874">පූර්ණ උසකදී සහායක හඬ සෙවීම් අනුමත ui විවෘත කරන ලදි</translation>
-<translation id="4266054596873078491">ඔබගේ Google ගිණුමෙන් මෙම අඩවියට සහ Chrome වෙත පුරන්න.</translation>
 <translation id="4269820728363426813">ලින්ක් ලිපිනය පිටපත් කරන්න</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android සැකසීම් තුළ තිර අගුල ක්‍රියාත්මක කරන්න<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome භාවිත කිරීමෙන්, ඔබ <ph name="BEGIN_TOS_LINK" />Google සේවා නියම<ph name="END_TOS_LINK" /> සහ <ph name="BEGIN_ATOS_LINK" />Google Chrome සහ ChromeOS අතිරේක සේවා නියම<ph name="END_ATOS_LINK" /> සමග එකඟ වේ. <ph name="BEGIN_PRIVACY_LINK" />පෞද්ගලිකත්ව ප්‍රතිපත්තිය<ph name="END_PRIVACY_LINK" /> ද අදාළ වේ.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
index 176230b..1758fe9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sk.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Licencie open source</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Aké údaje sa používajú:<ph name="END_BOLD" /> vaša história prehliadania, teda záznam webov, ktoré ste navštívili pomocou Chromu v tomto zariadení.</translation>
 <translation id="4263656433980196874">Používateľské rozhranie na udelenie súhlasu s hlasovým vyhľadávaním Asistentom je otvorené na celú výšku</translation>
-<translation id="4266054596873078491">Prihláste sa na tomto webe a v Chrome svojím účtom Google.</translation>
 <translation id="4269820728363426813">Kopírovať adresu odkazu</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Zapnite zámku obrazovky v nastaveniach Androidu<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Používaním Chromu vyjadrujete súhlas so <ph name="BEGIN_TOS_LINK" />zmluvnými podmienkami spoločnosti Google<ph name="END_TOS_LINK" /> a <ph name="BEGIN_ATOS_LINK" />dodatočnými zmluvnými podmienkami prehliadača Google Chrome a systému Chrome OS<ph name="END_ATOS_LINK" />. Uplatňujú sa aj <ph name="BEGIN_PRIVACY_LINK" />pravidlá ochrany súkromia<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
index 901f7e1f..e51efa4 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sl.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Zgodovina brskanja</translation>
 <translation id="2497852260688568942">Sinhronizacijo je onemogočil skrbnik</translation>
 <translation id="250020030759455918">Prikazano bo stanje prijave na spletnem mestu <ph name="SITE_NAME" />, podatki brskanja in podatki spletnega mesta v Chromu.</translation>
+<translation id="2507178219579379057">Chrome raziskuje načine, kako omejiti prikazovanje vsiljenih oglasov, prevare in deljenja med spletnimi mesti. Chrome tudi <ph name="BEGIN_LINK" />oceni vaša zanimanja<ph name="END_LINK" />, ki jih spletna mesta lahko uporabijo pri prikazovanju oglasov. Zanimanja lahko upravljate v nastavitvah.</translation>
 <translation id="2513403576141822879">Če vas zanima več nastavitev, povezanih z zasebnostjo, varnostjo in zbiranjem podatkov, si oglejte razdelek <ph name="BEGIN_LINK" />Sinhronizacija in Googlove storitve<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Išči</translation>
 <translation id="2523184218357549926">Googlu pošlje URL-je strani, ki jih obiščete</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Odprtokodne licence</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Kateri podatki se uporabljajo:<ph name="END_BOLD" /> Zgodovina brskanja, evidenca spletnih mest, ki ste jih obiskali s Chromom v tej napravi.</translation>
 <translation id="4263656433980196874">Uporabniški vmesnik za soglasje za glasovno iskanje v Pomočniku, odprt pri polni višini.</translation>
-<translation id="4266054596873078491">Prijavite se na tem spletnem mestu in v Chrome z računom Google.</translation>
 <translation id="4269820728363426813">Kopiraj naslov povezave</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Vklop zaklepanja zaslona v nastavitvah za Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Če uporabljate Chrome, se strinjate z <ph name="BEGIN_TOS_LINK" />Googlovimi pogoji storitve<ph name="END_TOS_LINK" /> in <ph name="BEGIN_ATOS_LINK" />dodatnimi pogoji storitve za Google Chrome in Chrome OS<ph name="END_ATOS_LINK" />. Uporablja se tudi <ph name="BEGIN_PRIVACY_LINK" />pravilnik o zasebnosti<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
index 12c28334..fb49328 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sq.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Historiku i shfletimit</translation>
 <translation id="2497852260688568942">Sinkronizimi është çaktivizuar nga administratori</translation>
 <translation id="250020030759455918">Do të shikosh statusin e identifikimit për <ph name="SITE_NAME" />, të dhënat e shfletimit dhe të dhënat e sajtit në Chrome</translation>
+<translation id="2507178219579379057">Chrome po eksploron mënyra për të kufizuar reklamat e bezdisshme, mashtrimet dhe ndarjen mes sajteve. Chrome <ph name="BEGIN_LINK" />përllogarit po ashtu interesat e tu<ph name="END_LINK" /> që sajtet mund t'i përdorin për të të shfaqur reklama. Mund t'i menaxhosh interesat e tu te cilësimet.</translation>
 <translation id="2513403576141822879">Për cilësime të mëtejshme në lidhje me privatësinë, sigurinë dhe mbledhjen e të dhënave, shih <ph name="BEGIN_LINK" />Sinkronizimi dhe shërbimet e Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Skano</translation>
 <translation id="2523184218357549926">Dërgon te Google URL-të e faqeve që ti viziton</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Licencat me burim të hapur</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Çfarë të dhënash përdoren:<ph name="END_BOLD" /> Historiku yt i shfletimit, regjistri i sajteve që ke vizituar duke përdorur Chrome në këtë pajisje.</translation>
 <translation id="4263656433980196874">Ndërfaqja e përdoruesit e miratimit të kërkimit zanor të "Asistentit" e hapur në lartësi të plotë</translation>
-<translation id="4266054596873078491">Identifikohu në këtë sajt dhe në Chrome me "Llogarinë tënde të Google".</translation>
 <translation id="4269820728363426813">Kopjo adresën e lidhjes</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Aktivizo kyçjen e ekranit te cilësimet e Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Duke përdorur Chrome, ti pranon <ph name="BEGIN_TOS_LINK" />"Kushtet e shërbimit" të Google<ph name="END_TOS_LINK" /> dhe <ph name="BEGIN_ATOS_LINK" />"Kushtet shtesë të shërbimit" të Google Chrome dhe të ChromeOS<ph name="END_ATOS_LINK" />. Zbatohet gjithashtu <ph name="BEGIN_PRIVACY_LINK" />Politika e privatësisë<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
index 36a43e4..6577d66 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr-Latn.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Istorija pregledanja</translation>
 <translation id="2497852260688568942">Administrator je onemogućio sinhronizaciju</translation>
 <translation id="250020030759455918">U Chrome-u ćete videti da li ste prijavljeni, podatke pregledanja i podatke o sajtu za <ph name="SITE_NAME" /></translation>
+<translation id="2507178219579379057">Chrome istražuje načine da ograniči nepoželjne oglase, prevaru i deljenje između sajtova. Chrome <ph name="BEGIN_LINK" />procenjuje i vaša interesovanja<ph name="END_LINK" /> koja sajtovi mogu da koriste da bi vam prikazivali oglase. Interesovanjima možete da upravljate u podešavanjima.</translation>
 <translation id="2513403576141822879">Više podešavanja u vezi sa privatnošću, bezbednošću i prikupljanjem podataka potražite u odeljku <ph name="BEGIN_LINK" />Sinhronizacija i Google usluge<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Skeniraj</translation>
 <translation id="2523184218357549926">URL-ovi stranica koje posećujete se šalju Google-u</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Licence otvorenog koda</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Koji podaci se koriste:<ph name="END_BOLD" /> Istorija pregledanja, evidencija sajtova koje ste posetili pomoću Chrome-a na ovom uređaju.</translation>
 <translation id="4263656433980196874">Korisnički interfejs za saglasnost za glasovnu pretragu Pomoćnika otvoren je u punoj visini</translation>
-<translation id="4266054596873078491">Prijavite se na ovaj sajt i u Chrome pomoću Google naloga.</translation>
 <translation id="4269820728363426813">Kopiraj adresu linka</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Uključite zaključavanje ekrana u Android podešavanjima<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Ako koristite Chrome, prihvatate <ph name="BEGIN_TOS_LINK" />Google uslove korišćenja usluge<ph name="END_TOS_LINK" /> i <ph name="BEGIN_ATOS_LINK" />dodatne uslove korišćenja usluge za Google Chrome i Chrome OS<ph name="END_ATOS_LINK" />. Primenjuje se i <ph name="BEGIN_PRIVACY_LINK" />politika privatnosti<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
index 4b8dc3940..e347458 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sr.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Историја прегледања</translation>
 <translation id="2497852260688568942">Администратор је онемогућио синхронизацију</translation>
 <translation id="250020030759455918">У Chrome-у ћете видети да ли сте пријављени, податке прегледања и податке о сајту за <ph name="SITE_NAME" /></translation>
+<translation id="2507178219579379057">Chrome истражује начине да ограничи непожељне огласе, превару и дељење између сајтова. Chrome <ph name="BEGIN_LINK" />процењује и ваша интересовања<ph name="END_LINK" /> која сајтови могу да користе да би вам приказивали огласе. Интересовањима можете да управљате у подешавањима.</translation>
 <translation id="2513403576141822879">Више подешавања у вези са приватношћу, безбедношћу и прикупљањем података потражите у одељку <ph name="BEGIN_LINK" />Синхронизација и Google услуге<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Скенирај</translation>
 <translation id="2523184218357549926">URL-ови страница које посећујете се шаљу Google-у</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Лиценце отвореног кода</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Који подаци се користе:<ph name="END_BOLD" /> Историја прегледања, евиденција сајтова које сте посетили помоћу Chrome-а на овом уређају.</translation>
 <translation id="4263656433980196874">Кориснички интерфејс за сагласност за гласовну претрагу Помоћника отворен је у пуној висини</translation>
-<translation id="4266054596873078491">Пријавите се на овај сајт и у Chrome помоћу Google налога.</translation>
 <translation id="4269820728363426813">Копирај адресу линка</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Укључите закључавање екрана у Android подешавањима<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Ако користите Chrome, прихватате <ph name="BEGIN_TOS_LINK" />Google услове коришћења услуге<ph name="END_TOS_LINK" /> и <ph name="BEGIN_ATOS_LINK" />додатне услове коришћења услуге за Google Chrome и Chrome ОС<ph name="END_ATOS_LINK" />. Примењује се и <ph name="BEGIN_PRIVACY_LINK" />политика приватности<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
index a8a7b64..ce1ad10 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sv.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Webbhistorik</translation>
 <translation id="2497852260688568942">Synkronisering har inaktiverats av administratören</translation>
 <translation id="250020030759455918">Din inloggningsstatus, webbdata och webbplatsdata för <ph name="SITE_NAME" /> visas i Chrome</translation>
+<translation id="2507178219579379057">Chrome utforskar olika sätt att begränsa skräppost, bedrägerier och delning mellan webbplatser. Chrome <ph name="BEGIN_LINK" />uppskattar också dina intressen<ph name="END_LINK" />. Dessa kan användas på webbplatser för att visa annonser. Du kan hantera dina intressen i inställningarna.</translation>
 <translation id="2513403576141822879">Fler inställningar som rör integritet, säkerhet och datainsamling finns under <ph name="BEGIN_LINK" />Synkronisering och Googles tjänster<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Sök</translation>
 <translation id="2523184218357549926">Skickar webbadresserna till sidor du besöker till Google</translation>
@@ -587,7 +588,6 @@
 <translation id="4256782883801055595">Licenser för öppen källkod</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Vilken data används:<ph name="END_BOLD" /> Webbhistoriken, där webbplatser som du besökt i Chrome på den här enheten registreras.</translation>
 <translation id="4263656433980196874">Användargränssnittet för samtycke till röstsökning med assistenten har öppnats över hela skärmen</translation>
-<translation id="4266054596873078491">Logga in på den här webbplatsen och i Chrome med ditt Google-konto.</translation>
 <translation id="4269820728363426813">Kopiera länkadress</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Aktivera skärmlåset i Android-inställningar<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Genom att använda Chrome godkänner du <ph name="BEGIN_TOS_LINK" />Googles användarvillkor<ph name="END_TOS_LINK" /> och <ph name="BEGIN_ATOS_LINK" />de ytterligare användarvillkoren för Google Chrome och Chrome OS<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Integritetspolicyn<ph name="END_PRIVACY_LINK" /> gäller också.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
index 0e9640a5..8eab7a7 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_sw.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Historia ya kuvinjari</translation>
 <translation id="2497852260688568942">Usawazishaji umezimwa na msimamizi wako</translation>
 <translation id="250020030759455918">Utaona hali yako ya kuingia katika akaunti ya <ph name="SITE_NAME" />, data ya kuvinjari na data ya tovuti katika Chrome</translation>
+<translation id="2507178219579379057">Chrome inagundua njia za kuzuia matangazo taka, ulaghai na ushiriki kati ya tovuti. Pia, Chrome <ph name="BEGIN_LINK" />hukadiria mambo yanayokuvutia<ph name="END_LINK" /> ambayo tovuti zinaweza kuyatumia ili kukuonyesha matangazo. Unaweza kudhibiti mambo yanayokuvutia kwenye mipangilio.</translation>
 <translation id="2513403576141822879">Ili upate mipangilio zaidi inayohusiana na faragha, usalama na ukusanyaji wa data, angalia <ph name="BEGIN_LINK" />Usawazishaji na huduma za Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Tafuta</translation>
 <translation id="2523184218357549926">Hutuma URL za kurasa unazotembelea kwa Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Leseni za programu huria</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Data gani inatumiwa:<ph name="END_BOLD" /> Historia yako ya kuvinjari, kumbukumbu ya tovuti ulizozitembelea ukitumia Chrome kwenye kifaa hiki.</translation>
 <translation id="4263656433980196874">Kiolesura cha idhini ya kutafuta kwa kutamka kupitia programu ya Mratibu kimefunguliwa kwenye skrini nzima</translation>
-<translation id="4266054596873078491">Ingia katika tovuti hii na Chrome ukitumia Akaunti yako ya Google.</translation>
 <translation id="4269820728363426813">Nakili anwani ya kiungo</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Washa kipengele cha kufunga skrini katika mipangilio ya Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Kwa kutumia Chrome, unakubali <ph name="BEGIN_TOS_LINK" />Sheria na Masharti ya Google<ph name="END_TOS_LINK" /> na <ph name="BEGIN_ATOS_LINK" />Sheria na Masharti ya Ziada ya Google Chrome na Mfumo wa Uendeshaji wa Chrome<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Sera ya Faragha<ph name="END_PRIVACY_LINK" /> pia inatumika.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
index 4266bdf3..7c6b4b8 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ta.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">ஓப்பன் சோர்ஸ் உரிமங்கள்</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />எந்தெந்தத் தரவு பயன்படுத்தப்படுகின்றது?<ph name="END_BOLD" /> நீங்கள் இதுவரை இணையத்தில் பார்த்தவை மற்றும் Chrome மூலம் நீங்கள் இந்தச் சாதனத்தில் பார்த்த தளங்களின் பதிவு.</translation>
 <translation id="4263656433980196874">குரல் தேடலுக்கு Assistantடைப் பயன்படுத்துவதற்கான ஒப்புதல் UI முழுத் திரையில் காட்டப்படுகிறது</translation>
-<translation id="4266054596873078491">இந்தத் தளத்திலும் Chromeமிலும் உங்கள் Google கணக்கில் உள்நுழைவீர்கள்.</translation>
 <translation id="4269820728363426813">இணைப்பு முகவரியை நகலெடு</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android அமைப்புகளில் திரைப் பூட்டு அம்சத்தை இயக்கவும்<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chromeமைப் பயன்படுத்துவதன் மூலம் <ph name="BEGIN_TOS_LINK" />Google சேவை விதிமுறைகள்<ph name="END_TOS_LINK" />, <ph name="BEGIN_ATOS_LINK" />Google Chrome &amp; ChromeOS தொடர்பான கூடுதல் சேவை விதிமுறைகள்<ph name="END_ATOS_LINK" /> ஆகியவற்றை ஏற்கிறீர்கள். <ph name="BEGIN_PRIVACY_LINK" />தனியுரிமைக் கொள்கையையும்<ph name="END_PRIVACY_LINK" /> ஏற்கிறீர்கள்.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
index de05658..d11c0ec 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_te.xtb
@@ -294,7 +294,7 @@
 <translation id="2587052924345400782">సరికొత్త వెర్షన్ ఉంది</translation>
 <translation id="2593272815202181319">మోనోస్పేస్</translation>
 <translation id="2604446170045642109">మీరు మీ సెట్టింగ్‌లలో సైట్‌ల కోసం ముదురు రంగు రూపాన్ని ఆఫ్ చేయవచ్చు.</translation>
-<translation id="2612676031748830579">కార్డ్ సంఖ్య</translation>
+<translation id="2612676031748830579">కార్డ్ నంబర్</translation>
 <translation id="2625189173221582860">పాస్‌వర్డ్ కాపీ చేయబడింది</translation>
 <translation id="2642087927315268160">సైన్ ఇన్ చేయదగిన దిగువున ఉన్న షీట్ మూసివేయబడింది.</translation>
 <translation id="2647434099613338025">భాషను జోడించు</translation>
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">ఓపెన్ సోర్స్ లైసెన్స్‌లు</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ఏ డేటాను ఉపయోగిస్తారు:<ph name="END_BOLD" /> మీ బ్రౌజింగ్ హిస్టరీ, ఈ పరికరంలో Chromeను ఉపయోగించి మీరు సందర్శించిన సైట్‌ల రికార్డ్.</translation>
 <translation id="4263656433980196874">Assistant వాయిస్ సెర్చ్ సమ్మతి UI పూర్తి ఎత్తులో తెరవబడింది</translation>
-<translation id="4266054596873078491">మీ Google ఖాతాతో, ఈ సైట్‌కు, Chromeకు సైన్ ఇన్ చేయండి.</translation>
 <translation id="4269820728363426813">లింక్ అడ్రస్‌ను కాపీ చేయండి</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android సెట్టింగ్‌లలో స్క్రీన్ లాక్‌ను ఆన్ చేయండి<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chromeను ఉపయోగించడం ద్వారా, మీరు <ph name="BEGIN_TOS_LINK" />Google సర్వీస్ నియమాలు<ph name="END_TOS_LINK" />, అలాగే <ph name="BEGIN_ATOS_LINK" />Google Chrome, ChromeOS అదనపు సర్వీస్ నియమాలను<ph name="END_ATOS_LINK" /> అంగీకరిస్తున్నారు. <ph name="BEGIN_PRIVACY_LINK" />గోప్యతా పాలసీ<ph name="END_PRIVACY_LINK" /> కూడా వర్తిస్తుంది.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
index 7d1104e..c319d3b9 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">ใบอนุญาตโอเพนซอร์ส</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />ข้อมูลใดบ้างที่มีการนำไปใช้:<ph name="END_BOLD" /> ประวัติการท่องเว็บของคุณ บันทึกรายการเว็บไซต์ที่คุณเข้าชมโดยใช้ Chrome ในอุปกรณ์นี้</translation>
 <translation id="4263656433980196874">UI คำยินยอมให้ค้นหาด้วยเสียงของ Assistant ที่เปิดอยู่ที่ระดับความสูงเต็มหน้าจอ</translation>
-<translation id="4266054596873078491">ลงชื่อเข้าใช้เว็บไซต์นี้และ Chrome ด้วยบัญชี Google</translation>
 <translation id="4269820728363426813">คัดลอกที่อยู่ลิงก์</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />เปิดการล็อกหน้าจอในการตั้งค่า Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">การใช้ Chrome หมายความว่า คุณยอมรับ<ph name="BEGIN_TOS_LINK" />ข้อกำหนดในการให้บริการของ Google<ph name="END_TOS_LINK" /> และ<ph name="BEGIN_ATOS_LINK" />ข้อกำหนดในการให้บริการเพิ่มเติมของ Google Chrome และ Chrome OS<ph name="END_ATOS_LINK" /> <ph name="BEGIN_PRIVACY_LINK" />นโยบายความเป็นส่วนตัว<ph name="END_PRIVACY_LINK" />จะมีผลด้วย</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
index c5c20758..0faca97 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Açık kaynak lisansları</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Kullanılan veriler:<ph name="END_BOLD" /> Tarama geçmişiniz ve bu cihazda Chrome'u kullanarak ziyaret ettiğiniz sitelerin kaydı.</translation>
 <translation id="4263656433980196874">Asistan sesli arama izni kullanıcı arayüzü tam yükseklikte açıldı</translation>
-<translation id="4266054596873078491">Bu sitede ve Chrome'da Google Hesabınızla oturum açın.</translation>
 <translation id="4269820728363426813">Bağlantı adresini kopyala</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android ayarlarında ekran kilidini açın<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Chrome'u kullanarak <ph name="BEGIN_TOS_LINK" />Google Hizmet Şartları<ph name="END_TOS_LINK" /> ile <ph name="BEGIN_ATOS_LINK" />Google Chrome ve ChromeOS Ek Hizmet Şartları<ph name="END_ATOS_LINK" />'nı kabul etmiş olursunuz. Ayrıca <ph name="BEGIN_PRIVACY_LINK" />Gizlilik Politikası<ph name="END_PRIVACY_LINK" /> da geçerli olur.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
index 307c7a5..e4284c0 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uk.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">Історія веб-перегляду</translation>
 <translation id="2497852260688568942">Ваш адміністратор вимкнув синхронізацію</translation>
 <translation id="250020030759455918">Ви зможете переглядати статус входу на сайті <ph name="SITE_NAME" />, дані веб-перегляду й сайту в Chrome</translation>
+<translation id="2507178219579379057">Chrome шукає способи протидіяти рекламному спаму й шахрайству, а також обмежити обмін даними між сайтами. Chrome також <ph name="BEGIN_LINK" />визначає ваші інтереси<ph name="END_LINK" />, які можуть використовувати інші сайти для показу оголошень. Ви можете керувати своїми інтересами в налаштуваннях.</translation>
 <translation id="2513403576141822879">Інші налаштування конфіденційності, безпеки та збору даних доступні в розділі <ph name="BEGIN_LINK" />Синхронізація та сервіси Google<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">Сканувати</translation>
 <translation id="2523184218357549926">Надсилає в Google URL-адреси відвіданих сторінок</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">Ліцензії ПЗ з відкритим кодом</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Які дані використовуються<ph name="END_BOLD" />. Ваша історія веб-перегляду – перелік сайтів, які ви відвідали через Chrome на цьому пристрої.</translation>
 <translation id="4263656433980196874">Інтерфейс надання згоди на голосовий пошук через Асистента відкрито на всю висоту</translation>
-<translation id="4266054596873078491">Увійдіть на цей сайт і в Chrome, використовуючи свій обліковий запис Google.</translation>
 <translation id="4269820728363426813">Копіювати адресу посилання</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Увімкніть блокування екрана в налаштуваннях Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Використовуючи Chrome, ви приймаєте <ph name="BEGIN_TOS_LINK" />Загальні положення та умови Google<ph name="END_TOS_LINK" /> і <ph name="BEGIN_ATOS_LINK" />Додаткові умови використання Google Chrome та ОС Chrome<ph name="END_ATOS_LINK" />. Також застосовується <ph name="BEGIN_PRIVACY_LINK" />Політика конфіденційності<ph name="END_PRIVACY_LINK" />.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb
index dc897b8..d87f6de 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_ur.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">اوپن سورس لائسنسز</translation>
 <translation id="4262915912852657291">‏<ph name="BEGIN_BOLD" />کون سا ڈیٹا استعمال کیا جاتا ہے:<ph name="END_BOLD" /> آپ کی براؤزنگ کی سرگزشت، ان سائٹس کا ریکارڈ جو آپ اس آلے پر Chrome کا استعمال کر کے ملاحظہ کر چکے ہیں۔</translation>
 <translation id="4263656433980196874">‏اسسٹنٹ صوتی تلاش رضامندی ui پوری اونچائی پر کھلی ہوئی ہے</translation>
-<translation id="4266054596873078491">‏اپنے Google اکاؤنٹ سے اس سائٹ اور Chrome میں سائن ان کریں۔</translation>
 <translation id="4269820728363426813">لنک کا پتہ کاپی کریں</translation>
 <translation id="4291407919474070700">‏<ph name="BEGIN_LINK" />Android کی ترتیبات میں اسکرین لاک کو آن کریں<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">‏Chrome کا استعمال کر کے، آپ <ph name="BEGIN_TOS_LINK" />Google کی سروس کی شرائط<ph name="END_TOS_LINK" /> اور <ph name="BEGIN_ATOS_LINK" />Google Chrome اور ChromeOS کی اضافی سروس کی شرائط<ph name="END_ATOS_LINK" /> سے اتفاق کرتے ہیں۔ <ph name="BEGIN_PRIVACY_LINK" />رازداری کی پالیسی<ph name="END_PRIVACY_LINK" /> بھی لاگو ہوتی ہے۔</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
index e71653c4..1b83f60 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_uz.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Ochiq kodli DT litsenziyalari</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Qanday maʼlumotlar ishlatilishi:<ph name="END_BOLD" /> Bu qurilmada Chrome orqali siz kirgan saytlar tarixidagi qaydlar.</translation>
 <translation id="4263656433980196874">Assistent ovozli qidiruv paneli interfeysi toʻliq hajmda ochildi</translation>
-<translation id="4266054596873078491">Bu sayt va Chrome brauzeriga Google hisobingizdan kiring.</translation>
 <translation id="4269820728363426813">Havola manzilini nusxalash</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Android sozlamalari orqali ekran qulfini yoqing<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Siz Chrome brauzeridan foydalanish orqali <ph name="BEGIN_TOS_LINK" />Google Xizmat shartlari<ph name="END_TOS_LINK" /> hamda <ph name="BEGIN_ATOS_LINK" />Google Chrome va ChromeOS Qoʻshimcha xizmat shartlari<ph name="END_ATOS_LINK" /> uchun rozilik berasiz. <ph name="BEGIN_PRIVACY_LINK" />Maxfiylik siyosati<ph name="END_PRIVACY_LINK" /> ham tatbiq etiladi.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
index 6bace98..40c8d7f 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_vi.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Giấy phép nguồn mở</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Loại dữ liệu nào được sử dụng:<ph name="END_BOLD" /> Nhật ký duyệt web của bạn, một bản ghi các trang web bạn từng truy cập bằng Chrome trên thiết bị này.</translation>
 <translation id="4263656433980196874">Giao diện người dùng cho phép sử dụng Trợ lý để tìm kiếm bằng giọng nói đã mở trên toàn màn hình</translation>
-<translation id="4266054596873078491">Bạn sẽ đăng nhập vào trang web này và Chrome bằng Tài khoản Google của bạn.</translation>
 <translation id="4269820728363426813">Sao chép địa chỉ liên kết</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Bật phương thức khóa màn hình trong phần cài đặt Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Bằng việc sử dụng Chrome, bạn đồng ý với <ph name="BEGIN_TOS_LINK" />Điều khoản dịch vụ của Google<ph name="END_TOS_LINK" /> cũng như <ph name="BEGIN_ATOS_LINK" />Điều khoản dịch vụ bổ sung của Google Chrome và ChromeOS<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Chính sách quyền riêng tư<ph name="END_PRIVACY_LINK" /> cũng được áp dụng.</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
index ed5f108..9cab701 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
@@ -271,6 +271,7 @@
 <translation id="2496180316473517155">浏览记录</translation>
 <translation id="2497852260688568942">您的管理员已停用同步</translation>
 <translation id="250020030759455918">您会在 Chrome 中看到自己的 <ph name="SITE_NAME" /> 登录状态、浏览数据和网站数据</translation>
+<translation id="2507178219579379057">Chrome 会探索各种方式来限制垃圾广告、欺诈行为以及网站间共享。Chrome 还会<ph name="BEGIN_LINK" />推测您的兴趣<ph name="END_LINK" />,以供网站用于向您展示广告。您可在设置中管理自己的兴趣。</translation>
 <translation id="2513403576141822879">若想了解更多与隐私、安全和数据收集相关的设置,请参阅<ph name="BEGIN_LINK" />同步功能和 Google 服务<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">扫描</translation>
 <translation id="2523184218357549926">将您所访问的网页的网址发送给 Google</translation>
@@ -586,7 +587,6 @@
 <translation id="4256782883801055595">开放源代码许可</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />我们会使用哪些数据<ph name="END_BOLD" />:您的浏览记录,即您在此设备上使用 Chrome 访问过的网站的记录。</translation>
 <translation id="4263656433980196874">针对 Google 助理语音搜索功能的用户意见征求界面已全屏打开</translation>
-<translation id="4266054596873078491">使用您的 Google 帐号登录此网站和 Chrome。</translation>
 <translation id="4269820728363426813">复制链接地址</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />在 Android 设置中开启“屏幕锁定”功能<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">使用 Chrome 即表示您同意接受 <ph name="BEGIN_TOS_LINK" />Google 服务条款<ph name="END_TOS_LINK" />以及 <ph name="BEGIN_ATOS_LINK" />Google Chrome 和 Chrome 操作系统附加服务条款<ph name="END_ATOS_LINK" />。您也必须遵守<ph name="BEGIN_PRIVACY_LINK" />隐私权政策<ph name="END_PRIVACY_LINK" />。</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
index 1a4fb58..4170a26 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-HK.xtb
@@ -271,7 +271,7 @@
 <translation id="2496180316473517155">瀏覽記錄</translation>
 <translation id="2497852260688568942">您的管理員已停用同步功能</translation>
 <translation id="250020030759455918">您可在 Chrome 中查看 <ph name="SITE_NAME" /> 登入狀態、瀏覽資料和網站資料</translation>
-<translation id="2507178219579379057">Chrome 會探索如何防範垃圾內容和詐欺行為,以及限制網站之間分享資訊的方法。Chrome 還會<ph name="BEGIN_LINK" />推測你的興趣喜好<ph name="END_LINK" />,讓網站能夠顯示廣告。你可以前往設定管理自己的興趣喜好。</translation>
+<translation id="2507178219579379057">Chrome 正在研究如何防範垃圾廣告和欺詐行為,以及限制網站之間分享資訊的方法。Chrome 亦會<ph name="BEGIN_LINK" />推斷您的興趣<ph name="END_LINK" />,讓網站能顯示廣告。您可在設定中管理興趣。</translation>
 <translation id="2513403576141822879">如需更多與私隱權、安全性和資料收集相關的設定,請參閱<ph name="BEGIN_LINK" />同步處理和 Google 服務<ph name="END_LINK" /></translation>
 <translation id="2517472476991765520">掃瞄</translation>
 <translation id="2523184218357549926">將您瀏覽的網頁網址傳送給 Google</translation>
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">開放原始碼授權</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />需要使用什麼資料:<ph name="END_BOLD" />您的瀏覽記錄,亦即您在此裝置上使用 Chrome 瀏覽過的網站記錄。</translation>
 <translation id="4263656433980196874">「Google 助理」語音搜尋的同意使用者介面已開啟,顯示於整個畫面</translation>
-<translation id="4266054596873078491">使用您的 Google 帳戶登入此網站和 Chrome。</translation>
 <translation id="4269820728363426813">複製連結網址</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />在 Android 設定中開啟螢幕鎖定<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">使用 Chrome 即表示您同意《<ph name="BEGIN_TOS_LINK" />Google 服務條款<ph name="END_TOS_LINK" />》以及 <ph name="BEGIN_ATOS_LINK" />Google Chrome 和 Chrome OS 的《附加服務條款》<ph name="END_ATOS_LINK" />。須同時受《<ph name="BEGIN_PRIVACY_LINK" />私隱權政策<ph name="END_PRIVACY_LINK" />》約束。</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
index a6bb977..783f02e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-TW.xtb
@@ -586,7 +586,6 @@
 <translation id="4256782883801055595">開放原始碼授權</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />我們會使用哪些資料:<ph name="END_BOLD" />你的瀏覽記錄,以及在這部裝置上透過 Chrome 造訪的網站記錄。</translation>
 <translation id="4263656433980196874">Google 助理語音搜尋的同意使用者介面已開啟,顯示於整個畫面</translation>
-<translation id="4266054596873078491">使用你的 Google 帳戶登入這個網站和 Chrome。</translation>
 <translation id="4269820728363426813">複製連結網址</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />在 Android 設定中開啟螢幕鎖定功能<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">使用 Chrome 即表示您同意《<ph name="BEGIN_TOS_LINK" />Google 服務條款<ph name="END_TOS_LINK" />》以及 <ph name="BEGIN_ATOS_LINK" />Google Chrome 和 Chrome OS 的《附加服務條款》<ph name="END_ATOS_LINK" />。您也必須遵守《<ph name="BEGIN_PRIVACY_LINK" />隱私權政策<ph name="END_PRIVACY_LINK" />》。</translation>
diff --git a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
index 74c40ab..564e78e 100644
--- a/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
+++ b/chrome/browser/ui/android/strings/translations/android_chrome_strings_zu.xtb
@@ -587,7 +587,6 @@
 <translation id="4256782883801055595">Amalayisensi womthombo ovulekile</translation>
 <translation id="4262915912852657291"><ph name="BEGIN_BOLD" />Iyiphi idatha esetshenziswayo:<ph name="END_BOLD" /> Umlando wakho wokubhrawuza, irekhodi lamasayithi owavakashele usebenzisa i-Chrome kule divayisi.</translation>
 <translation id="4263656433980196874">Imvume ye-ui yomsizi wokusesha ngezwi ivulwe ngokuphakama okuphelele</translation>
-<translation id="4266054596873078491">Ngena ngemvume kuleli sayithi naku-Chrome nge-Google Account yakho.</translation>
 <translation id="4269820728363426813">Kopisha ikheli lesixhumanisi</translation>
 <translation id="4291407919474070700"><ph name="BEGIN_LINK" />Vula ukukhiya isikrini kumasethingi we-Android<ph name="END_LINK" /></translation>
 <translation id="4293476595220860475">Ngokusebenzisa i-Chrome, uvumelana <ph name="BEGIN_TOS_LINK" />Nemigomo Yesevisi ye-Google<ph name="END_TOS_LINK" />, kanye <ph name="BEGIN_ATOS_LINK" />ne-Google Chrome Nemigomo Yesevisi ye-ChromeOS Engeziwe<ph name="END_ATOS_LINK" />. <ph name="BEGIN_PRIVACY_LINK" />Inqubomgomo Yobumfihlo<ph name="END_PRIVACY_LINK" /> nayo iyasebenza.</translation>
diff --git a/chrome/browser/ui/task_manager/task_manager_table_model.cc b/chrome/browser/ui/task_manager/task_manager_table_model.cc
index a3d7ad7..95a6864 100644
--- a/chrome/browser/ui/task_manager/task_manager_table_model.cc
+++ b/chrome/browser/ui/task_manager/task_manager_table_model.cc
@@ -893,14 +893,14 @@
   UpdateRefreshTypes(column_id, new_visibility);
 }
 
-int TaskManagerTableModel::GetRowForWebContents(
+absl::optional<size_t> TaskManagerTableModel::GetRowForWebContents(
     content::WebContents* web_contents) {
   TaskId task_id =
       observed_task_manager()->GetTaskIdForWebContents(web_contents);
   auto index = std::find(tasks_.begin(), tasks_.end(), task_id);
   if (index == tasks_.end())
-    return -1;
-  return static_cast<int>(index - tasks_.begin());
+    return absl::nullopt;
+  return static_cast<size_t>(index - tasks_.begin());
 }
 
 void TaskManagerTableModel::StartUpdating() {
diff --git a/chrome/browser/ui/task_manager/task_manager_table_model.h b/chrome/browser/ui/task_manager/task_manager_table_model.h
index 7d3aa63..dc7e007 100644
--- a/chrome/browser/ui/task_manager/task_manager_table_model.h
+++ b/chrome/browser/ui/task_manager/task_manager_table_model.h
@@ -12,6 +12,7 @@
 #include "base/memory/raw_ptr.h"
 #include "base/values.h"
 #include "chrome/browser/task_manager/task_manager_observer.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 #include "ui/base/models/table_model.h"
 
 namespace content {
@@ -105,10 +106,11 @@
 
   void ToggleColumnVisibility(int column_id);
 
-  // Returns the row index corresponding to a particular WebContents. Returns -1
-  // if |web_contents| is nullptr, or is not currently found in the model (for
-  // example, if the tab is currently crashed).
-  int GetRowForWebContents(content::WebContents* web_contents);
+  // Returns the row index corresponding to a particular WebContents. Returns
+  // nullopt if |web_contents| is nullptr, or is not currently found in the
+  // model (for example, if the tab is currently crashed).
+  absl::optional<size_t> GetRowForWebContents(
+      content::WebContents* web_contents);
 
  private:
   friend class TaskManagerTester;
diff --git a/chrome/browser/ui/thumbnails/thumbnail_tab_helper_interactive_uitest.cc b/chrome/browser/ui/thumbnails/thumbnail_tab_helper_interactive_uitest.cc
index de81c66..049f9d5 100644
--- a/chrome/browser/ui/thumbnails/thumbnail_tab_helper_interactive_uitest.cc
+++ b/chrome/browser/ui/thumbnails/thumbnail_tab_helper_interactive_uitest.cc
@@ -176,8 +176,10 @@
 
 // On browser restore, some tabs may not be loaded. Requesting a
 // thumbnail for one of these tabs should trigger load and capture.
-// TODO(crbug.com/1294473): Flaky on Mac.
-#if BUILDFLAG(IS_MAC)
+// TODO(crbug.com/1294473, crbug.com/1294473): Flaky on Mac and various
+// sanitizer builds.
+#if BUILDFLAG(IS_MAC) || defined(THREAD_SANITIZER) || \
+    defined(ADDRESS_SANITIZER) || defined(MEMORY_SANITIZER)
 #define MAYBE_CapturesRestoredTabWhenRequested \
   DISABLED_CapturesRestoredTabWhenRequested
 #else
diff --git a/chrome/browser/ui/views/extensions/constants.h b/chrome/browser/ui/views/extensions/constants.h
new file mode 100644
index 0000000..c70333c
--- /dev/null
+++ b/chrome/browser/ui/views/extensions/constants.h
@@ -0,0 +1,14 @@
+// Copyright 2022 The Chromium 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_VIEWS_EXTENSIONS_CONSTANTS_H_
+#define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_CONSTANTS_H_
+
+static constexpr int kMenuItemHeightDp = 40;
+
+// Extension's icons contain internal padding to provide space for badging.
+static constexpr gfx::Size kMenuExtensionIconSize{28, 28};
+static constexpr int kMenuIconSize = 16;
+
+#endif  // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_CONSTANTS_H_
diff --git a/chrome/browser/ui/views/extensions/extensions_dialogs_utils.cc b/chrome/browser/ui/views/extensions/extensions_dialogs_utils.cc
index 94653386..fe8ea52 100644
--- a/chrome/browser/ui/views/extensions/extensions_dialogs_utils.cc
+++ b/chrome/browser/ui/views/extensions/extensions_dialogs_utils.cc
@@ -6,7 +6,7 @@
 
 #include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
 #include "chrome/browser/ui/views/chrome_layout_provider.h"
-#include "chrome/browser/ui/views/extensions/extensions_menu_item_view.h"
+#include "chrome/browser/ui/views/extensions/constants.h"
 #include "chrome/browser/ui/views/extensions/extensions_toolbar_button.h"
 #include "chrome/browser/ui/views/extensions/extensions_toolbar_container.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
@@ -65,8 +65,7 @@
 ui::ImageModel GetIcon(ToolbarActionViewController* action,
                        content::WebContents* web_contents) {
   return ui::ImageModel::FromImageSkia(
-      action->GetIcon(web_contents, InstalledExtensionMenuItemView::kIconSize)
-          .AsImageSkia());
+      action->GetIcon(web_contents, kMenuExtensionIconSize).AsImageSkia());
 }
 
 std::u16string GetCurrentHost(content::WebContents* web_contents) {
diff --git a/chrome/browser/ui/views/extensions/extensions_menu_button.cc b/chrome/browser/ui/views/extensions/extensions_menu_button.cc
index 8a27803..4c41716 100644
--- a/chrome/browser/ui/views/extensions/extensions_menu_button.cc
+++ b/chrome/browser/ui/views/extensions/extensions_menu_button.cc
@@ -9,7 +9,7 @@
 #include "base/metrics/user_metrics_action.h"
 #include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
 #include "chrome/browser/ui/views/bubble_menu_item_factory.h"
-#include "chrome/browser/ui/views/extensions/extensions_menu_item_view.h"
+#include "chrome/browser/ui/views/extensions/constants.h"
 #include "chrome/browser/ui/views/extensions/extensions_menu_view.h"
 #include "chrome/browser/ui/views/extensions/extensions_toolbar_button.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
@@ -72,9 +72,7 @@
 
 void ExtensionsMenuButton::UpdateState() {
   SetImage(Button::STATE_NORMAL,
-           controller_
-               ->GetIcon(GetCurrentWebContents(),
-                         InstalledExtensionMenuItemView::kIconSize)
+           controller_->GetIcon(GetCurrentWebContents(), kMenuExtensionIconSize)
                .AsImageSkia());
   SetText(controller_->GetActionName());
   SetTooltipText(controller_->GetTooltip(GetCurrentWebContents()));
@@ -82,11 +80,8 @@
   // The horizontal insets reasonably align the extension icons with text inside
   // the dialog. Note that |kIconSize| also contains space for badging, so we
   // can't trivially use dialog-text insets (empty space inside the icon).
-  constexpr auto kBorderInsets =
-      gfx::Insets::VH((InstalledExtensionMenuItemView::kMenuItemHeightDp -
-                       InstalledExtensionMenuItemView::kIconSize.height()) /
-                          2,
-                      12);
+  constexpr auto kBorderInsets = gfx::Insets::VH(
+      (kMenuItemHeightDp - kMenuExtensionIconSize.height()) / 2, 12);
   SetBorder(views::CreateEmptyBorder(kBorderInsets));
 }
 
diff --git a/chrome/browser/ui/views/extensions/extensions_menu_item_view.cc b/chrome/browser/ui/views/extensions/extensions_menu_item_view.cc
index 52a29be..0c9e87f 100644
--- a/chrome/browser/ui/views/extensions/extensions_menu_item_view.cc
+++ b/chrome/browser/ui/views/extensions/extensions_menu_item_view.cc
@@ -18,6 +18,7 @@
 #include "chrome/browser/ui/toolbar/toolbar_action_view_controller.h"
 #include "chrome/browser/ui/toolbar/toolbar_actions_model.h"
 #include "chrome/browser/ui/views/bubble_menu_item_factory.h"
+#include "chrome/browser/ui/views/extensions/constants.h"
 #include "chrome/browser/ui/views/extensions/extension_context_menu_controller.h"
 #include "chrome/browser/ui/views/extensions/extensions_menu_button.h"
 #include "chrome/browser/ui/views/hover_button.h"
@@ -44,11 +45,9 @@
 
 namespace {
 
-constexpr int kSecondaryIconSizeDp = 16;
 // Set secondary item insets to get to square buttons.
-constexpr gfx::Insets kSecondaryButtonInsets = gfx::Insets(
-    (InstalledExtensionMenuItemView::kMenuItemHeightDp - kSecondaryIconSizeDp) /
-    2);
+constexpr gfx::Insets kSecondaryButtonInsets =
+    gfx::Insets((kMenuItemHeightDp - kMenuIconSize) / 2);
 constexpr int EXTENSION_CONTEXT_MENU = 13;
 constexpr int EXTENSION_PINNING = 14;
 
@@ -56,19 +55,15 @@
                             const gfx::VectorIcon& icon,
                             SkColor icon_color,
                             SkColor disabled_icon_color) {
-  button->SetImage(
-      views::Button::STATE_NORMAL,
-      gfx::CreateVectorIcon(icon, kSecondaryIconSizeDp, icon_color));
+  button->SetImage(views::Button::STATE_NORMAL,
+                   gfx::CreateVectorIcon(icon, kMenuIconSize, icon_color));
   button->SetImage(
       views::Button::STATE_DISABLED,
-      gfx::CreateVectorIcon(icon, kSecondaryIconSizeDp, disabled_icon_color));
+      gfx::CreateVectorIcon(icon, kMenuIconSize, disabled_icon_color));
 }
 
 }  // namespace
 
-// static
-constexpr gfx::Size InstalledExtensionMenuItemView::kIconSize;
-
 SiteAccessMenuItemView::SiteAccessMenuItemView(
     Browser* browser,
     std::unique_ptr<ToolbarActionViewController> controller)
diff --git a/chrome/browser/ui/views/extensions/extensions_menu_item_view.h b/chrome/browser/ui/views/extensions/extensions_menu_item_view.h
index b3a2cf4..a3dd0be 100644
--- a/chrome/browser/ui/views/extensions/extensions_menu_item_view.h
+++ b/chrome/browser/ui/views/extensions/extensions_menu_item_view.h
@@ -31,9 +31,6 @@
  public:
   METADATA_HEADER(SiteAccessMenuItemView);
 
-  static constexpr int kMenuItemHeightDp = 40;
-  static constexpr gfx::Size kIconSize{28, 28};
-
   SiteAccessMenuItemView(
       Browser* browser,
       std::unique_ptr<ToolbarActionViewController> controller);
@@ -87,10 +84,6 @@
  public:
   METADATA_HEADER(InstalledExtensionMenuItemView);
 
-  // TODO(emiliapaz): Consider moving these variables outside this class.
-  static constexpr int kMenuItemHeightDp = 40;
-  static constexpr gfx::Size kIconSize{28, 28};
-
   InstalledExtensionMenuItemView(
       Browser* browser,
       std::unique_ptr<ToolbarActionViewController> controller,
diff --git a/chrome/browser/ui/views/extensions/extensions_menu_view.cc b/chrome/browser/ui/views/extensions/extensions_menu_view.cc
index 86e9647..57761ea 100644
--- a/chrome/browser/ui/views/extensions/extensions_menu_view.cc
+++ b/chrome/browser/ui/views/extensions/extensions_menu_view.cc
@@ -18,6 +18,7 @@
 #include "chrome/browser/ui/views/bubble_menu_item_factory.h"
 #include "chrome/browser/ui/views/chrome_layout_provider.h"
 #include "chrome/browser/ui/views/chrome_typography.h"
+#include "chrome/browser/ui/views/extensions/constants.h"
 #include "chrome/browser/ui/views/extensions/extensions_menu_item_view.h"
 #include "chrome/browser/ui/views/hover_button.h"
 #include "chrome/grit/generated_resources.h"
@@ -50,8 +51,6 @@
 
 constexpr int EXTENSIONS_SETTINGS_ID = 42;
 
-constexpr int kSettingsIconSize = 16;
-
 bool CompareExtensionMenuItemViews(const InstalledExtensionMenuItemView* a,
                                    const InstalledExtensionMenuItemView* b) {
   return base::i18n::ToLower(a->view_controller()->GetActionName()) <
@@ -177,8 +176,7 @@
   // InstalledExtensionMenuItemView using the same horizontal border size and
   // image-label spacing. This dependency should probably be more explicit.
   constexpr int kSettingsIconHorizontalPadding =
-      (InstalledExtensionMenuItemView::kIconSize.width() - kSettingsIconSize) /
-      2;
+      (kMenuExtensionIconSize.width() - kMenuIconSize) / 2;
 
   footer->SetBorder(views::CreateEmptyBorder(
       footer->GetInsets() +
@@ -188,7 +186,7 @@
   footer->SetImageModel(
       views::Button::STATE_NORMAL,
       ui::ImageModel::FromVectorIcon(vector_icons::kSettingsIcon,
-                                     ui::kColorIcon, kSettingsIconSize));
+                                     ui::kColorIcon, kMenuIconSize));
 
   manage_extensions_button_ = footer.get();
   AddChildView(std::move(footer));
diff --git a/chrome/browser/ui/views/extensions/extensions_tabbed_menu_view.cc b/chrome/browser/ui/views/extensions/extensions_tabbed_menu_view.cc
index 682d3b2e..99f4de65 100644
--- a/chrome/browser/ui/views/extensions/extensions_tabbed_menu_view.cc
+++ b/chrome/browser/ui/views/extensions/extensions_tabbed_menu_view.cc
@@ -24,6 +24,7 @@
 #include "chrome/browser/ui/views/bubble_menu_item_factory.h"
 #include "chrome/browser/ui/views/chrome_layout_provider.h"
 #include "chrome/browser/ui/views/chrome_typography.h"
+#include "chrome/browser/ui/views/extensions/constants.h"
 #include "chrome/browser/ui/views/extensions/extensions_menu_item_view.h"
 #include "chrome/browser/ui/views/extensions/extensions_toolbar_container.h"
 #include "chrome/browser/ui/views/extensions/site_settings_expand_button.h"
@@ -555,8 +556,7 @@
       ui::ImageModel::FromResourceId(IDR_WEBSTORE_ICON_16));
   auto open_icon =
       std::make_unique<views::ImageView>(ui::ImageModel::FromVectorIcon(
-          vector_icons::kOpenInNewIcon, ui::kColorIcon,
-          webstore_icon->GetImageModel().Size().width()));
+          vector_icons::kOpenInNewIcon, ui::kColorIcon, kMenuIconSize));
 
   auto installed_tab_footer =
       views::Builder<HoverButton>(
diff --git a/chrome/browser/ui/views/frame/browser_view.cc b/chrome/browser/ui/views/frame/browser_view.cc
index c770f782..8f3c0071 100644
--- a/chrome/browser/ui/views/frame/browser_view.cc
+++ b/chrome/browser/ui/views/frame/browser_view.cc
@@ -152,6 +152,7 @@
 #include "chrome/browser/ui/views/tabs/tab.h"
 #include "chrome/browser/ui/views/tabs/tab_search_button.h"
 #include "chrome/browser/ui/views/tabs/tab_strip.h"
+#include "chrome/browser/ui/views/theme_copying_widget.h"
 #include "chrome/browser/ui/views/toolbar/browser_app_menu_button.h"
 #include "chrome/browser/ui/views/toolbar/reload_button.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_account_icon_container_view.h"
@@ -2360,8 +2361,12 @@
     show_fullscreen_toolbar = browser()->profile()->GetPrefs()->GetBoolean(
         prefs::kShowFullscreenToolbar);
   }
-  if (IsFullscreen() && !show_fullscreen_toolbar) {
-    return false;
+  // Immersive full screen makes it possible to display the toolbar when
+  // kShowFullscreenToolbar is not set.
+  if (!base::FeatureList::IsEnabled(features::kImmersiveFullscreen)) {
+    if (IsFullscreen() && !show_fullscreen_toolbar) {
+      return false;
+    }
   }
 #endif
   if (immersive_mode_controller_->ShouldHideTopViews())
@@ -3334,6 +3339,31 @@
   return overlay_view_;
 }
 
+#if BUILDFLAG(IS_MAC)
+views::View* BrowserView::CreateMacOverlayView() {
+  views::Widget::InitParams params;
+  // Keep around overlay_widget_ and overlay_view_ until this
+  // BrowserView is deconstructed. overlay_view_ is used during BrowserView
+  // deconstruction.
+  // TODO(bur): Refactor usage of WIDGET_OWNS_NATIVE_WIDGET.
+  params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
+  params.type = views::Widget::InitParams::TYPE_POPUP;
+  params.child = true;
+  params.parent = GetWidget()->GetNativeView();
+  overlay_widget_ = std::make_unique<ThemeCopyingWidget>(GetWidget());
+  overlay_widget_->Init(std::move(params));
+
+  std::unique_ptr<TopContainerOverlayView> overlay_view =
+      std::make_unique<TopContainerOverlayView>(weak_ptr_factory_.GetWeakPtr());
+  overlay_view_targeter_ = std::make_unique<OverlayViewTargeterDelegate>();
+  overlay_view->SetEventTargeter(
+      std::make_unique<views::ViewTargeter>(overlay_view_targeter_.get()));
+  overlay_view_ = overlay_view.get();
+  overlay_widget_->GetRootView()->AddChildView(std::move(overlay_view));
+  return overlay_view_;
+}
+#endif  // IS_MAC
+
 void BrowserView::OnWidgetDestroying(views::Widget* widget) {
   DCHECK(widget_observation_.IsObservingSource(widget));
   widget_observation_.Reset();
diff --git a/chrome/browser/ui/views/frame/browser_view.h b/chrome/browser/ui/views/frame/browser_view.h
index 0da73a7f..b17718e 100644
--- a/chrome/browser/ui/views/frame/browser_view.h
+++ b/chrome/browser/ui/views/frame/browser_view.h
@@ -184,6 +184,10 @@
   // Container for the tabstrip, toolbar, etc.
   TopContainerView* top_container() { return top_container_; }
 
+#if BUILDFLAG(IS_MAC)
+  views::Widget* overlay_widget() { return overlay_widget_.get(); }
+#endif
+
   // Container for the web contents.
   views::View* contents_container() { return contents_container_; }
 
@@ -639,6 +643,9 @@
   views::View* GetContentsView() override;
   views::ClientView* CreateClientView(views::Widget* widget) override;
   views::View* CreateOverlayView() override;
+#if BUILDFLAG(IS_MAC)
+  views::View* CreateMacOverlayView();
+#endif
   void OnWindowBeginUserBoundsChange() override;
   void OnWindowEndUserBoundsChange() override;
   void OnWidgetMove() override;
@@ -980,6 +987,11 @@
   std::unique_ptr<views::ViewTargeterDelegate> overlay_view_targeter_;
   raw_ptr<views::View> overlay_view_ = nullptr;
 
+#if BUILDFLAG(IS_MAC)
+  // Used when calling CreateMacOverlayView().
+  std::unique_ptr<views::Widget> overlay_widget_;
+#endif
+
   // The Bookmark Bar View for this window. Lazily created. May be null for
   // non-tabbed browsers like popups. May not be visible.
   std::unique_ptr<BookmarkBarView> bookmark_bar_view_;
diff --git a/chrome/browser/ui/views/frame/browser_window_factory.cc b/chrome/browser/ui/views/frame/browser_window_factory.cc
index ad2b2d0..e997d0f 100644
--- a/chrome/browser/ui/views/frame/browser_window_factory.cc
+++ b/chrome/browser/ui/views/frame/browser_window_factory.cc
@@ -4,26 +4,33 @@
 
 #include <memory>
 
+#include "build/chromeos_buildflags.h"
+#include "chrome/browser/profiles/profiles_state.h"
 #include "chrome/browser/ui/views/frame/browser_frame.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-#include "chrome/browser/ui/views/frame/custom_tab_browser_frame.h"
-#endif
-#if BUILDFLAG(IS_CHROMEOS_LACROS)
-#include "chrome/browser/ui/views/frame/browser_frame_lacros.h"
-#endif
 #include "chrome/browser/ui/views/frame/native_browser_frame_factory.h"
 #include "chrome/grit/chromium_strings.h"
 #include "components/safe_browsing/core/browser/password_protection/metrics_util.h"
+#include "ui/base/l10n/l10n_util.h"
+#include "ui/views/widget/widget.h"
+
 #if defined(USE_AURA)
 #include "ui/aura/client/aura_constants.h"
 #include "ui/aura/window.h"
 #include "ui/aura/window_occlusion_tracker.h"
 #endif
-#include "build/chromeos_buildflags.h"
-#include "chrome/browser/profiles/profiles_state.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/views/widget/widget.h"
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+#include "chrome/browser/ui/views/frame/custom_tab_browser_frame.h"
+#endif
+
+#if BUILDFLAG(IS_CHROMEOS_LACROS)
+#include "chrome/browser/ui/views/frame/browser_frame_lacros.h"
+#endif
+
+#if BUILDFLAG(IS_MAC)
+#include "chrome/common/chrome_features.h"
+#endif
 
 // static
 BrowserWindow* BrowserWindow::CreateBrowserWindow(
@@ -54,6 +61,14 @@
     browser_frame->SetTabDragKind(TabDragKind::kAllTabs);
   browser_frame->InitBrowserFrame();
 
+#if BUILDFLAG(IS_MAC)
+  if (base::FeatureList::IsEnabled(features::kImmersiveFullscreen)) {
+    // This needs to happen after BrowserFrame has been initialized. It creates
+    // a new Widget that copies the theme from BrowserFrame.
+    view->CreateMacOverlayView();
+  }
+#endif  // IS_MAC
+
   view->GetWidget()->non_client_view()->SetAccessibleName(
       l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
 
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller.h b/chrome/browser/ui/views/frame/immersive_mode_controller.h
index b4c6c36b..e9c0b36 100644
--- a/chrome/browser/ui/views/frame/immersive_mode_controller.h
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller.h
@@ -35,7 +35,7 @@
 // the top-of-window views are hidden until the mouse hits the top of the
 // screen. The tab strip is optionally painted with miniature "tab indicator"
 // rectangles.
-// Currently, immersive mode is only available for Chrome OS.
+// Currently, immersive mode is only available for Chrome OS and macOS.
 class ImmersiveModeController {
  public:
   enum AnimateReveal {
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_factory_views.cc b/chrome/browser/ui/views/frame/immersive_mode_controller_factory_views.cc
index 23270173..1eedb1e 100644
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_factory_views.cc
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_factory_views.cc
@@ -13,6 +13,7 @@
 
 #if BUILDFLAG(IS_MAC)
 #include "chrome/browser/ui/views/frame/immersive_mode_controller_mac.h"
+#include "chrome/common/chrome_features.h"
 #endif
 
 namespace chrome {
@@ -21,7 +22,10 @@
 #if BUILDFLAG(IS_CHROMEOS)
   return std::make_unique<ImmersiveModeControllerChromeos>();
 #elif BUILDFLAG(IS_MAC)
-  return CreateImmersiveModeControllerMac();
+  if (base::FeatureList::IsEnabled(features::kImmersiveFullscreen)) {
+    return CreateImmersiveModeControllerMac();
+  }
+  return std::make_unique<ImmersiveModeControllerStub>();
 #else
   return std::make_unique<ImmersiveModeControllerStub>();
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/chrome/browser/ui/views/frame/immersive_mode_controller_mac.mm b/chrome/browser/ui/views/frame/immersive_mode_controller_mac.mm
index d5dfecf..8277ac5 100644
--- a/chrome/browser/ui/views/frame/immersive_mode_controller_mac.mm
+++ b/chrome/browser/ui/views/frame/immersive_mode_controller_mac.mm
@@ -6,6 +6,7 @@
 
 #include "chrome/browser/ui/views/frame/immersive_mode_controller_mac.h"
 
+#include "base/check.h"
 #include "base/mac/foundation_util.h"
 #include "base/mac/scoped_nsobject.h"
 #include "base/memory/raw_ptr.h"
@@ -14,136 +15,97 @@
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/frame/immersive_mode_controller.h"
 #include "chrome/browser/ui/views/frame/top_container_view.h"
-#import "ui/base/cocoa/tracking_area.h"
+#include "chrome/common/pref_names.h"
+#include "components/prefs/pref_service.h"
+#include "components/remote_cocoa/app_shim/bridged_content_view.h"
+#include "ui/gfx/geometry/rect.h"
+#include "ui/views/cocoa/immersive_mode_delegate_mac.h"
 #include "ui/views/focus/focus_manager.h"
+#include "ui/views/layout/layout_manager.h"
 #include "ui/views/view_observer.h"
+#include "ui/views/widget/widget.h"
 
-namespace {
-const CGFloat kMenuBarLockPadding = 50;
-}
-
-// MenuRevealMonitor tracks visibility of the menu bar associated with |window|,
-// and calls |handler| when it changes. In fullscreen, when the mouse pointer
-// moves to or away from the top of the screen, |handler| will be called several
-// times with a number between zero and one indicating how much of the menu bar
-// is visible.
-@interface MenuRevealMonitor : NSObject
-- (instancetype)initWithWindow:(NSWindow*)window
-                 changeHandler:(void (^)(double))handler
-    NS_DESIGNATED_INITIALIZER;
-- (instancetype)init NS_UNAVAILABLE;
+// A stub NSWindowDelegate class that will be used to map the AppKit controlled
+// NSWindow to the overlay view widget's NSWindow. The delegate will be used to
+// help with input routing.
+@interface ImmersiveModeMapper : NSObject <ImmersiveModeDelegate>
+@property(assign) NSWindow* originalHostingWindow;
 @end
 
-@implementation MenuRevealMonitor {
-  base::mac::ScopedBlock<void (^)(double)> _change_handler;
-  base::scoped_nsobject<NSTitlebarAccessoryViewController> _accVC;
-}
+@implementation ImmersiveModeMapper
+@synthesize originalHostingWindow = _originalHostingWindow;
+@end
 
-- (instancetype)initWithWindow:(NSWindow*)window
-                 changeHandler:(void (^)(double))handler {
+// Host of the overlay view.
+@interface ImmersiveModeTitlebarViewController
+    : NSTitlebarAccessoryViewController {
+  base::mac::ScopedBlock<void (^)()> _view_will_appear_handler;
+}
+@end
+
+@implementation ImmersiveModeTitlebarViewController
+
+- (instancetype)initWithViewWillAppearHandler:(void (^)())handler {
   if ((self = [super init])) {
-    _change_handler.reset([handler copy]);
-    _accVC.reset([[NSTitlebarAccessoryViewController alloc] init]);
-    auto* accVC = _accVC.get();
-    accVC.view = [[[NSView alloc] initWithFrame:NSZeroRect] autorelease];
-    [accVC addObserver:self
-            forKeyPath:@"revealAmount"
-               options:NSKeyValueObservingOptionNew
-               context:nil];
-    [window addTitlebarAccessoryViewController:accVC];
+    _view_will_appear_handler.reset([handler copy]);
   }
   return self;
 }
 
-- (void)dealloc {
-  [_accVC removeObserver:self forKeyPath:@"revealAmount"];
-  [_accVC removeFromParentViewController];
-  [super dealloc];
-}
+- (void)viewWillAppear {
+  [super viewWillAppear];
+  _view_will_appear_handler.get()();
 
-- (void)observeValueForKeyPath:(NSString*)keyPath
-                      ofObject:(id)object
-                        change:(NSDictionary<NSKeyValueChangeKey, id>*)change
-                       context:(void*)context {
-  double revealAmount =
-      base::mac::ObjCCastStrict<NSNumber>(change[NSKeyValueChangeNewKey])
-          .doubleValue;
-  _change_handler.get()(revealAmount);
-}
-@end
-
-// ImmersiveToolbarOverlayView performs two functions. First, it hitTests to its
-// superview (BridgedContentView) to block mouse events from hitting siblings
-// which the toolbar might overlap, like RenderWidgetHostView. It also sets up a
-// tracking area which locks the menu bar's visibility while the mouse pointer
-// is within its bounds, plus some padding at the bottom.
-@interface ImmersiveToolbarOverlayView : NSView
-@property(nonatomic) BOOL menuBarLockingEnabled;
-@end
-
-@implementation ImmersiveToolbarOverlayView {
-  ui::ScopedCrTrackingArea _trackingArea;
-  std::unique_ptr<ScopedMenuBarLock> _menuBarLock;
-}
-@synthesize menuBarLockingEnabled = _menuBarLockingEnabled;
-
-- (void)setMenuBarLockingEnabled:(BOOL)menuBarLockingEnabled {
-  if (menuBarLockingEnabled == _menuBarLockingEnabled)
-    return;
-  _menuBarLockingEnabled = menuBarLockingEnabled;
-  [self updateTrackingArea];
-}
-
-- (void)updateTrackingArea {
-  NSRect trackingRect = self.bounds;
-  trackingRect.origin.y -= kMenuBarLockPadding;
-  trackingRect.size.height += kMenuBarLockPadding;
-
-  if (CrTrackingArea* trackingArea = _trackingArea.get()) {
-    if (_menuBarLockingEnabled && NSEqualRects(trackingRect, trackingArea.rect))
-      return;
-    else
-      [self removeTrackingArea:trackingArea];
-  }
-
-  if (_menuBarLockingEnabled) {
-    _trackingArea.reset([[CrTrackingArea alloc]
-        initWithRect:trackingRect
-             options:NSTrackingMouseEnteredAndExited |
-                     NSTrackingActiveInKeyWindow
-               owner:self
-            userInfo:nil]);
-    [self addTrackingArea:_trackingArea.get()];
-  } else {
-    _trackingArea.reset();
-    _menuBarLock.reset();
+  // TODO(bur): Get the updated width from OnViewBoundsChanged
+  NSView* tab_view = self.view;
+  NSRect f = tab_view.frame;
+  f.size.width = 2400;
+  tab_view.frame = f;
+  for (NSView* view in tab_view.subviews) {
+    if ([view isKindOfClass:[BridgedContentView class]]) {
+      view.frame = tab_view.frame;
+    }
   }
 }
 
-- (void)setFrameSize:(NSSize)newSize {
-  [super setFrameSize:newSize];
-  [self updateTrackingArea];
+@end
+
+// An NSView that will set the ImmersiveModeDelegate on the AppKit created
+// window that ends up hosting this view via the
+// NSTitlebarAccessoryViewController API.
+@interface ImmersiveModeView : NSView
+- (instancetype)initWithImmersiveModeDelegate:
+    (id<ImmersiveModeDelegate>)delegate;
+@end
+
+@implementation ImmersiveModeView {
+  ImmersiveModeMapper* _fullscreenDelegate;
 }
 
-- (NSView*)hitTest:(NSPoint)point {
-  NSPoint pointInView = [self convertPoint:point fromView:self.superview];
-  if (NSPointInRect(pointInView, self.visibleRect))
-    return self.superview;
-  return [super hitTest:point];
+- (instancetype)initWithImmersiveModeDelegate:
+    (id<ImmersiveModeDelegate>)delegate {
+  self = [super init];
+  if (self) {
+    _fullscreenDelegate = delegate;
+  }
+  return self;
 }
 
-- (void)mouseEntered:(NSEvent*)event {
-  _menuBarLock = std::make_unique<ScopedMenuBarLock>();
-}
-
-- (void)mouseExited:(NSEvent*)event {
-  _menuBarLock.reset();
+- (void)viewWillMoveToWindow:(NSWindow*)window {
+  // TODO(bur): Investigate other approaches to detecting
+  // NSToolbarFullScreenWindow. This is a private class and the name could
+  // change.
+  if ([window isKindOfClass:NSClassFromString(@"NSToolbarFullScreenWindow")]) {
+    // This window is created by AppKit. Make sure it doesn't have a delegate so
+    // we can use it for out own purposes.
+    DCHECK(!window.delegate);
+    window.delegate = _fullscreenDelegate;
+  }
 }
 
 @end
 
 namespace {
-
 class ImmersiveModeControllerMac : public ImmersiveModeController,
                                    public views::FocusChangeListener,
                                    public views::ViewObserver,
@@ -151,8 +113,7 @@
  public:
   class RevealedLock : public ImmersiveRevealedLock {
    public:
-    RevealedLock(base::WeakPtr<ImmersiveModeControllerMac> controller,
-                 AnimateReveal animate_reveal);
+    explicit RevealedLock(base::WeakPtr<ImmersiveModeControllerMac> controller);
 
     RevealedLock(const RevealedLock&) = delete;
     RevealedLock& operator=(const RevealedLock&) = delete;
@@ -161,7 +122,6 @@
 
    private:
     base::WeakPtr<ImmersiveModeControllerMac> controller_;
-    AnimateReveal animate_reveal_;
   };
 
   ImmersiveModeControllerMac();
@@ -203,16 +163,23 @@
   friend class RevealedLock;
 
   // void Layout(AnimateReveal);
-  void LockDestroyed(AnimateReveal);
+  void LockDestroyed();
   void SetMenuRevealed(bool revealed);
 
+  // Handler of show_fullscreen_toolbar_ changes.
+  void ShowFullscreenToolbar();
+
   raw_ptr<BrowserView> browser_view_ = nullptr;  // weak
   std::unique_ptr<ImmersiveRevealedLock> focus_lock_;
   std::unique_ptr<ImmersiveRevealedLock> menu_lock_;
   bool enabled_ = false;
   int revealed_lock_count_ = 0;
-  base::scoped_nsobject<ImmersiveToolbarOverlayView> overlay_view_;
-  base::scoped_nsobject<NSObject> menu_reveal_monitor_;
+  base::scoped_nsobject<ImmersiveModeTitlebarViewController>
+      immersive_mode_titlebar_view_controller_;
+  base::scoped_nsobject<ImmersiveModeMapper> immersive_mode_mapper_;
+
+  // Used to keep track of the update of kShowFullscreenToolbar preference.
+  BooleanPrefMember show_fullscreen_toolbar_;
 
   base::WeakPtrFactory<ImmersiveModeControllerMac> weak_ptr_factory_;
 };
@@ -220,13 +187,12 @@
 }  // namespace
 
 ImmersiveModeControllerMac::RevealedLock::RevealedLock(
-    base::WeakPtr<ImmersiveModeControllerMac> controller,
-    AnimateReveal animate_reveal)
-    : controller_(std::move(controller)), animate_reveal_(animate_reveal) {}
+    base::WeakPtr<ImmersiveModeControllerMac> controller)
+    : controller_(std::move(controller)) {}
 
 ImmersiveModeControllerMac::RevealedLock::~RevealedLock() {
   if (auto* controller = controller_.get())
-    controller->LockDestroyed(animate_reveal_);
+    controller->LockDestroyed();
 }
 
 ImmersiveModeControllerMac::ImmersiveModeControllerMac()
@@ -238,17 +204,39 @@
 
 void ImmersiveModeControllerMac::Init(BrowserView* browser_view) {
   browser_view_ = browser_view;
+  show_fullscreen_toolbar_.Init(
+      prefs::kShowFullscreenToolbar, browser_view->GetProfile()->GetPrefs(),
+      base::BindRepeating(&ImmersiveModeControllerMac::ShowFullscreenToolbar,
+                          base::Unretained(this)));
+}
+
+void ImmersiveModeControllerMac::ShowFullscreenToolbar() {
+  if (*show_fullscreen_toolbar_) {
+    immersive_mode_titlebar_view_controller_.get().fullScreenMinHeight =
+        immersive_mode_titlebar_view_controller_.get().view.frame.size.height;
+    browser_view_->GetWidget()
+        ->GetNativeWindow()
+        .GetNativeNSWindow()
+        .styleMask &= ~NSWindowStyleMaskFullSizeContentView;
+  } else {
+    immersive_mode_titlebar_view_controller_.get().fullScreenMinHeight = 0;
+    browser_view_->GetWidget()
+        ->GetNativeWindow()
+        .GetNativeNSWindow()
+        .styleMask |= NSWindowStyleMaskFullSizeContentView;
+  }
+
+  // TODO(bur): Re-layout so that "no show" -> "always show" will work
+  // properly.
 }
 
 void ImmersiveModeControllerMac::SetMenuRevealed(bool revealed) {
   if (revealed) {
     if (!menu_lock_)
-      menu_lock_ = GetRevealedLock(ANIMATE_REVEAL_YES);
-    overlay_view_.get().menuBarLockingEnabled = YES;
+      menu_lock_ = GetRevealedLock(ANIMATE_REVEAL_NO);
   } else {
     if (menu_lock_)
       menu_lock_.reset();
-    overlay_view_.get().menuBarLockingEnabled = NO;
   }
   browser_view_->InvalidateLayout();
 }
@@ -261,23 +249,75 @@
     browser_view_->GetWidget()->GetFocusManager()->AddFocusChangeListener(this);
     browser_view_->GetWidget()->AddObserver(this);
     browser_view_->top_container()->AddObserver(this);
-    overlay_view_.reset(
-        [[ImmersiveToolbarOverlayView alloc] initWithFrame:NSZeroRect]);
-    menu_reveal_monitor_.reset([[MenuRevealMonitor alloc]
-        initWithWindow:browser_view_->GetWidget()
-                           ->GetNativeWindow()
-                           .GetNativeNSWindow()
-         changeHandler:^(double reveal_amount) {
-           this->SetMenuRevealed(reveal_amount > 0);
-         }]);
+
+    // Create a new NSTitlebarAccessoryViewController that will host the
+    // overlay_view_.
+    immersive_mode_titlebar_view_controller_.reset(
+        [[ImmersiveModeTitlebarViewController alloc]
+            initWithViewWillAppearHandler:^() {
+              SetMenuRevealed(true);
+            }]);
+
+    // Create a NSWindow delegate that will be used to map the AppKit created
+    // NSWindow to the overlay view widget's NSWindow.
+    immersive_mode_mapper_.reset([[ImmersiveModeMapper alloc] init]);
+    immersive_mode_mapper_.get().originalHostingWindow =
+        browser_view_->overlay_widget()->GetNativeWindow().GetNativeNSWindow();
+    immersive_mode_titlebar_view_controller_.get().view =
+        [[ImmersiveModeView alloc]
+            initWithImmersiveModeDelegate:immersive_mode_mapper_.get()];
+
+    // Remove the content view from the overlay view widget's NSWindow. This
+    // view will be re-parented into the AppKit created NSWindow.
+    NSView* overlay_content_view = browser_view_->overlay_widget()
+                                       ->GetNativeWindow()
+                                       .GetNativeNSWindow()
+                                       .contentView;
+    [overlay_content_view removeFromSuperview];
+
+    // Add the overlay view to the accessory view controller and hand everything
+    // over to AppKit.
+    [immersive_mode_titlebar_view_controller_.get().view
+        addSubview:overlay_content_view];
+    immersive_mode_titlebar_view_controller_.get().layoutAttribute =
+        NSLayoutAttributeBottom;
+    [browser_view_->GetWidget()->GetNativeWindow().GetNativeNSWindow()
+        addTitlebarAccessoryViewController:
+            immersive_mode_titlebar_view_controller_];
+
+    // TODO(bur): Figure out why this Show() is needed.
+    // Overlay content view will not be displayed unless we call Show() on the
+    // overlay_widget. This is odd since the view has been reparented to a
+    // different NSWindow.
+    browser_view_->overlay_widget()->Show();
+
+    // If the window is maximized OnViewBoundsChanged will not be called
+    // when transitioning to full screen. Call it now.
+    OnViewBoundsChanged(browser_view_->top_container());
   } else {
     browser_view_->GetWidget()->GetFocusManager()->RemoveFocusChangeListener(
         this);
     browser_view_->GetWidget()->RemoveObserver(this);
     browser_view_->top_container()->RemoveObserver(this);
-    [overlay_view_ removeFromSuperview];
-    overlay_view_.reset();
-    menu_reveal_monitor_.reset();
+
+    // Rollback the view shuffling from enablement.
+    browser_view_->overlay_widget()->Hide();
+    NSView* overlay_content_view =
+        immersive_mode_titlebar_view_controller_.get()
+            .view.subviews.firstObject;
+    [overlay_content_view removeFromSuperview];
+    browser_view_->overlay_widget()
+        ->GetNativeWindow()
+        .GetNativeNSWindow()
+        .contentView = overlay_content_view;
+    [immersive_mode_titlebar_view_controller_ removeFromParentViewController];
+    [immersive_mode_titlebar_view_controller_.get().view release];
+    immersive_mode_titlebar_view_controller_.reset();
+    browser_view_->GetWidget()
+        ->GetNativeWindow()
+        .GetNativeNSWindow()
+        .styleMask |= NSWindowStyleMaskFullSizeContentView;
+
     menu_lock_.reset();
     focus_lock_.reset();
   }
@@ -305,8 +345,7 @@
   revealed_lock_count_++;
   if (enabled_ && revealed_lock_count_ == 1)
     browser_view_->OnImmersiveRevealStarted();
-  return std::make_unique<RevealedLock>(weak_ptr_factory_.GetWeakPtr(),
-                                        animate_reveal);
+  return std::make_unique<RevealedLock>(weak_ptr_factory_.GetWeakPtr());
 }
 
 void ImmersiveModeControllerMac::OnFindBarVisibleBoundsChanged(
@@ -327,7 +366,7 @@
                                                   views::View* focused_now) {
   if (browser_view_->top_container()->Contains(focused_now)) {
     if (!focus_lock_)
-      focus_lock_ = GetRevealedLock(ANIMATE_REVEAL_YES);
+      focus_lock_ = GetRevealedLock(ANIMATE_REVEAL_NO);
   } else {
     focus_lock_.reset();
   }
@@ -335,25 +374,17 @@
 
 void ImmersiveModeControllerMac::OnViewBoundsChanged(
     views::View* observed_view) {
-  NSView* overlay_view = overlay_view_;
-  if (observed_view->GetVisibleBounds().IsEmpty()) {
-    [overlay_view removeFromSuperview];
-    return;
-  }
-  if (!overlay_view.superview)
-    [browser_view_->GetWidget()->GetNativeView().GetNativeNSView()
-        addSubview:overlay_view];
+  browser_view_->overlay_widget()->SetBounds(observed_view->bounds());
   NSRect frame_rect = observed_view->bounds().ToCGRect();
-  frame_rect.origin.y = NSHeight(overlay_view.superview.bounds) -
-                        frame_rect.origin.y - NSHeight(frame_rect);
-  overlay_view.frame = frame_rect;
+  immersive_mode_titlebar_view_controller_.get().view.frame = frame_rect;
+  ShowFullscreenToolbar();
 }
 
 void ImmersiveModeControllerMac::OnWidgetDestroying(views::Widget* widget) {
   SetEnabled(false);
 }
 
-void ImmersiveModeControllerMac::LockDestroyed(AnimateReveal animate_reveal) {
+void ImmersiveModeControllerMac::LockDestroyed() {
   revealed_lock_count_--;
   if (revealed_lock_count_ == 0)
     browser_view_->OnImmersiveRevealEnded();
diff --git a/chrome/browser/ui/views/side_panel/side_panel_resize_area.cc b/chrome/browser/ui/views/side_panel/side_panel_resize_area.cc
index bc154e7..cd04c564 100644
--- a/chrome/browser/ui/views/side_panel/side_panel_resize_area.cc
+++ b/chrome/browser/ui/views/side_panel/side_panel_resize_area.cc
@@ -37,7 +37,7 @@
   const int icon_size = 16;
   gfx::ImageSkia icon = gfx::CreateVectorIcon(
       kDragHandleIcon, icon_size,
-      GetColorProvider()->GetColor(kColorSidePanelContentAreaSeparator));
+      GetColorProvider()->GetColor(kColorToolbarContentAreaSeparator));
   SetImage(icon);
 }
 
diff --git a/chrome/browser/ui/views/user_education/feature_promo_dialog_interactive_uitest.cc b/chrome/browser/ui/views/user_education/feature_promo_dialog_interactive_uitest.cc
index 6b273c94..eb58d05 100644
--- a/chrome/browser/ui/views/user_education/feature_promo_dialog_interactive_uitest.cc
+++ b/chrome/browser/ui/views/user_education/feature_promo_dialog_interactive_uitest.cc
@@ -210,7 +210,7 @@
 
 #if !BUILDFLAG(IS_CHROMEOS_ASH)
 IN_PROC_BROWSER_TEST_F(FeaturePromoDialogTest, InvokeUi_IPH_ProfileSwitch) {
-  set_baseline("2936082");
+  set_baseline("3710120");
   ShowAndVerifyUi();
 }
 #endif  // !BUILDFLAG(IS_CHROMEOS_ASH)
diff --git a/chrome/browser/ui/webui/access_code_cast/access_code_cast_dialog_browsertest.cc b/chrome/browser/ui/webui/access_code_cast/access_code_cast_dialog_browsertest.cc
new file mode 100644
index 0000000..41527fe5
--- /dev/null
+++ b/chrome/browser/ui/webui/access_code_cast/access_code_cast_dialog_browsertest.cc
@@ -0,0 +1,59 @@
+// Copyright 2022 The Chromium 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/discovery/access_code/access_code_cast_feature.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/test/test_browser_dialog.h"
+#include "chrome/browser/ui/webui/access_code_cast/access_code_cast_dialog.h"
+#include "chrome/test/base/chrome_test_utils.h"
+#include "components/prefs/pref_service.h"
+#include "content/public/test/browser_test.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace media_router {
+
+class AccessCodeCastDialogBrowserTest : public DialogBrowserTest {
+ public:
+  AccessCodeCastDialogBrowserTest() = default;
+  AccessCodeCastDialogBrowserTest(const AccessCodeCastDialogBrowserTest&) =
+      delete;
+  AccessCodeCastDialogBrowserTest& operator=(
+      const AccessCodeCastDialogBrowserTest&) = delete;
+  ~AccessCodeCastDialogBrowserTest() override = default;
+
+  // DialogBrowserTest:
+  void ShowUi(const std::string& name) override {
+    content::WebContentsAddedObserver observer;
+
+    // Enable AccessCodeCast.
+    browser()->profile()->GetPrefs()->SetBoolean(
+        media_router::prefs::kAccessCodeCastEnabled, true);
+
+    // Show the dialog.
+    CastModeSet tab_mode = {MediaCastMode::TAB_MIRROR};
+    content::WebContents* web_contents =
+        chrome_test_utils::GetActiveWebContents(this);
+    std::unique_ptr<MediaRouteStarter> starter =
+        std::make_unique<MediaRouteStarter>(tab_mode, web_contents, nullptr);
+    AccessCodeCastDialog::Show(
+        tab_mode, std::move(starter),
+        AccessCodeCastDialogOpenLocation::kBrowserCastMenu);
+    content::WebContents* dialog_contents = observer.GetWebContents();
+    EXPECT_TRUE(content::WaitForLoadStop(dialog_contents));
+  }
+
+ private:
+  base::test::ScopedFeatureList feature_list_;
+};
+
+IN_PROC_BROWSER_TEST_F(AccessCodeCastDialogBrowserTest, InvokeUi_default) {
+#if BUILDFLAG(IS_LINUX)
+  GTEST_SKIP() << "Flaky on linux due to dialog closing early, b/235882005";
+#else
+  ShowAndVerifyUi();
+#endif
+}
+
+}  // namespace media_router
diff --git a/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler.cc b/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler.cc
index ac7e1a4..fdaed23 100644
--- a/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler.cc
+++ b/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler.cc
@@ -201,9 +201,6 @@
     return;
   }
 
-  // Sink has been completely added so caller can be alerted.
-  access_code_sink_service_->StoreSinkAndSetExpirationTimer(sink_id_.value());
-
   std::move(add_sink_callback_).Run(AddSinkResultCode::OK);
 }
 
@@ -289,6 +286,18 @@
 
   current_route_request_ = absl::make_optional(*params->request);
 
+  if (HasActiveRoute(sink_id_.value())) {
+    GetMediaRouter()->GetLogger()->LogInfo(
+        mojom::LogCategory::kUi, kLoggerComponent,
+        "There already exists a route for the given sink id. No new route can "
+        "be created. Checking to see if this is a saved device -- otherwise we "
+        "wil remove it from the media router.",
+        sink_id_.value(), "", "");
+    access_code_sink_service_->CheckMediaSinkForExpiration(sink_id_.value());
+    std::move(callback).Run(RouteRequestResultCode::ROUTE_ALREADY_EXISTS);
+    return;
+  }
+
   params->route_result_callbacks.push_back(base::BindOnce(
       &AccessCodeCastHandler::OnRouteResponse, weak_ptr_factory_.GetWeakPtr(),
       cast_mode, params->request->id, *sink_id_, std::move(callback)));
@@ -332,4 +341,17 @@
   std::move(dialog_callback).Run(RouteRequestResultCode::OK);
 }
 
+bool AccessCodeCastHandler::HasActiveRoute(const MediaSink::Id& sink_id) {
+  if (!GetMediaRouter())
+    return false;
+  auto routes = GetMediaRouter()->GetCurrentRoutes();
+  auto route_it = std::find_if(routes.begin(), routes.end(),
+                               [&sink_id](const MediaRoute& route) {
+                                 return route.media_sink_id() == sink_id;
+                               });
+  if (route_it == routes.end())
+    return false;
+  return true;
+}
+
 }  // namespace media_router
diff --git a/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler.h b/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler.h
index 6fa9a84..1d86437 100644
--- a/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler.h
+++ b/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler.h
@@ -65,6 +65,7 @@
   FRIEND_TEST_ALL_PREFIXES(AccessCodeCastHandlerTest, DesktopMirroring);
   FRIEND_TEST_ALL_PREFIXES(AccessCodeCastHandlerTest, DesktopMirroringError);
   FRIEND_TEST_ALL_PREFIXES(AccessCodeCastHandlerTest, OnSinkAddedResult);
+  FRIEND_TEST_ALL_PREFIXES(AccessCodeCastHandlerTest, RouteAlreadyExists);
 
   // Constructor that is used for testing.
   AccessCodeCastHandler(
@@ -110,6 +111,9 @@
   // been satisfied. If so, alerts the dialog.
   void CheckForDiscoveryCompletion();
 
+  // Checks to see that if route already exists for the given media sink id.
+  bool HasActiveRoute(const MediaSink::Id& sink_id);
+
   mojo::Remote<access_code_cast::mojom::Page> page_;
   mojo::Receiver<access_code_cast::mojom::PageHandler> receiver_;
 
diff --git a/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler_unittest.cc b/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler_unittest.cc
index f01c342..dcb2a6b 100644
--- a/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler_unittest.cc
+++ b/chrome/browser/ui/webui/access_code_cast/access_code_cast_handler_unittest.cc
@@ -271,9 +271,6 @@
           }
         });
 
-    ON_CALL(*router(), GetCurrentRoutes())
-        .WillByDefault(Return(std::vector<MediaRoute>()));
-
     // Handler so MockMediaRouter will respond to requests to create a route.
     // Will construct a RouteRequestResult based on the set result code and
     // then call the handler's callback, which should call the page's callback.
@@ -479,4 +476,26 @@
                     mock_callback);
 }
 
+// Demonstrates that casting will not start if there already exists a route for
+// the given sink.
+TEST_F(AccessCodeCastHandlerTest, RouteAlreadyExists) {
+  MockCastToSinkCallback mock_callback;
+
+  MediaSinkInternal access_code_sink = CreateCastSink(1);
+  access_code_sink.cast_data().discovery_type =
+      CastDiscoveryType::kAccessCodeManualEntry;
+
+  CreateHandler({MediaCastMode::DESKTOP_MIRROR});
+  set_screen_capture_allowed_for_testing(true);
+  UpdateSinks({access_code_sink.sink()}, std::vector<url::Origin>());
+  handler()->set_sink_id_for_testing(access_code_sink.sink().id());
+
+  MediaRoute media_route_access = CreateRouteForTesting(access_code_sink);
+  std::vector<MediaRoute> route_list = {media_route_access};
+  ON_CALL(*router(), GetCurrentRoutes()).WillByDefault(Return(route_list));
+
+  EXPECT_CALL(mock_callback, Run(RouteRequestResultCode::ROUTE_ALREADY_EXISTS));
+  handler()->CastToSink(mock_callback.Get());
+}
+
 }  // namespace media_router
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom b/chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom
index 94ed4c1df..5cfd673 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom
@@ -249,8 +249,10 @@
   ChooseLocalCustomBackground() => (bool success);
   // Get the middle slot promo if it exists.
   GetPromo() => (Promo? promo);
-  // Blocklists a promo.
+  // Marks a promo as blocked.
   BlocklistPromo(string promo_id);
+  // Unmarks a promo as blocked.
+  UndoBlocklistPromo(string promo_id);
   // Called when a module the given id is dismissed.
   OnDismissModule(string module_id);
   // Called when a module the given id is restored.
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc
index c0e02cc..e737851a 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.cc
@@ -652,6 +652,10 @@
   promo_service_->BlocklistPromo(promo_id);
 }
 
+void NewTabPageHandler::UndoBlocklistPromo(const std::string& promo_id) {
+  promo_service_->UndoBlocklistPromo(promo_id);
+}
+
 void NewTabPageHandler::OnDismissModule(const std::string& module_id) {
   const std::string histogram_prefix(kModuleDismissedHistogram);
   base::UmaHistogramExactLinear(histogram_prefix, 1, 1);
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h
index 63b1e09d..92a7bde 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_handler.h
@@ -99,6 +99,7 @@
       ChooseLocalCustomBackgroundCallback callback) override;
   void GetPromo(GetPromoCallback callback) override;
   void BlocklistPromo(const std::string& promo_id) override;
+  void UndoBlocklistPromo(const std::string& promo_id) override;
   void OnDismissModule(const std::string& module_id) override;
   void OnRestoreModule(const std::string& module_id) override;
   void SetModulesVisible(bool visible) override;
diff --git a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
index 4575f3b..3937a9cf 100644
--- a/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
+++ b/chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc
@@ -421,6 +421,9 @@
        IDS_NTP_MODULES_FIRST_RUN_EXPERIENCE_OPT_OUT},
       {"modulesFirstRunExperienceOptOutToast",
        IDS_NTP_MODULES_FIRST_RUN_EXPERIENCE_OPT_OUT_TOAST},
+
+      // Middle slot promo.
+      {"undoDismissPromoButtonToast", IDS_NTP_UNDO_DISMISS_PROMO_BUTTON_TOAST},
   };
   source->AddLocalizedStrings(kStrings);
 
diff --git a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
index 65bb8cb..1bfd93b 100644
--- a/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
+++ b/chrome/browser/ui/webui/ntp/ntp_resource_cache.cc
@@ -324,14 +324,11 @@
   replacements["cookieControlsTooltipText"] = l10n_util::GetStringUTF8(
       IDS_NEW_TAB_OTR_COOKIE_CONTROLS_CONTROLLED_TOOLTIP_TEXT);
 
-  // Requesting the incognito HTML is only done from within incognito browser
-  // windows. The ThemeProvider associated with the requesting WebContents will
-  // wrap the relevant incognito bits.
-  const ui::ThemeProvider* tp = webui::GetThemeProvider(wc_getter.Run());
-  DCHECK(tp);
+  const ui::ThemeProvider& tp =
+      ThemeService::GetThemeProviderForProfile(profile_);
 
   replacements["hasCustomBackground"] =
-      tp->HasCustomImage(IDR_THEME_NTP_BACKGROUND) ? "true" : "false";
+      tp.HasCustomImage(IDR_THEME_NTP_BACKGROUND) ? "true" : "false";
 
   const std::string& app_locale = g_browser_process->GetApplicationLocale();
   webui::SetLoadTimeDataDefaults(app_locale, &replacements);
@@ -424,11 +421,8 @@
   const ui::NativeTheme* native_theme = webui::GetNativeTheme(web_contents);
   DCHECK(native_theme);
 
-  // Requesting the incognito CSS is only done from within incognito browser
-  // windows. The ThemeProvider associated with the requesting WebContents will
-  // wrap the relevant incognito bits.
-  const ui::ThemeProvider* tp = webui::GetThemeProvider(web_contents);
-  DCHECK(tp);
+  const ui::ThemeProvider& tp =
+      ThemeService::GetThemeProviderForProfile(profile_);
 
   // Generate the replacements.
   ui::TemplateReplacements substitutions;
@@ -441,8 +435,8 @@
   const ui::ColorProvider& cp = web_contents->GetColorProvider();
   substitutions["colorBackground"] = color_utils::SkColorToRgbaString(
       GetThemeColor(native_theme, cp, kColorNewTabPageBackground));
-  substitutions["backgroundPosition"] = GetNewTabBackgroundPositionCSS(*tp);
-  substitutions["backgroundTiling"] = GetNewTabBackgroundTilingCSS(*tp);
+  substitutions["backgroundPosition"] = GetNewTabBackgroundPositionCSS(tp);
+  substitutions["backgroundTiling"] = GetNewTabBackgroundTilingCSS(tp);
 
   // Get our template.
   static const base::NoDestructor<scoped_refptr<base::RefCountedMemory>>
@@ -464,8 +458,8 @@
   const ui::NativeTheme* native_theme = webui::GetNativeTheme(web_contents);
   DCHECK(native_theme);
 
-  const ui::ThemeProvider* tp = webui::GetThemeProvider(web_contents);
-  DCHECK(tp);
+  const ui::ThemeProvider& tp =
+      ThemeService::GetThemeProviderForProfile(profile_);
   const ui::ColorProvider& cp = web_contents->GetColorProvider();
 
   // Get our theme colors.
@@ -490,8 +484,8 @@
       color_utils::SkColorToRgbaString(color_background);
   substitutions["colorLink"] = color_utils::SkColorToRgbString(
       GetThemeColor(native_theme, cp, kColorNewTabPageLink));
-  substitutions["backgroundPosition"] = GetNewTabBackgroundPositionCSS(*tp);
-  substitutions["backgroundTiling"] = GetNewTabBackgroundTilingCSS(*tp);
+  substitutions["backgroundPosition"] = GetNewTabBackgroundPositionCSS(tp);
+  substitutions["backgroundTiling"] = GetNewTabBackgroundTilingCSS(tp);
   substitutions["colorTextRgba"] = color_utils::SkColorToRgbaString(color_text);
   substitutions["colorTextLight"] =
       color_utils::SkColorToRgbaString(color_text_light);
@@ -502,7 +496,7 @@
   // For themes that right-align the background, we flip the attribution to the
   // left to avoid conflicts.
   int alignment =
-      tp->GetDisplayProperty(ThemeProperties::NTP_BACKGROUND_ALIGNMENT);
+      tp.GetDisplayProperty(ThemeProperties::NTP_BACKGROUND_ALIGNMENT);
   if (alignment & ThemeProperties::ALIGN_RIGHT) {
     substitutions["leftAlignAttribution"] = "0";
     substitutions["rightAlignAttribution"] = "auto";
@@ -514,7 +508,7 @@
   }
 
   substitutions["displayAttribution"] =
-      tp->HasCustomImage(IDR_THEME_NTP_ATTRIBUTION) ? "inline" : "none";
+      tp.HasCustomImage(IDR_THEME_NTP_ATTRIBUTION) ? "inline" : "none";
 
   // Get our template.
   static const base::NoDestructor<scoped_refptr<base::RefCountedMemory>>
diff --git a/chrome/browser/url_param_filter/url_param_classifications_loader_browsertest.cc b/chrome/browser/url_param_filter/url_param_classifications_loader_browsertest.cc
index 0825e7b..76e3d3cb 100644
--- a/chrome/browser/url_param_filter/url_param_classifications_loader_browsertest.cc
+++ b/chrome/browser/url_param_filter/url_param_classifications_loader_browsertest.cc
@@ -91,8 +91,7 @@
     FeatureDisabled_NoClassificationsLoaded) {
   // ClassificationLoader has no classifications since the feature is
   // disabled.
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
 // Feature fully disabled, component installed.
@@ -119,8 +118,7 @@
     FeatureDisabled_NoClassificationsLoaded) {
   // ClassificationLoader has no classifications since the feature is
   // disabled.
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
 // Feature enabled without params, component not installed.
@@ -137,8 +135,7 @@
     NeitherSourceProvidesClassifications_NoClassificationsLoaded) {
   // ClassificationLoader has no classifications since neither feature
   // classifications nor Component Updater classifications were provided.
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
 // Feature enabled without params, component installed.
@@ -165,18 +162,15 @@
   // Since no feature classifications are provided, the expected
   // classifications should be the component classifications.
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("source.test",
+          Pair(SourceKey("source.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock_src",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(
-          Pair("dest.test",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey("dest.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
@@ -204,8 +198,7 @@
     NeitherSourceProvidesClassifications) {
   // ClassificationLoader has no classifications since neither feature
   // classifications nor Component Updater classifications were provided.
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
 INSTANTIATE_TEST_CASE_P(
@@ -244,20 +237,17 @@
     LoaderUsesComponentClassifications) {
   // Since no feature classifications are provided, the expected
   // classifications should be the component classifications.
-  ClassificationMap s = loader()->GetSourceClassifications();
+  ClassificationMap s = loader()->GetClassifications();
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("source.test",
+          Pair(SourceKey("source.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock_src",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(
-          Pair("dest.test",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey("dest.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
@@ -294,18 +284,15 @@
     LoaderUsesClassificationsFromFeature) {
   // ClassificationLoader uses the feature parameters
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("feature-src.test",
+          Pair(SourceKey("feature-src.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(
-          Pair("feature-dst.test",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey("feature-dst.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
@@ -346,18 +333,15 @@
   // Since both feature and component classifications are provided, the feature
   // classifications take precedence.
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("feature-src.test",
+          Pair(SourceKey("feature-src.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(
-          Pair("feature-dst.test",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey("feature-dst.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
@@ -389,18 +373,15 @@
   // Since both feature and component classifications are provided, the feature
   // classifications take precedence.
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("feature-src.test",
+          Pair(SourceKey("feature-src.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(
-          Pair("feature-dst.test",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey("feature-dst.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
@@ -449,18 +430,15 @@
   // Since both feature and component classifications are provided, the feature
   // classifications take precedence.
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("feature-src.test",
+          Pair(SourceKey("feature-src.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(
-          Pair("feature-dst.test",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey("feature-dst.test"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
diff --git a/chrome/browser/url_param_filter/url_param_filter_browsertest.cc b/chrome/browser/url_param_filter/url_param_filter_browsertest.cc
index 745f2e2..3501c0bf 100644
--- a/chrome/browser/url_param_filter/url_param_filter_browsertest.cc
+++ b/chrome/browser/url_param_filter/url_param_filter_browsertest.cc
@@ -1080,6 +1080,7 @@
     // rules above are ignored.
     AddClassification(classifications.add_classifications(), "foo.com",
                       FilterClassification_SiteRole_SOURCE,
+                      FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
                       {"plzblockexperiment"}, {}, {dummy_experiment});
 
     component_updater::UrlParamClassificationComponentInstallerPolicy::
@@ -1169,14 +1170,17 @@
     // expected.
     FilterClassifications classifications;
     AddClassification(classifications.add_classifications(), "foo.com",
-                      FilterClassification_SiteRole_SOURCE, {"plzblock1"}, {},
-                      {kDefaultTag, dummy_experiment});
+                      FilterClassification_SiteRole_SOURCE,
+                      FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
+                      {"plzblock1"}, {}, {kDefaultTag, dummy_experiment});
     AddClassification(classifications.add_classifications(), "127.0.0.1",
                       FilterClassification_SiteRole_DESTINATION,
+                      FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
                       {"plzblock", "plzblockredirect"}, {},
                       {kDefaultTag, dummy_experiment});
     AddClassification(classifications.add_classifications(), "foo.com",
                       FilterClassification_SiteRole_SOURCE,
+                      FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
                       {"plzblockexperiment"}, {}, {dummy_experiment});
 
     component_updater::UrlParamClassificationComponentInstallerPolicy::
diff --git a/chrome/build/linux.pgo.txt b/chrome/build/linux.pgo.txt
index 53e51099..1cf2f88 100644
--- a/chrome/build/linux.pgo.txt
+++ b/chrome/build/linux.pgo.txt
@@ -1 +1 @@
-chrome-linux-main-1659322102-50c3900492b93fd0972f5fa98cb5e6e9db8c0453.profdata
+chrome-linux-main-1659376786-b058dceac3f82448c682c1d8ccfb02bf2c77a4c3.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt
index abc6358..9ffb8ac6 100644
--- a/chrome/build/mac-arm.pgo.txt
+++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@
-chrome-mac-arm-main-1659322102-4c477cf63904c1ecf770887fddea39e7d1971e63.profdata
+chrome-mac-arm-main-1659376786-4a669bef463f40eaa50c1b83986ee7ebf9a2bcf5.profdata
diff --git a/chrome/build/mac.pgo.txt b/chrome/build/mac.pgo.txt
index 2bdf9de..3bd70f8 100644
--- a/chrome/build/mac.pgo.txt
+++ b/chrome/build/mac.pgo.txt
@@ -1 +1 @@
-chrome-mac-main-1659310518-4638827bcd92c9310fb5759ab030d0f3dc4fe6d2.profdata
+chrome-mac-main-1659376786-78637f2ed6d0b2ca63a62534d59747fbf39eb645.profdata
diff --git a/chrome/build/win32.pgo.txt b/chrome/build/win32.pgo.txt
index 319ba65e..09d4601 100644
--- a/chrome/build/win32.pgo.txt
+++ b/chrome/build/win32.pgo.txt
@@ -1 +1 @@
-chrome-win32-main-1659365926-2002a751bbf30a269cfe2a2abec0b7e6948fb6b5.profdata
+chrome-win32-main-1659386929-2e760f067abd284ca695c24bd397465aa8770241.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index 2036335..25c4c66 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-main-1659365926-8f524bc257feeb34404a90254169f0409906c0ed.profdata
+chrome-win64-main-1659386929-caa903b1eae5b3ec509b8e3551cd7a1463d9af17.profdata
diff --git a/chrome/installer/util/BUILD.gn b/chrome/installer/util/BUILD.gn
index 1d98d6d..e5237822f 100644
--- a/chrome/installer/util/BUILD.gn
+++ b/chrome/installer/util/BUILD.gn
@@ -376,4 +376,15 @@
       "//chrome/test/data/installer/",
     ]
   }
+
+  source_set("interactive_ui_tests") {
+    testonly = true
+    sources = [ "shell_util_interactive_uitest.cc" ]
+    deps = [
+      ":with_no_strings",
+      "//base",
+      "//base/test:test_support",
+      "//testing/gtest",
+    ]
+  }
 }  # is_win
diff --git a/chrome/installer/util/shell_util.cc b/chrome/installer/util/shell_util.cc
index 5492f84..9b8ac75 100644
--- a/chrome/installer/util/shell_util.cc
+++ b/chrome/installer/util/shell_util.cc
@@ -42,11 +42,13 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/synchronization/atomic_flag.h"
 #include "base/values.h"
+#include "base/win/access_token.h"
 #include "base/win/default_apps_util.h"
 #include "base/win/pe_image.h"
 #include "base/win/registry.h"
 #include "base/win/scoped_co_mem.h"
 #include "base/win/shortcut.h"
+#include "base/win/sid.h"
 #include "base/win/win_util.h"
 #include "base/win/windows_version.h"
 #include "chrome/common/chrome_constants.h"
@@ -95,6 +97,8 @@
 
 const wchar_t kReinstallCommand[] = L"ReinstallCommand";
 
+constexpr wchar_t kRegHash[] = L"Hash";
+
 const wchar_t kRegProgId[] = L"ProgId";
 
 const wchar_t kFilePathSeparator[] = L"\\";
@@ -1675,6 +1679,37 @@
   return ShellUtil::DeleteApplicationClass(prog_id);
 }
 
+std::wstring GetSID() {
+  std::wstring result;
+  absl::optional<base::win::AccessToken> current_process =
+      base::win::AccessToken::FromProcess(GetCurrentProcess(), false);
+  if (!current_process)
+    return result;
+
+  absl::optional<std::wstring> sid = current_process->User().ToSddlString();
+  if (!sid)
+    return result;
+
+  result = std::move(*sid);
+  return result;
+}
+
+std::wstring GetCurrentDateTimeForHashing() {
+  SYSTEMTIME system_time;
+  ::GetSystemTime(&system_time);
+  // The user choice hash function uses the registry write time as an input into
+  // the hash function. Considering only time down to the minute significantly
+  // increases the chance that the computed hash and registry write time are the
+  // same. If the registry write occurs near a minute boundary, the hash will
+  // likely need to be recomputed and rewritten.
+  system_time.wSecond = 0;
+  system_time.wMilliseconds = 0;
+  FILETIME file_time;
+  ::SystemTimeToFileTime(&system_time, &file_time);
+  return base::StringPrintf(L"%08lx%08lx", file_time.dwHighDateTime,
+                            file_time.dwLowDateTime);
+}
+
 // The user choice hash function uses a shell32 wide string as a salt. This
 // function attempts to extract that string.
 std::wstring GetShellUserChoiceSalt() {
@@ -1793,6 +1828,54 @@
       base::span<uint8_t>(reinterpret_cast<uint8_t*>(input), sizeof(input))));
 }
 
+bool IsUserChoiceHashValid(const base::win::RegKey& user_choice_reg_key,
+                           const std::wstring& extension,
+                           const std::wstring& sid,
+                           const std::wstring& prog_id,
+                           const std::wstring& salt) {
+  // Manually validate the hash instead of using
+  // IApplicationAssociationRegistration because
+  // IApplicationAssociationRegistration may trigger a UI notification and reset
+  // all of the defaults upon encountering an invalid hash.
+  FILETIME last_write_time = user_choice_reg_key.GetLastWriteTime();
+  SYSTEMTIME last_write_system_time;
+  ::FileTimeToSystemTime(&last_write_time, &last_write_system_time);
+  // The hash computation aligns the time to minute boundaries.
+  last_write_system_time.wSecond = 0;
+  last_write_system_time.wMilliseconds = 0;
+  ::SystemTimeToFileTime(&last_write_system_time, &last_write_time);
+  std::wstring last_write_time_string =
+      base::StringPrintf(L"%08lx%08lx", last_write_time.dwHighDateTime,
+                         last_write_time.dwLowDateTime);
+  std::wstring current_hash;
+  if (user_choice_reg_key.ReadValue(kRegHash, &current_hash) != ERROR_SUCCESS)
+    return false;
+
+  std::wstring expected_hash = ComputeUserChoiceHash(
+      extension, sid, prog_id, last_write_time_string, salt);
+  return current_hash == expected_hash;
+}
+
+bool WriteUserChoiceValues(base::win::RegKey& user_choice_reg_key,
+                           const std::wstring& extension,
+                           const std::wstring& sid,
+                           const std::wstring& prog_id,
+                           const std::wstring& salt) {
+  // Allow 5 retries in the event the hash is computed near a minute boundary.
+  for (int i = 0; i < 5; ++i) {
+    std::wstring datetime = GetCurrentDateTimeForHashing();
+    std::wstring hash =
+        ComputeUserChoiceHash(extension, sid, prog_id, datetime, salt);
+    user_choice_reg_key.WriteValue(kRegHash, hash.c_str());
+    user_choice_reg_key.WriteValue(kRegProgId, prog_id.c_str());
+    if (IsUserChoiceHashValid(user_choice_reg_key, extension, sid, prog_id,
+                              salt)) {
+      return true;
+    }
+  }
+  return false;
+}
+
 // ScopedPIDLFromPath class, and the idea of using IPinnedList3::Modify,
 // are thanks to Gee Law <https://geelaw.blog/entries/msedge-pins/>
 class ScopedPIDLFromPath {
@@ -2381,6 +2464,75 @@
   return ret;
 }
 
+bool ShellUtil::MakeChromeDefaultDirectly(int shell_change,
+                                          const base::FilePath& chrome_exe,
+                                          bool elevate_if_not_admin) {
+  DCHECK(!(shell_change & SYSTEM_LEVEL) || IsUserAnAdmin());
+
+  if (base::win::GetVersion() < base::win::Version::WIN10)
+    return false;
+
+  if (!install_static::SupportsSetAsDefaultBrowser())
+    return false;
+
+  if (!RegisterChromeBrowser(chrome_exe, std::wstring(),
+                             elevate_if_not_admin)) {
+    return false;
+  }
+
+  std::wstring suffix;
+  if (!GetInstallationSpecificSuffix(chrome_exe, &suffix))
+    return false;
+
+  std::wstring prog_id = GetBrowserProgId(suffix);
+
+  std::wstring sid = GetSID();
+  if (sid.empty())
+    return false;
+
+  std::wstring shell_salt = GetShellUserChoiceSalt();
+  if (shell_salt.empty())
+    return false;
+
+  base::win::RegKey url_associations_key(
+      HKEY_CURRENT_USER,
+      L"SOFTWARE\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations",
+      KEY_READ | KEY_WRITE);
+  for (size_t i = 0; kBrowserProtocolAssociations[i] != nullptr; ++i) {
+    std::wstring subkey_path(
+        base::StrCat({kBrowserProtocolAssociations[i], L"\\UserChoice"}));
+    // Deleting the key works around the deny set value ACL on UserChoice.
+    url_associations_key.DeleteKey(subkey_path.c_str());
+    base::win::RegKey key(url_associations_key.Handle(), subkey_path.c_str(),
+                          KEY_READ | KEY_WRITE);
+    if (!WriteUserChoiceValues(key, kBrowserProtocolAssociations[i], sid,
+                               prog_id, shell_salt)) {
+      return false;
+    }
+  }
+
+  base::win::RegKey file_extensions_key(
+      HKEY_CURRENT_USER,
+      L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts",
+      KEY_READ | KEY_WRITE);
+  for (size_t i = 0; kDefaultFileAssociations[i] != nullptr; ++i) {
+    std::wstring subkey_path(
+        base::StrCat({kDefaultFileAssociations[i], L"\\UserChoice"}));
+    // Deleting the key works around the deny set value ACL on UserChoice.
+    file_extensions_key.DeleteKey(subkey_path.c_str());
+    base::win::RegKey key(file_extensions_key.Handle(), subkey_path.c_str(),
+                          KEY_READ | KEY_WRITE);
+    if (!WriteUserChoiceValues(key, kDefaultFileAssociations[i], sid, prog_id,
+                               shell_salt)) {
+      return false;
+    }
+  }
+
+  ::SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nullptr, nullptr);
+
+  return true;
+}
+
 // static
 bool ShellUtil::LaunchUninstallAppsSettings() {
   DCHECK_GE(base::win::GetVersion(), base::win::Version::WIN10);
@@ -3079,25 +3231,6 @@
 }
 
 // static
-std::array<uint32_t, 4> ShellUtil::ComputeHashForTesting(
-    base::span<const uint8_t> input) {
-  return ComputeHash(input);
-}
-
-// static
-std::wstring ShellUtil::ComputeUserChoiceHashForTesting(
-    const std::wstring& extension,
-    const std::wstring& sid,
-    const std::wstring& prog_id,
-    const std::wstring& datetime) {
-  std::wstring shell_salt = GetShellUserChoiceSalt();
-  if (shell_salt.empty())
-    return std::wstring();
-
-  return ComputeUserChoiceHash(extension, sid, prog_id, datetime, shell_salt);
-}
-
-// static
 bool ShellUtil::PinShortcut(const base::FilePath& shortcut) {
   Microsoft::WRL::ComPtr<IPinnedList3> pinned_list = GetTaskbarPinnedList();
   if (!pinned_list)
@@ -3121,3 +3254,31 @@
   // S_OK means `shortcut` is pinned, S_FALSE mean it's not pinned.
   return SUCCEEDED(hr) ? absl::optional<bool>(hr == S_OK) : absl::nullopt;
 }
+
+std::array<uint32_t, 4> ShellUtil::ComputeHashForTesting(
+    base::span<const uint8_t> input) {
+  return ComputeHash(input);
+}
+
+// static
+std::wstring ShellUtil::ComputeUserChoiceHashForTesting(
+    const std::wstring& extension,
+    const std::wstring& sid,
+    const std::wstring& prog_id,
+    const std::wstring& datetime) {
+  std::wstring shell_salt = GetShellUserChoiceSalt();
+  if (shell_salt.empty())
+    return std::wstring();
+
+  return ComputeUserChoiceHash(extension, sid, prog_id, datetime, shell_salt);
+}
+
+// static
+std::wstring ShellUtil::GetCurrentProgIdForTesting(
+    const base::FilePath& chrome_exe) {
+  std::wstring suffix;
+  if (!GetInstallationSpecificSuffix(chrome_exe, &suffix))
+    return std::wstring();
+
+  return GetBrowserProgId(suffix);
+}
diff --git a/chrome/installer/util/shell_util.h b/chrome/installer/util/shell_util.h
index ae90c20..916cd11 100644
--- a/chrome/installer/util/shell_util.h
+++ b/chrome/installer/util/shell_util.h
@@ -529,16 +529,34 @@
   // TODO(benwells): Attempt to undo any changes that were successfully made.
   // http://crbug.com/83970
   //
-  // shell_change: Defined whether to register as default browser at system
+  // shell_change: Defines whether to register as default browser at system
   //               level or user level. If value has ShellChange::SYSTEM_LEVEL
   //               we should be running as admin user.
   // chrome_exe: The chrome.exe path to register as default browser.
-  // elevate_if_not_admin: On Vista if user is not admin, try to elevate for
+  // elevate_if_not_admin: On Win7 if user is not admin, try to elevate for
   //                       Chrome registration.
   static bool MakeChromeDefault(int shell_change,
                                 const base::FilePath& chrome_exe,
                                 bool elevate_if_not_admin);
 
+  // Make Chrome the default browser on Windows 10. This function works by going
+  // through the url protocols and file associations that are related to general
+  // browsing, e.g. http, https, .html etc., and directly setting the relevant
+  // registry entries for each. If any of these fails the operation will return
+  // false to indicate failure, which is consistent with the return value of
+  // shell_integration::GetDefaultBrowser. This function will also return false
+  // if it can't set the default directly on the current platform.
+  //
+  // shell_change: Defines whether to register as default browser at system
+  //               level or user level. If value has ShellChange::SYSTEM_LEVEL
+  //               we should be running as admin user.
+  // chrome_exe: The chrome.exe path to register as default browser.
+  // elevate_if_not_admin: If user is not admin, try to elevate for
+  //                       Chrome registration.
+  static bool MakeChromeDefaultDirectly(int shell_change,
+                                        const base::FilePath& chrome_exe,
+                                        bool elevate_if_not_admin);
+
   // Opens the Apps & Features page in the Windows settings in branded builds.
   //
   // This function DCHECKS that it is only called on Windows 10 or higher.
@@ -851,15 +869,6 @@
       const std::vector<std::unique_ptr<RegistryEntry>>& entries,
       bool best_effort_no_rollback = false);
 
-  static std::array<uint32_t, 4> ComputeHashForTesting(
-      base::span<const uint8_t> input);
-
-  static std::wstring ComputeUserChoiceHashForTesting(
-      const std::wstring& extension,
-      const std::wstring& sid,
-      const std::wstring& prog_id,
-      const std::wstring& datetime);
-
   // Use IPinnedList3 to pin shortcut to taskbar on WIN10_RS5 and above.
   // Returns true if pinning was successful.
   static bool PinShortcut(const base::FilePath& shortcut);
@@ -869,6 +878,18 @@
   // this on the Browser UI thread since it calls CoCreateInstance, which can
   // cause jank.
   static absl::optional<bool> IsShortcutPinned(const base::FilePath& shortcut);
+
+  static std::array<uint32_t, 4> ComputeHashForTesting(
+      base::span<const uint8_t> input);
+
+  static std::wstring ComputeUserChoiceHashForTesting(
+      const std::wstring& extension,
+      const std::wstring& sid,
+      const std::wstring& prog_id,
+      const std::wstring& datetime);
+
+  static std::wstring GetCurrentProgIdForTesting(
+      const base::FilePath& chrome_exe);
 };
 
 #endif  // CHROME_INSTALLER_UTIL_SHELL_UTIL_H_
diff --git a/chrome/installer/util/shell_util_interactive_uitest.cc b/chrome/installer/util/shell_util_interactive_uitest.cc
new file mode 100644
index 0000000..3af0f07
--- /dev/null
+++ b/chrome/installer/util/shell_util_interactive_uitest.cc
@@ -0,0 +1,179 @@
+// Copyright 2022 The Chromium 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/installer/util/shell_util.h"
+
+#include <shobjidl.h>
+#include <stddef.h>
+#include <wrl/client.h>
+
+#include <string>
+
+#include "base/files/scoped_temp_dir.h"
+#include "base/guid.h"
+#include "base/strings/strcat.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/test/test_reg_util_win.h"
+#include "base/win/com_init_util.h"
+#include "base/win/registry.h"
+#include "base/win/scoped_co_mem.h"
+#include "base/win/windows_version.h"
+#include "chrome/installer/util/util_constants.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+std::wstring GetCurrentDefault(
+    IApplicationAssociationRegistration* registration,
+    const wchar_t* query,
+    ASSOCIATIONTYPE query_type,
+    ASSOCIATIONLEVEL query_level) {
+  base::win::ScopedCoMem<wchar_t> current_app;
+  if (FAILED(registration->QueryCurrentDefault(query, query_type, query_level,
+                                               &current_app))) {
+    return std::wstring();
+  }
+  return current_app.get();
+}
+
+// Copies one registry key to another location, preserving the destination and
+// restoring it at destruction.
+class ScopedCopyRegKey {
+ public:
+  // |to| must outlive this object.
+  ScopedCopyRegKey(const base::win::RegKey& from,
+                   base::win::RegKey& to,
+                   const wchar_t* key)
+      : to_(to), key_(key) {
+    base::win::RegKey exists_key(to_.Handle(), key_.c_str(),
+                                 KEY_READ | KEY_WRITE);
+    if (exists_key.Valid()) {
+      temp_key_name_ =
+          base::StrCat({L"Temp-", base::ASCIIToWide(base::GenerateGUID())});
+      LONG result =
+          RegRenameKey(to_.Handle(), key_.c_str(), temp_key_name_.c_str());
+      if (result != ERROR_SUCCESS) {
+        ADD_FAILURE() << "Registry Initial Rename Failed " << result;
+        temp_key_name_.clear();
+        return;
+      }
+    }
+
+    base::win::RegKey orig_key(from.Handle(), key_.c_str(), KEY_READ);
+    base::win::RegKey dest_key(to_.Handle(), key_.c_str(), KEY_WRITE);
+    CopyRecursively(orig_key, dest_key);
+    copied_ = true;
+  }
+
+  ~ScopedCopyRegKey() {
+    if (copied_)
+      to_.DeleteKey(key_.c_str());
+
+    if (!temp_key_name_.empty()) {
+      LONG result =
+          RegRenameKey(to_.Handle(), temp_key_name_.c_str(), key_.c_str());
+      if (result != ERROR_SUCCESS)
+        ADD_FAILURE() << "Registry Restore Rename Failed " << result;
+    }
+  }
+
+ private:
+  static void CopyRecursively(const base::win::RegKey& from,
+                              base::win::RegKey& to) {
+    for (base::win::RegistryValueIterator value_iter(from.Handle(), L"");
+         value_iter.Valid(); ++value_iter) {
+      to.WriteValue(value_iter.Name(), value_iter.Value(),
+                    value_iter.ValueSize(), value_iter.Type());
+    }
+
+    for (base::win::RegistryKeyIterator key_iter(from.Handle(), L"");
+         key_iter.Valid(); ++key_iter) {
+      const wchar_t* subkey_name = key_iter.Name();
+      base::win::RegKey orig_key(from.Handle(), subkey_name, KEY_READ);
+      base::win::RegKey dest_key(to.Handle(), subkey_name, KEY_WRITE);
+      CopyRecursively(orig_key, dest_key);
+    }
+  }
+
+  // This RegKey must outlive this class.
+  base::win::RegKey& to_;
+  std::wstring key_;
+  std::wstring temp_key_name_;
+  bool copied_ = false;
+};
+
+}  // namespace
+
+TEST(ShellUtilInteractiveTest, MakeChromeDefaultDirectly) {
+  // Direct default setting is only supported on Win10 or above.
+  if (base::win::GetVersion() < base::win::Version::WIN10)
+    GTEST_SKIP();
+
+  base::win::AssertComInitialized();
+
+  base::ScopedTempDir temp_dir;
+  ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
+  // Saving the underlying HKCU\Software\Classes to forward reads from HKCR.
+  base::win::RegKey original_hkcu_classes(
+      HKEY_CURRENT_USER, L"Software\\Classes", KEY_READ | KEY_WRITE);
+  registry_util::RegistryOverrideManager registry_overrides;
+  ASSERT_NO_FATAL_FAILURE(
+      registry_overrides.OverrideRegistry(HKEY_CURRENT_USER));
+
+  Microsoft::WRL::ComPtr<IApplicationAssociationRegistration> registration;
+  ASSERT_HRESULT_SUCCEEDED(
+      ::CoCreateInstance(CLSID_ApplicationAssociationRegistration, nullptr,
+                         CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&registration)));
+
+  // IApplicationAssociationRegistration::SetAppAsDefault only works for
+  // "MSEdgeHTM" for http, https, .htm, and .html on Win10+ and serves as a
+  // convenient initial environment setup for this test.
+  //
+  // However, some environments may not have MSEdgeHTM available, so the checks
+  // below simply check that the current default isn't the prog id for testing,
+  // which is sufficient for this test.
+  ASSERT_HRESULT_SUCCEEDED(
+      registration->SetAppAsDefault(L"MSEdgeHTM", L"http", AT_URLPROTOCOL));
+  ASSERT_HRESULT_SUCCEEDED(
+      registration->SetAppAsDefault(L"MSEdgeHTM", L"https", AT_URLPROTOCOL));
+  ASSERT_HRESULT_SUCCEEDED(
+      registration->SetAppAsDefault(L"MSEdgeHTM", L".htm", AT_FILEEXTENSION));
+  ASSERT_HRESULT_SUCCEEDED(
+      registration->SetAppAsDefault(L"MSEdgeHTM", L".html", AT_FILEEXTENSION));
+
+  base::FilePath chrome_exe(temp_dir.GetPath().Append(installer::kChromeExe));
+  std::wstring prog_id = ShellUtil::GetCurrentProgIdForTesting(chrome_exe);
+
+  ASSERT_NE(prog_id, GetCurrentDefault(registration.Get(), L"http",
+                                       AT_URLPROTOCOL, AL_EFFECTIVE));
+  ASSERT_NE(prog_id, GetCurrentDefault(registration.Get(), L"https",
+                                       AT_URLPROTOCOL, AL_EFFECTIVE));
+  ASSERT_NE(prog_id, GetCurrentDefault(registration.Get(), L".htm",
+                                       AT_FILEEXTENSION, AL_EFFECTIVE));
+  ASSERT_NE(prog_id, GetCurrentDefault(registration.Get(), L".html",
+                                       AT_FILEEXTENSION, AL_EFFECTIVE));
+
+  ASSERT_TRUE(ShellUtil::MakeChromeDefaultDirectly(ShellUtil::CURRENT_USER,
+                                                   chrome_exe, false));
+
+  // The following may query HKEY_CLASSES_ROOT for the progid, which merges
+  // HKEY_CURERNT_USER and HKEY_LOCAL_MACHINE on the backend and bypasses the
+  // RegistryOverrideManager redirect. This test will copy selected regkeys
+  // to the underlying HKCU if necessary for correct functionality.
+  base::win::RegKey redirected_hkcu_classes(HKEY_CURRENT_USER,
+                                            L"Software\\Classes", KEY_READ);
+  ScopedCopyRegKey copy_regkey(redirected_hkcu_classes, original_hkcu_classes,
+                               prog_id.c_str());
+
+  // If the expectations fail below, the default browser mechanism has changed
+  // and will need to be reexamined.
+  EXPECT_EQ(prog_id, GetCurrentDefault(registration.Get(), L"http",
+                                       AT_URLPROTOCOL, AL_EFFECTIVE));
+  EXPECT_EQ(prog_id, GetCurrentDefault(registration.Get(), L"https",
+                                       AT_URLPROTOCOL, AL_EFFECTIVE));
+  EXPECT_EQ(prog_id, GetCurrentDefault(registration.Get(), L".htm",
+                                       AT_FILEEXTENSION, AL_EFFECTIVE));
+  EXPECT_EQ(prog_id, GetCurrentDefault(registration.Get(), L".html",
+                                       AT_FILEEXTENSION, AL_EFFECTIVE));
+}
diff --git a/chrome/renderer/media/chrome_key_systems.cc b/chrome/renderer/media/chrome_key_systems.cc
index 11cade39..732260f 100644
--- a/chrome/renderer/media/chrome_key_systems.cc
+++ b/chrome/renderer/media/chrome_key_systems.cc
@@ -221,7 +221,7 @@
 #if BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
       case media::VideoCodec::kDolbyVision:
         supported_codecs |=
-            GetDolbyVisionCodecs(video_codec_info.video_codec_profiles);
+            GetDolbyVisionCodecs(video_codec_info.supported_profiles);
         break;
 #endif  // BUILDFLAG(ENABLE_PLATFORM_DOLBY_VISION)
       default:
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index dfff7a4a..abb36da 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -2236,6 +2236,7 @@
       "../browser/ui/views/webid/fedcm_account_selection_view_desktop_browsertest.cc",
       "../browser/ui/views/webview_accessibility_browsertest.cc",
       "../browser/ui/webauthn/authenticator_dialog_browsertest.cc",
+      "../browser/ui/webui/access_code_cast/access_code_cast_dialog_browsertest.cc",
       "../browser/ui/webui/access_code_cast/access_code_cast_handler_browsertest.cc",
       "../browser/ui/webui/app_service_internals/app_service_internals_browsertest.cc",
       "../browser/ui/webui/autofill_and_password_manager_internals/autofill_internals_ui_browsertest.cc",
@@ -5179,6 +5180,7 @@
     "../browser/file_select_helper_unittest.cc",
     "../browser/file_system_access/chrome_file_system_access_permission_context_unittest.cc",
     "../browser/first_party_sets/first_party_sets_overrides_policy_handler_unittest.cc",
+    "../browser/first_party_sets/first_party_sets_policy_service_factory_unittest.cc",
     "../browser/font_pref_change_notifier_unittest.cc",
     "../browser/geolocation/geolocation_permission_context_delegate_unittest.cc",
     "../browser/google/google_search_domain_mixing_metrics_emitter_factory_unittest.cc",
@@ -6466,6 +6468,7 @@
       "../browser/enterprise/signals/client_certificate_fetcher_unittest.cc",
       "../browser/first_run/first_run_unittest.cc",
       "../browser/font_family_cache_unittest.cc",
+      "../browser/hid/chrome_hid_delegate_unittest.cc",
       "../browser/hid/hid_chooser_context_unittest.cc",
       "../browser/hid/hid_policy_allowed_devices_unittest.cc",
       "../browser/importer/profile_writer_unittest.cc",
@@ -9619,6 +9622,7 @@
         "//chrome/app:chrome_dll_resources",
         "//chrome/elevation_service:public_headers",
         "//chrome/install_static:install_static_util",
+        "//chrome/installer/util:interactive_ui_tests",
         "//chrome/installer/util:strings",
         "//third_party/isimpledom",
         "//third_party/webrtc_overrides:webrtc_component",
diff --git a/chrome/test/chromedriver/chrome/stub_web_view.cc b/chrome/test/chromedriver/chrome/stub_web_view.cc
index c7fbd72..5f6c972 100644
--- a/chrome/test/chromedriver/chrome/stub_web_view.cc
+++ b/chrome/test/chromedriver/chrome/stub_web_view.cc
@@ -88,14 +88,14 @@
 
 Status StubWebView::CallFunction(const std::string& frame,
                                  const std::string& function,
-                                 const base::ListValue& args,
+                                 const base::Value::List& args,
                                  std::unique_ptr<base::Value>* result) {
   return Status(kOk);
 }
 
 Status StubWebView::CallAsyncFunction(const std::string& frame,
                                       const std::string& function,
-                                      const base::ListValue& args,
+                                      const base::Value::List& args,
                                       const base::TimeDelta& timeout,
                                       std::unique_ptr<base::Value>* result) {
   return Status(kOk);
@@ -104,7 +104,7 @@
 Status StubWebView::CallUserAsyncFunction(
     const std::string& frame,
     const std::string& function,
-    const base::ListValue& args,
+    const base::Value::List& args,
     const base::TimeDelta& timeout,
     std::unique_ptr<base::Value>* result) {
   return Status(kOk);
@@ -112,7 +112,7 @@
 
 Status StubWebView::CallUserSyncScript(const std::string& frame,
                                        const std::string& script,
-                                       const base::ListValue& args,
+                                       const base::Value::List& args,
                                        const base::TimeDelta& timeout,
                                        std::unique_ptr<base::Value>* result) {
   return Status(kOk);
@@ -120,7 +120,7 @@
 
 Status StubWebView::GetFrameByFunction(const std::string& frame,
                                        const std::string& function,
-                                       const base::ListValue& args,
+                                       const base::Value::List& args,
                                        std::string* out_frame) {
   return Status(kOk);
 }
diff --git a/chrome/test/chromedriver/chrome/stub_web_view.h b/chrome/test/chromedriver/chrome/stub_web_view.h
index f51c54b..6b9a96f 100644
--- a/chrome/test/chromedriver/chrome/stub_web_view.h
+++ b/chrome/test/chromedriver/chrome/stub_web_view.h
@@ -42,26 +42,26 @@
                         std::unique_ptr<base::Value>* result) override;
   Status CallFunction(const std::string& frame,
                       const std::string& function,
-                      const base::ListValue& args,
+                      const base::Value::List& args,
                       std::unique_ptr<base::Value>* result) override;
   Status CallAsyncFunction(const std::string& frame,
                            const std::string& function,
-                           const base::ListValue& args,
+                           const base::Value::List& args,
                            const base::TimeDelta& timeout,
                            std::unique_ptr<base::Value>* result) override;
   Status CallUserAsyncFunction(const std::string& frame,
                                const std::string& function,
-                               const base::ListValue& args,
+                               const base::Value::List& args,
                                const base::TimeDelta& timeout,
                                std::unique_ptr<base::Value>* result) override;
   Status CallUserSyncScript(const std::string& frame,
                             const std::string& script,
-                            const base::ListValue& args,
+                            const base::Value::List& args,
                             const base::TimeDelta& timeout,
                             std::unique_ptr<base::Value>* result) override;
   Status GetFrameByFunction(const std::string& frame,
                             const std::string& function,
-                            const base::ListValue& args,
+                            const base::Value::List& args,
                             std::string* out_frame) override;
   Status DispatchMouseEvents(const std::vector<MouseEvent>& events,
                              const std::string& frame,
diff --git a/chrome/test/chromedriver/chrome/web_view.h b/chrome/test/chromedriver/chrome/web_view.h
index 923a2161..848df22 100644
--- a/chrome/test/chromedriver/chrome/web_view.h
+++ b/chrome/test/chromedriver/chrome/web_view.h
@@ -9,11 +9,11 @@
 #include <string>
 #include <vector>
 
+#include "base/values.h"
 
 namespace base {
 class DictionaryValue;
 class FilePath;
-class ListValue;
 class TimeDelta;
 class Value;
 }
@@ -105,7 +105,7 @@
   // |result| will never be NULL on success.
   virtual Status CallFunction(const std::string& frame,
                               const std::string& function,
-                              const base::ListValue& args,
+                              const base::Value::List& args,
                               std::unique_ptr<base::Value>* result) = 0;
 
   // Calls a JavaScript function in a specified frame with the given args and
@@ -115,7 +115,7 @@
   // |result| will never be NULL on success.
   virtual Status CallAsyncFunction(const std::string& frame,
                                    const std::string& function,
-                                   const base::ListValue& args,
+                                   const base::Value::List& args,
                                    const base::TimeDelta& timeout,
                                    std::unique_ptr<base::Value>* result) = 0;
 
@@ -126,7 +126,7 @@
   virtual Status CallUserAsyncFunction(
       const std::string& frame,
       const std::string& function,
-      const base::ListValue& args,
+      const base::Value::List& args,
       const base::TimeDelta& timeout,
       std::unique_ptr<base::Value>* result) = 0;
 
@@ -136,7 +136,7 @@
   // |result| will never be NULL on success.
   virtual Status CallUserSyncScript(const std::string& frame,
                                     const std::string& script,
-                                    const base::ListValue& args,
+                                    const base::Value::List& args,
                                     const base::TimeDelta& timeout,
                                     std::unique_ptr<base::Value>* result) = 0;
 
@@ -145,7 +145,7 @@
   // frame.
   virtual Status GetFrameByFunction(const std::string& frame,
                                     const std::string& function,
-                                    const base::ListValue& args,
+                                    const base::Value::List& args,
                                     std::string* out_frame) = 0;
 
   // Dispatch a sequence of mouse events.
diff --git a/chrome/test/chromedriver/chrome/web_view_impl.cc b/chrome/test/chromedriver/chrome/web_view_impl.cc
index 7d506b6..e67cb1f 100644
--- a/chrome/test/chromedriver/chrome/web_view_impl.cc
+++ b/chrome/test/chromedriver/chrome/web_view_impl.cc
@@ -608,7 +608,7 @@
 Status WebViewImpl::CallFunctionWithTimeout(
     const std::string& frame,
     const std::string& function,
-    const base::ListValue& args,
+    const base::Value::List& args,
     const base::TimeDelta& timeout,
     std::unique_ptr<base::Value>* result) {
   std::string json;
@@ -631,7 +631,7 @@
 
 Status WebViewImpl::CallFunction(const std::string& frame,
                                  const std::string& function,
-                                 const base::ListValue& args,
+                                 const base::Value::List& args,
                                  std::unique_ptr<base::Value>* result) {
   // Timeout set to Max is treated as no timeout.
   return CallFunctionWithTimeout(frame, function, args, base::TimeDelta::Max(),
@@ -640,7 +640,7 @@
 
 Status WebViewImpl::CallAsyncFunction(const std::string& frame,
                                       const std::string& function,
-                                      const base::ListValue& args,
+                                      const base::Value::List& args,
                                       const base::TimeDelta& timeout,
                                       std::unique_ptr<base::Value>* result) {
   return CallAsyncFunctionInternal(
@@ -649,10 +649,10 @@
 
 Status WebViewImpl::CallUserSyncScript(const std::string& frame,
                                        const std::string& script,
-                                       const base::ListValue& args,
+                                       const base::Value::List& args,
                                        const base::TimeDelta& timeout,
                                        std::unique_ptr<base::Value>* result) {
-  base::ListValue sync_args;
+  base::Value::List sync_args;
   sync_args.Append(script);
   // Clone needed since Append only accepts Value as an rvalue.
   sync_args.Append(args.Clone());
@@ -663,7 +663,7 @@
 Status WebViewImpl::CallUserAsyncFunction(
     const std::string& frame,
     const std::string& function,
-    const base::ListValue& args,
+    const base::Value::List& args,
     const base::TimeDelta& timeout,
     std::unique_ptr<base::Value>* result) {
   return CallAsyncFunctionInternal(
@@ -672,7 +672,7 @@
 
 Status WebViewImpl::GetFrameByFunction(const std::string& frame,
                                        const std::string& function,
-                                       const base::ListValue& args,
+                                       const base::Value::List& args,
                                        std::string* out_frame) {
   WebViewImpl* target = GetTargetForFrame(this, frame);
   if (target != nullptr && target != this) {
@@ -734,16 +734,18 @@
         break;
     }
 
-    std::unique_ptr<base::ListValue> touchPoints(new base::ListValue);
+    base::Value::List touchPoints;
     if (it->type != kReleasedMouseEventType) {
       std::unique_ptr<base::DictionaryValue> touchPoint(
           new base::DictionaryValue);
       touchPoint->GetDict().Set("x", it->x);
       touchPoint->GetDict().Set("y", it->y);
-      touchPoints->Append(
+      touchPoints.Append(
           base::Value::FromUniquePtrValue(std::move(touchPoint)));
     }
-    params.SetList("touchPoints", std::move(touchPoints));
+    params.SetList("touchPoints",
+                   base::ListValue::From(
+                       std::make_unique<base::Value>(std::move(touchPoints))));
     params.GetDict().Set("modifiers", it->modifiers);
     Status status = client_->SendCommand("Input.dispatchTouchEvent", params);
     if (status.IsError())
@@ -800,7 +802,7 @@
   base::DictionaryValue params;
   std::string type = GetAsString(event.type);
   params.GetDict().Set("type", type);
-  base::ListValue point_list;
+  base::Value::List point_list;
   Status status(kOk);
   if (type == "touchStart" || type == "touchMove") {
     std::unique_ptr<base::DictionaryValue> point = GenerateTouchPoint(event);
@@ -838,7 +840,7 @@
   Status status(kOk);
   size_t touch_count = 1;
   for (const TouchEvent& event : events) {
-    base::ListValue point_list;
+    base::Value::List point_list;
     int32_t current_time =
         (base::Time::Now() - base::Time::UnixEpoch()).InMilliseconds();
     params.GetDict().Set("timestamp", current_time);
@@ -926,9 +928,11 @@
           command = "Undo";
       }
 
-      std::unique_ptr<base::ListValue> command_list(new base::ListValue);
-      command_list->Append(command);
-      params.SetList("commands", std::move(command_list));
+      base::Value::List command_list;
+      command_list.Append(command);
+      params.SetList("commands",
+                     base::ListValue::From(std::make_unique<base::Value>(
+                         std::move(command_list))));
     }
 
     if (it->location != 0) {
@@ -961,7 +965,7 @@
   base::DictionaryValue result;
 
   if (browser_info_->browser_name != "webview") {
-    base::ListValue url_list;
+    base::Value::List url_list;
     url_list.Append(current_page_url);
     params.GetDict().Set("urls", url_list.Clone());
     Status status =
@@ -1142,7 +1146,7 @@
   Status status = GetContextIdForFrame(this, frame, &context_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(element.Clone());
   bool found_node = false;
   status = internal::GetBackendNodeIdFromFunction(
@@ -1174,7 +1178,7 @@
   if (status.IsError())
     return status;
 
-  base::ListValue file_list;
+  base::Value::List file_list;
   // if the append flag is true, we need to retrieve the files that
   // already exist in the element and add them too.
   // Additionally, we need to add the old files first so that it looks
@@ -1355,11 +1359,11 @@
 Status WebViewImpl::CallAsyncFunctionInternal(
     const std::string& frame,
     const std::string& function,
-    const base::ListValue& args,
+    const base::Value::List& args,
     bool is_user_supplied,
     const base::TimeDelta& timeout,
     std::unique_ptr<base::Value>* result) {
-  base::ListValue async_args;
+  base::Value::List async_args;
   async_args.Append("return (" + function + ").apply(null, arguments);");
   async_args.Append(args.Clone());
   async_args.Append(is_user_supplied);
@@ -1387,7 +1391,7 @@
   const base::TimeDelta kOneHundredMs = base::Milliseconds(100);
 
   while (true) {
-    base::ListValue no_args;
+    base::Value::List no_args;
     std::unique_ptr<base::Value> query_value;
     status = CallFunction(frame, kQueryResult, no_args, &query_value);
     if (status.IsError()) {
@@ -1655,7 +1659,7 @@
 Status GetBackendNodeIdFromFunction(DevToolsClient* client,
                                     const std::string& context_id,
                                     const std::string& function,
-                                    const base::ListValue& args,
+                                    const base::Value::List& args,
                                     bool* found_node,
                                     int* backend_node_id,
                                     bool w3c_compliant) {
@@ -1720,7 +1724,7 @@
 Status GetFrameIdFromFunction(DevToolsClient* client,
                               const std::string& context_id,
                               const std::string& function,
-                              const base::ListValue& args,
+                              const base::Value::List& args,
                               bool* found_node,
                               std::string* frame_id,
                               bool w3c_compliant) {
diff --git a/chrome/test/chromedriver/chrome/web_view_impl.h b/chrome/test/chromedriver/chrome/web_view_impl.h
index a996845b..8bf3583 100644
--- a/chrome/test/chromedriver/chrome/web_view_impl.h
+++ b/chrome/test/chromedriver/chrome/web_view_impl.h
@@ -14,7 +14,6 @@
 
 namespace base {
 class DictionaryValue;
-class ListValue;
 class Value;
 }
 
@@ -84,31 +83,31 @@
                         std::unique_ptr<base::Value>* result) override;
   Status CallFunctionWithTimeout(const std::string& frame,
                                  const std::string& function,
-                                 const base::ListValue& args,
+                                 const base::Value::List& args,
                                  const base::TimeDelta& timeout,
                                  std::unique_ptr<base::Value>* result);
   Status CallFunction(const std::string& frame,
                       const std::string& function,
-                      const base::ListValue& args,
+                      const base::Value::List& args,
                       std::unique_ptr<base::Value>* result) override;
   Status CallAsyncFunction(const std::string& frame,
                            const std::string& function,
-                           const base::ListValue& args,
+                           const base::Value::List& args,
                            const base::TimeDelta& timeout,
                            std::unique_ptr<base::Value>* result) override;
   Status CallUserSyncScript(const std::string& frame,
                             const std::string& script,
-                            const base::ListValue& args,
+                            const base::Value::List& args,
                             const base::TimeDelta& timeout,
                             std::unique_ptr<base::Value>* result) override;
   Status CallUserAsyncFunction(const std::string& frame,
                                const std::string& function,
-                               const base::ListValue& args,
+                               const base::Value::List& args,
                                const base::TimeDelta& timeout,
                                std::unique_ptr<base::Value>* result) override;
   Status GetFrameByFunction(const std::string& frame,
                             const std::string& function,
-                            const base::ListValue& args,
+                            const base::Value::List& args,
                             std::string* out_frame) override;
   Status DispatchMouseEvents(const std::vector<MouseEvent>& events,
                              const std::string& frame,
@@ -190,7 +189,7 @@
   Status TraverseHistoryWithJavaScript(int delta);
   Status CallAsyncFunctionInternal(const std::string& frame,
                                    const std::string& function,
-                                   const base::ListValue& args,
+                                   const base::Value::List& args,
                                    bool is_user_supplied,
                                    const base::TimeDelta& timeout,
                                    std::unique_ptr<base::Value>* result);
@@ -279,14 +278,14 @@
 Status GetBackendNodeIdFromFunction(DevToolsClient* client,
                                     const std::string& context_id,
                                     const std::string& function,
-                                    const base::ListValue& args,
+                                    const base::Value::List& args,
                                     bool* found_node,
                                     int* backend_node_id,
                                     bool w3c_compliant);
 Status GetFrameIdFromFunction(DevToolsClient* client,
                               const std::string& context_id,
                               const std::string& function,
-                              const base::ListValue& args,
+                              const base::Value::List& args,
                               bool* found_node,
                               std::string* frame_id,
                               bool w3c_compliant);
diff --git a/chrome/test/chromedriver/commands_unittest.cc b/chrome/test/chromedriver/commands_unittest.cc
index 1240124b..d6ef5c7 100644
--- a/chrome/test/chromedriver/commands_unittest.cc
+++ b/chrome/test/chromedriver/commands_unittest.cc
@@ -399,7 +399,7 @@
   // Overridden from WebView:
   Status CallFunction(const std::string& frame,
                       const std::string& function,
-                      const base::ListValue& args,
+                      const base::Value::List& args,
                       std::unique_ptr<base::Value>* result) override {
     ++current_count_;
     if (scenario_ == kElementExistsTimeout ||
@@ -428,7 +428,7 @@
       *result = base::Value::ToUniquePtrValue(result_->Clone());
       frame_ = frame;
       function_ = function;
-      args_ = base::Value::ToUniquePtrValue(args.Clone());
+      args_ = std::make_unique<base::Value>(args.Clone());
     }
     return Status(kOk);
   }
@@ -619,7 +619,7 @@
   // Overridden from WebView:
   Status CallFunction(const std::string& frame,
                       const std::string& function,
-                      const base::ListValue& args,
+                      const base::Value::List& args,
                       std::unique_ptr<base::Value>* result) override {
     return Status(code_);
   }
diff --git a/chrome/test/chromedriver/element_commands.cc b/chrome/test/chromedriver/element_commands.cc
index cd814cb6..6f2e69e 100644
--- a/chrome/test/chromedriver/element_commands.cc
+++ b/chrome/test/chromedriver/element_commands.cc
@@ -131,7 +131,7 @@
     return Status(kInvalidElementState);
 
   if (!is_focused) {
-    base::ListValue args;
+    base::Value::List args;
     args.Append(CreateElement(element_id));
     std::unique_ptr<base::Value> result;
     status = web_view->CallFunction(
@@ -146,7 +146,7 @@
                          WebView* web_view,
                          const std::string& element_id,
                          const bool is_text,
-                         const base::ListValue* key_list) {
+                         const base::Value::List* key_list) {
   // If we were previously focused, we don't need to focus again.
   // But also, later we don't move the carat if we were already in focus.
   // However, non-text elements such as contenteditable elements needs to be
@@ -163,7 +163,7 @@
   // Move cursor/caret to append the input if we only just focused this
   // element. keys if element's type is text-related
   if (is_text && !wasPreviouslyFocused) {
-    base::ListValue args;
+    base::Value::List args;
     args.Append(CreateElement(element_id));
     std::unique_ptr<base::Value> result;
     Status status = web_view->CallFunction(
@@ -233,7 +233,7 @@
   if (status.IsError())
     return status;
 
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
 
   std::string currentFrameId = session->GetCurrentFrameId();
@@ -467,7 +467,7 @@
   bool is_content_editable = false;
   if (!is_text && !is_input_control) {
     std::unique_ptr<base::Value> get_content_editable;
-    base::ListValue args;
+    base::Value::List args;
     args.Append(CreateElement(element_id));
     status = web_view->CallFunction(session->GetCurrentFrameId(),
                                     "element => element.isContentEditable",
@@ -516,7 +516,7 @@
             << "\tincluding raising blur event after clearing.\n";
     isClearWarningNotified = true;
   }
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   std::unique_ptr<base::Value> result;
   return web_view->CallFunction(
@@ -533,8 +533,8 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  const base::ListValue* key_list;
-  base::ListValue key_list_local;
+  const base::Value::List* key_list;
+  base::Value::List key_list_local;
   const base::Value* text = nullptr;
   if (session->w3c_compliant) {
     text = params.FindKey("text");
@@ -543,8 +543,7 @@
     key_list_local.Append(text->Clone());
     key_list = &key_list_local;
   } else {
-    if (!params.GetList("value", &key_list))
-      return Status(kInvalidArgument, "'value' must be a list");
+    key_list = params.GetDict().FindList("value");
   }
 
   bool is_input = false;
@@ -572,7 +571,7 @@
     }
     // Compress array into a single string.
     std::string paths_string;
-    for (const base::Value& i : key_list->GetList()) {
+    for (const base::Value& i : *key_list) {
       const std::string* path_part = i.GetIfString();
       if (!path_part)
         return Status(kInvalidArgument, "'value' is invalid");
@@ -623,7 +622,7 @@
 
     // text is set only when session.w3c_compliant, so confirm here
     DCHECK(text != nullptr);
-    base::ListValue args;
+    base::Value::List args;
     args.Append(CreateElement(element_id));
     args.Append(text->GetString());
     std::unique_ptr<base::Value> result;
@@ -634,7 +633,7 @@
                                   args, &result);
   } else {
     std::unique_ptr<base::Value> get_content_editable;
-    base::ListValue args;
+    base::Value::List args;
     args.Append(CreateElement(element_id));
     status = web_view->CallFunction(session->GetCurrentFrameId(),
                                     "element => element.isContentEditable",
@@ -726,7 +725,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
@@ -743,7 +742,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
@@ -760,7 +759,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
@@ -777,7 +776,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
 
   std::string name;
@@ -800,7 +799,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
@@ -817,7 +816,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
@@ -834,7 +833,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
 
   bool is_xml = false;
@@ -917,7 +916,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
@@ -934,7 +933,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
@@ -951,7 +950,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
 
   std::unique_ptr<base::Value> location;
@@ -1027,7 +1026,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
@@ -1054,7 +1053,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   args.Append(attribute_name);
   return web_view->CallFunction(
diff --git a/chrome/test/chromedriver/element_commands_unittest.cc b/chrome/test/chromedriver/element_commands_unittest.cc
index 8c536b45..5ec155c 100644
--- a/chrome/test/chromedriver/element_commands_unittest.cc
+++ b/chrome/test/chromedriver/element_commands_unittest.cc
@@ -65,7 +65,7 @@
 
   Status CallFunction(const std::string& frame,
                       const std::string& function,
-                      const base::ListValue& args,
+                      const base::Value::List& args,
                       std::unique_ptr<base::Value>* result) override {
     if (function ==
         webdriver::atoms::asString(webdriver::atoms::GET_LOCATION)) {
diff --git a/chrome/test/chromedriver/element_util.cc b/chrome/test/chromedriver/element_util.cc
index 6afe78a7..5c192775 100644
--- a/chrome/test/chromedriver/element_util.cc
+++ b/chrome/test/chromedriver/element_util.cc
@@ -105,7 +105,7 @@
 Status CallAtomsJs(const std::string& frame,
                    WebView* web_view,
                    const char* const* atom_function,
-                   const base::ListValue& args,
+                   const base::Value::List& args,
                    std::unique_ptr<base::Value>* result) {
   return web_view->CallFunction(
       frame, webdriver::atoms::asString(atom_function), args, result);
@@ -119,7 +119,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   args.Append(base::Value::FromUniquePtrValue(CreateValueFrom(location)));
   std::unique_ptr<base::Value> result;
@@ -160,7 +160,7 @@
   if (status.IsError())
     return status;
   WebPoint tmp_location = *location;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   args.Append(center);
   args.Append(base::Value::FromUniquePtrValue(CreateValueFrom(region)));
@@ -221,7 +221,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   args.Append(property);
   std::unique_ptr<base::Value> result;
@@ -285,7 +285,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   args.Append(center);
   std::unique_ptr<base::Value> result;
@@ -398,7 +398,7 @@
     script = webdriver::atoms::asString(webdriver::atoms::FIND_ELEMENTS);
   std::unique_ptr<base::DictionaryValue> locator(new base::DictionaryValue());
   locator->SetString(strategy, target);
-  base::ListValue arguments;
+  base::Value::List arguments;
   arguments.Append(base::Value::FromUniquePtrValue(std::move(locator)));
   if (root_element_id) {
     if (isShadowRoot)
@@ -440,7 +440,8 @@
         return Status(kNoSuchElement, "Unable to locate element: {\"method\":\""
          + strategy + "\",\"selector\":\"" + target + "\"}");
       }
-      *value = std::make_unique<base::ListValue>();
+      *value =
+          base::Value::ToUniquePtrValue(base::Value(base::Value::Type::LIST));
       return Status(kOk);
     }
 
@@ -473,7 +474,7 @@
 Status GetActiveElement(Session* session,
                         WebView* web_view,
                         std::unique_ptr<base::Value>* value) {
-  base::ListValue args;
+  base::Value::List args;
   Status status = web_view->CallFunction(
       session->GetCurrentFrameId(),
       "function() { return document.activeElement || document.body }", args,
@@ -544,7 +545,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   args.Append(attribute_name);
   return CallAtomsJs(
@@ -604,7 +605,7 @@
     status = CheckElement(element_id);
     if (status.IsError())
       return status;
-    base::ListValue args;
+    base::Value::List args;
     args.Append(CreateElement(element_id));
     std::unique_ptr<base::Value> result;
     status = web_view->CallFunction(
@@ -670,7 +671,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   std::unique_ptr<base::Value> result;
   status = web_view->CallFunction(
@@ -692,7 +693,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   std::unique_ptr<base::Value> result;
   status = web_view->CallFunction(
@@ -715,7 +716,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   std::unique_ptr<base::Value> result;
   status = CallAtomsJs(
@@ -737,7 +738,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   args.Append(ignore_opacity);
   std::unique_ptr<base::Value> result;
@@ -760,7 +761,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   std::unique_ptr<base::Value> result;
   status = CallAtomsJs(
@@ -782,7 +783,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   std::unique_ptr<base::Value> result;
   status = CallAtomsJs(
@@ -804,7 +805,7 @@
   Status status = CheckElement(element_id);
   if (status.IsError())
     return status;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   std::unique_ptr<base::Value> result;
   status = web_view->CallFunction(
@@ -827,7 +828,7 @@
   if (status.IsError())
     return status;
   // TODO(171034): need to fix throwing error if an alert is triggered.
-  base::ListValue args;
+  base::Value::List args;
   args.Append(CreateElement(element_id));
   args.Append(selected);
   std::unique_ptr<base::Value> result;
@@ -900,7 +901,7 @@
   // frame up to the top-level window) and scroll each frame relative to its
   // parent frame, so that the region becomes visible in the parent frame.
   for (const FrameInfo& frame : base::Reversed(session->frames)) {
-    base::ListValue args;
+    base::Value::List args;
     args.Append(frame.chromedriver_frame_id.c_str());
     std::unique_ptr<base::Value> result;
     status = web_view->CallFunction(frame.parent_frame_id, kFindSubFrameScript,
@@ -947,7 +948,7 @@
     return status;
 
   for (const FrameInfo& frame : base::Reversed(session->frames)) {
-    base::ListValue args;
+    base::Value::List args;
     args.Append(frame.chromedriver_frame_id.c_str());
     std::unique_ptr<base::Value> result;
     status = web_view->CallFunction(frame.parent_frame_id, kFindSubFrameScript,
diff --git a/chrome/test/chromedriver/session_commands.cc b/chrome/test/chromedriver/session_commands.cc
index e8d0090..5b72c7f9 100644
--- a/chrome/test/chromedriver/session_commands.cc
+++ b/chrome/test/chromedriver/session_commands.cc
@@ -263,7 +263,7 @@
   if (status.IsError())
     return Status(kSessionNotCreated, status);
 
-  base::ListValue args;
+  base::Value::List args;
   std::unique_ptr<base::Value> result(new base::Value(0));
   status = web_view->CallFunction(session->GetCurrentFrameId(),
                                   "function(s) { return 1; }", args, &result);
@@ -735,7 +735,7 @@
     session->quit = true;
     status = session->chrome->Quit();
     if (status.IsOk())
-      *value = std::make_unique<base::ListValue>();
+      *value = std::make_unique<base::Value>(base::Value::Type::LIST);
   }
 
   return status;
@@ -793,7 +793,7 @@
   } else {
     // Check if any of the tab window names match |name|.
     const char* kGetWindowNameScript = "function() { return window.name; }";
-    base::ListValue args;
+    base::Value::List args;
     for (std::list<std::string>::const_iterator it = web_view_ids.begin();
          it != web_view_ids.end(); ++it) {
       std::unique_ptr<base::Value> result;
@@ -1191,14 +1191,14 @@
 Status ExecuteGetAvailableLogTypes(Session* session,
                                    const base::DictionaryValue& params,
                                    std::unique_ptr<base::Value>* value) {
-  std::unique_ptr<base::ListValue> types(new base::ListValue());
+  std::unique_ptr<base::Value::List> types(new base::Value::List());
   std::vector<WebDriverLog*> logs = session->GetAllLogs();
   for (std::vector<WebDriverLog*>::const_iterator log = logs.begin();
        log != logs.end();
        ++log) {
     types->Append((*log)->type());
   }
-  *value = std::move(types);
+  *value = std::make_unique<base::Value>(base::Value(std::move(*types)));
   return Status(kOk);
 }
 
diff --git a/chrome/test/chromedriver/session_commands_unittest.cc b/chrome/test/chromedriver/session_commands_unittest.cc
index e4525a6..3bcf47a9 100644
--- a/chrome/test/chromedriver/session_commands_unittest.cc
+++ b/chrome/test/chromedriver/session_commands_unittest.cc
@@ -110,7 +110,9 @@
   ASSERT_EQ(kInvalidArgument, status.code());
 
   // "capabilities" must be a JSON object
-  params.SetList("capabilities", std::make_unique<base::ListValue>());
+  params.SetList("capabilities",
+                 base::ListValue::From(
+                     std::make_unique<base::Value>(base::Value::Type::LIST)));
   status = ProcessCapabilities(params, &result);
   ASSERT_EQ(kInvalidArgument, status.code());
 
@@ -128,7 +130,8 @@
 
   // "alwaysMatch" must be a JSON object
   params.SetList("capabilities.alwaysMatch",
-                 std::make_unique<base::ListValue>());
+                 base::ListValue::From(
+                     std::make_unique<base::Value>(base::Value::Type::LIST)));
   Status status = ProcessCapabilities(params, &result);
   ASSERT_EQ(kInvalidArgument, status.code());
 
@@ -163,44 +166,61 @@
 }
 
 TEST(SessionCommandsTest, ProcessCapabilities_FirstMatch) {
-  base::DictionaryValue params;
+  base::Value::Dict params;
   base::DictionaryValue result;
 
   // "firstMatch" must be a JSON list
-  params.GetDict().SetByDottedPath("capabilities.firstMatch",
-                                   base::Value(base::Value::Type::DICTIONARY));
-  Status status = ProcessCapabilities(params, &result);
+  params.SetByDottedPath("capabilities.firstMatch",
+                         base::Value(base::Value::Type::DICTIONARY));
+  Status status =
+      ProcessCapabilities(*base::DictionaryValue::From(
+                              std::make_unique<base::Value>(params.Clone())),
+                          &result);
   ASSERT_EQ(kInvalidArgument, status.code());
 
   // "firstMatch" must have at least one entry
-  params.SetList("capabilities.firstMatch",
-                 std::make_unique<base::ListValue>());
-  status = ProcessCapabilities(params, &result);
+  params.SetByDottedPath("capabilities.firstMatch",
+                         base::Value(base::Value::Type::LIST));
+  status =
+      ProcessCapabilities(*base::DictionaryValue::From(
+                              std::make_unique<base::Value>(params.Clone())),
+                          &result);
   ASSERT_EQ(kInvalidArgument, status.code());
 
   // Each entry must be a JSON object
-  base::ListValue* list_ptr;
-  ASSERT_TRUE(params.GetList("capabilities.firstMatch", &list_ptr));
-  list_ptr->Append(base::ListValue());
-  status = ProcessCapabilities(params, &result);
+  base::Value::List* list =
+      params.FindListByDottedPath("capabilities.firstMatch");
+  list->Append(base::Value::List());
+  status =
+      ProcessCapabilities(*base::DictionaryValue::From(
+                              std::make_unique<base::Value>(params.Clone())),
+                          &result);
   ASSERT_EQ(kInvalidArgument, status.code());
 
   // Empty JSON object allowed as an entry
-  list_ptr->GetList()[0] = base::Value(base::Value::Type::DICT);
-  status = ProcessCapabilities(params, &result);
+  (*list)[0] = base::Value(base::Value::Type::DICT);
+  status =
+      ProcessCapabilities(*base::DictionaryValue::From(
+                              std::make_unique<base::Value>(params.Clone())),
+                          &result);
   ASSERT_EQ(kOk, status.code()) << status.message();
   ASSERT_TRUE(result.DictEmpty());
 
   // Invalid entry
-  base::Value::Dict* entry_ptr = list_ptr->GetList()[0].GetIfDict();
-  ASSERT_TRUE(entry_ptr);
-  entry_ptr->Set("pageLoadStrategy", "invalid");
-  status = ProcessCapabilities(params, &result);
+  base::Value::Dict* entry = (*list)[0].GetIfDict();
+  entry->Set("pageLoadStrategy", "invalid");
+  status =
+      ProcessCapabilities(*base::DictionaryValue::From(
+                              std::make_unique<base::Value>(params.Clone())),
+                          &result);
   ASSERT_EQ(kInvalidArgument, status.code());
 
   // Valid entry
-  entry_ptr->Set("pageLoadStrategy", "eager");
-  status = ProcessCapabilities(params, &result);
+  entry->Set("pageLoadStrategy", "eager");
+  status =
+      ProcessCapabilities(*base::DictionaryValue::From(
+                              std::make_unique<base::Value>(params.Clone())),
+                          &result);
   ASSERT_EQ(kOk, status.code()) << status.message();
   ASSERT_EQ(result.DictSize(), 1u);
   std::string result_string;
@@ -208,12 +228,14 @@
   ASSERT_EQ(result_string, "eager");
 
   // Multiple entries, the first one should be selected.
-  list_ptr->Append(base::DictionaryValue());
-  entry_ptr = list_ptr->GetList()[1].GetIfDict();
-  ASSERT_TRUE(entry_ptr);
-  entry_ptr->Set("pageLoadStrategy", "normal");
-  entry_ptr->Set("browserName", "chrome");
-  status = ProcessCapabilities(params, &result);
+  list->Append(base::DictionaryValue());
+  entry = (*list)[1].GetIfDict();
+  entry->Set("pageLoadStrategy", "normal");
+  entry->Set("browserName", "chrome");
+  status =
+      ProcessCapabilities(*base::DictionaryValue::From(
+                              std::make_unique<base::Value>(params.Clone())),
+                          &result);
   ASSERT_EQ(kOk, status.code()) << status.message();
   ASSERT_EQ(result.DictSize(), 1u);
   ASSERT_TRUE(result.GetString("pageLoadStrategy", &result_string));
diff --git a/chrome/test/chromedriver/util.cc b/chrome/test/chromedriver/util.cc
index 23693e8..a82ff2b 100644
--- a/chrome/test/chromedriver/util.cc
+++ b/chrome/test/chromedriver/util.cc
@@ -42,9 +42,9 @@
 namespace {
 const double kCentimetersPerInch = 2.54;
 
-Status FlattenStringArray(const base::ListValue* src, std::u16string* dest) {
+Status FlattenStringArray(const base::Value::List* src, std::u16string* dest) {
   std::u16string keys;
-  for (const base::Value& i : src->GetList()) {
+  for (const base::Value& i : *src) {
     if (!i.is_string())
       return Status(kUnknownError, "keys should be a string");
 
@@ -67,11 +67,10 @@
 
 }  // namespace
 
-Status SendKeysOnWindow(
-    WebView* web_view,
-    const base::ListValue* key_list,
-    bool release_modifiers,
-    int* sticky_modifiers) {
+Status SendKeysOnWindow(WebView* web_view,
+                        const base::Value::List* key_list,
+                        bool release_modifiers,
+                        int* sticky_modifiers) {
   std::u16string keys;
   Status status = FlattenStringArray(key_list, &keys);
   if (status.IsError())
diff --git a/chrome/test/chromedriver/util.h b/chrome/test/chromedriver/util.h
index 5294069e..0776ad0 100644
--- a/chrome/test/chromedriver/util.h
+++ b/chrome/test/chromedriver/util.h
@@ -21,11 +21,10 @@
 std::string GenerateId();
 
 // Send a sequence of key strokes to the active Element in window.
-Status SendKeysOnWindow(
-    WebView* web_view,
-    const base::ListValue* key_list,
-    bool release_modifiers,
-    int* sticky_modifiers);
+Status SendKeysOnWindow(WebView* web_view,
+                        const base::Value::List* key_list,
+                        bool release_modifiers,
+                        int* sticky_modifiers);
 
 // Decodes the given base64-encoded string, after removing any newlines,
 // which are required in some base64 standards. Returns true on success.
diff --git a/chrome/test/chromedriver/window_commands.cc b/chrome/test/chromedriver/window_commands.cc
index 51683596..9641dfec 100644
--- a/chrome/test/chromedriver/window_commands.cc
+++ b/chrome/test/chromedriver/window_commands.cc
@@ -103,7 +103,7 @@
 
 Status GetUrl(WebView* web_view, const std::string& frame, std::string* url) {
   std::unique_ptr<base::Value> value;
-  base::ListValue args;
+  base::Value::List args;
   Status status = web_view->CallFunction(
       frame, "function() { return document.URL; }", args, &value);
   if (status.IsError())
@@ -308,7 +308,7 @@
     Session* session, WebView* web_view, int x, int y, int* offset_x,
     int* offset_y) {
   std::unique_ptr<base::Value> value;
-  base::ListValue args;
+  base::Value::List args;
   args.Append(x);
   args.Append(y);
   Status status = web_view->CallFunction(
@@ -372,7 +372,7 @@
   DCHECK(innerWidth);
   DCHECK(innerHeight);
   std::unique_ptr<base::Value> value;
-  base::ListValue args;
+  base::Value::List args;
   Status status =
       web_view->CallFunction(std::string(),
                              "function() {"
@@ -788,9 +788,7 @@
   } else if (script == ":endProfile") {
     return web_view->EndProfile(value);
   } else {
-    const base::ListValue* args;
-    if (!params.GetList("args", &args))
-      return Status(kInvalidArgument, "'args' must be a list");
+    const base::Value::List* args = params.GetDict().FindList("args");
     // Need to support line oriented comment
     if (script.find("//") != std::string::npos)
       script = script + "\n";
@@ -812,9 +810,7 @@
   std::string script;
   if (!params.GetString("script", &script))
     return Status(kInvalidArgument, "'script' must be a string");
-  const base::ListValue* args;
-  if (!params.GetList("args", &args))
-    return Status(kInvalidArgument, "'args' must be a list");
+  const base::Value::List* args = params.GetDict().FindList("args");
 
   // Need to support line oriented comment
   if (script.find("//") != std::string::npos)
@@ -875,7 +871,7 @@
   }
 
   std::string script;
-  base::ListValue args;
+  base::Value::List args;
   const base::DictionaryValue* id_dict;
   if (id->GetAsDictionary(&id_dict)) {
     std::string element_id;
@@ -934,7 +930,7 @@
       "function(frame, id) {"
       "  frame.setAttribute('cd_frame_id_', id);"
       "}";
-  base::ListValue new_args;
+  base::Value::List new_args;
   new_args.Append(element->Clone());
   new_args.Append(chrome_driver_id);
   result.reset(NULL);
@@ -961,7 +957,7 @@
                        std::unique_ptr<base::Value>* value,
                        Timeout* timeout) {
   const char kGetTitleScript[] = "function() {  return document.title;}";
-  base::ListValue args;
+  base::Value::List args;
   return web_view->CallFunction(std::string(), kGetTitleScript, args, value);
 }
 
@@ -973,7 +969,7 @@
   const char kGetPageSource[] =
       " () => (document.documentElement || {}).outerHTML || ''";
 
-  base::ListValue args;
+  base::Value::List args;
   return web_view->CallFunction(
       session->GetCurrentFrameId(), kGetPageSource, args, value);
 }
@@ -1348,12 +1344,11 @@
     }
   }
 
-  const base::ListValue* actions;
-  if (!action_sequence->GetList("actions", &actions))
-    return Status(kInvalidArgument, "'actions' must be an array");
+  const base::Value::List* actions =
+      action_sequence->GetDict().FindList("actions");
 
-  std::unique_ptr<base::ListValue> actions_result(new base::ListValue);
-  for (const base::Value& action_item_value : actions->GetList()) {
+  std::unique_ptr<base::Value::List> actions_result(new base::Value::List);
+  for (const base::Value& action_item_value : *actions) {
     std::unique_ptr<base::DictionaryValue> action(new base::DictionaryValue());
     base::Value::Dict& action_dict = action->GetDict();
 
@@ -1572,14 +1567,11 @@
                              std::unique_ptr<base::Value>* value,
                              Timeout* timeout) {
   // extract action sequence
-  const base::ListValue* actions_input;
-
-  if (!params.GetList("actions", &actions_input))
-    return Status(kInvalidArgument, "'actions' must be an array");
+  const base::Value::List* actions_input = params.GetDict().FindList("actions");
 
   // the processed actions
   std::vector<std::vector<std::unique_ptr<base::DictionaryValue>>> actions_list;
-  for (const base::Value& action_sequence : actions_input->GetList()) {
+  for (const base::Value& action_sequence : *actions_input) {
     // process input action sequence
     if (!action_sequence.is_dict())
       return Status(kInvalidArgument, "each argument must be a dictionary");
@@ -2031,9 +2023,8 @@
                                       const base::DictionaryValue& params,
                                       std::unique_ptr<base::Value>* value,
                                       Timeout* timeout) {
-  const base::ListValue* key_list;
-  if (!params.GetList("value", &key_list))
-    return Status(kInvalidArgument, "'value' must be a list");
+  const base::Value::List* key_list;
+  key_list = params.GetDict().FindList("value");
   return SendKeysOnWindow(
       web_view, key_list, false, &session->sticky_modifiers);
 }
@@ -2047,13 +2038,12 @@
   std::string key;
   if (!params.GetString("key", &key))
     return Status(kInvalidArgument, "'key' must be a string");
-  base::ListValue args;
+  base::Value::List args;
   args.Append(key);
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
       base::StringPrintf("function(key) { return %s[key]; }", storage),
-      args,
-      value);
+      std::move(args), value);
 }
 
 Status ExecuteGetStorageKeys(const char* storage,
@@ -2086,7 +2076,7 @@
   std::string storage_value;
   if (!params.GetString("value", &storage_value))
     return Status(kInvalidArgument, "'value' must be a string");
-  base::ListValue args;
+  base::Value::List args;
   args.Append(key);
   args.Append(storage_value);
   return web_view->CallFunction(
@@ -2105,7 +2095,7 @@
   std::string key;
   if (!params.GetString("key", &key))
     return Status(kInvalidArgument, "'key' must be a string");
-  base::ListValue args;
+  base::Value::List args;
   args.Append(key);
   return web_view->CallFunction(
       session->GetCurrentFrameId(),
diff --git a/chrome/test/chromedriver/window_commands_unittest.cc b/chrome/test/chromedriver/window_commands_unittest.cc
index 5e6b7cb..f725d4e6 100644
--- a/chrome/test/chromedriver/window_commands_unittest.cc
+++ b/chrome/test/chromedriver/window_commands_unittest.cc
@@ -109,7 +109,7 @@
   std::vector<std::unique_ptr<base::DictionaryValue>> action_list;
   std::unique_ptr<base::DictionaryValue> action_sequence(
       new base::DictionaryValue());
-  std::unique_ptr<base::ListValue> actions(new base::ListValue());
+  base::Value::List actions;
   base::Value action(base::Value::Type::DICTIONARY);
   base::Value* parameters = action_sequence->GetDict().Set(
       "parameters", base::Value(base::Value::Type::DICTIONARY));
@@ -118,20 +118,22 @@
   action_dict.Set("type", "pointerMove");
   action_dict.Set("x", 30);
   action_dict.Set("y", 60);
-  actions->Append(std::move(action));
+  actions.Append(std::move(action));
   action = base::Value(base::Value::Type::DICTIONARY);
   action_dict.Set("type", "pointerDown");
   action_dict.Set("button", 0);
-  actions->Append(std::move(action));
+  actions.Append(std::move(action));
   action = base::Value(base::Value::Type::DICTIONARY);
   action_dict.Set("type", "pointerUp");
   action_dict.Set("button", 0);
-  actions->Append(std::move(action));
+  actions.Append(std::move(action));
 
   // pointer properties
   action_sequence->SetString("type", "pointer");
   action_sequence->SetString("id", "pointer1");
-  action_sequence->SetList("actions", std::move(actions));
+  action_sequence->SetList(
+      "actions",
+      base::ListValue::From(std::make_unique<base::Value>(std::move(actions))));
   const base::DictionaryValue* input_action_sequence = action_sequence.get();
   Status status =
       ProcessInputActionSequence(&session, input_action_sequence, &action_list);
@@ -190,7 +192,7 @@
   std::vector<std::unique_ptr<base::DictionaryValue>> action_list;
   std::unique_ptr<base::DictionaryValue> action_sequence(
       new base::DictionaryValue());
-  std::unique_ptr<base::ListValue> actions(new base::ListValue());
+  base::Value::List actions;
   base::Value action(base::Value::Type::DICTIONARY);
   base::Value::Dict& action_dict = action.GetDict();
   base::Value* parameters = action_sequence->GetDict().Set(
@@ -199,18 +201,20 @@
   action_dict.Set("type", "pointerMove");
   action_dict.Set("x", 30);
   action_dict.Set("y", 60);
-  actions->Append(std::move(action));
+  actions.Append(std::move(action));
   action = base::Value(base::Value::Type::DICTIONARY);
   action_dict.Set("type", "pointerDown");
-  actions->Append(std::move(action));
+  actions.Append(std::move(action));
   action = base::Value(base::Value::Type::DICTIONARY);
   action_dict.Set("type", "pointerUp");
-  actions->Append(std::move(action));
+  actions.Append(std::move(action));
 
   // pointer properties
   action_sequence->SetString("type", "pointer");
   action_sequence->SetString("id", "pointer1");
-  action_sequence->SetList("actions", std::move(actions));
+  action_sequence->SetList(
+      "actions",
+      base::ListValue::From(std::make_unique<base::Value>(std::move(actions))));
   const base::DictionaryValue* input_action_sequence = action_sequence.get();
   Status status =
       ProcessInputActionSequence(&session, input_action_sequence, &action_list);
@@ -269,7 +273,7 @@
 
   Status CallFunction(const std::string& frame,
                       const std::string& function,
-                      const base::ListValue& args,
+                      const base::Value::List& args,
                       std::unique_ptr<base::Value>* result) override {
     if (function.find("document.URL") != std::string::npos) {
       *result = std::make_unique<base::Value>(documentUrl_);
@@ -538,54 +542,66 @@
   base::DictionaryValue params;
   std::unique_ptr<base::Value> result_value;
 
-  std::unique_ptr<base::ListValue> lv(new base::ListValue());
-  params.SetList("pageRanges", std::move(lv));
+  base::Value::List lv;
+  params.SetList(
+      "pageRanges",
+      base::ListValue::From(std::make_unique<base::Value>(std::move(lv))));
   Status status =
       CallWindowCommand(ExecutePrint, &webview, params, &result_value);
   ASSERT_EQ(kOk, status.code()) << status.message();
   base::DictionaryValue printParams = getDefaultPrintParams();
   ASSERT_EQ(static_cast<const base::Value&>(printParams), webview.getParams());
 
-  lv = std::make_unique<base::ListValue>();
-  lv->Append(2);
-  lv->Append(1);
-  lv->Append(3);
-  lv->Append("4-4");
-  lv->Append("4-");
-  lv->Append("-5");
-  params.SetList("pageRanges", std::move(lv));
+  lv = base::Value::List();
+  lv.Append(2);
+  lv.Append(1);
+  lv.Append(3);
+  lv.Append("4-4");
+  lv.Append("4-");
+  lv.Append("-5");
+  params.SetList(
+      "pageRanges",
+      base::ListValue::From(std::make_unique<base::Value>(std::move(lv))));
   status = CallWindowCommand(ExecutePrint, &webview, params, &result_value);
   ASSERT_EQ(kOk, status.code()) << status.message();
   printParams = getDefaultPrintParams();
   printParams.SetString("pageRanges", "2,1,3,4-4,4-,-5");
   ASSERT_EQ(static_cast<const base::Value&>(printParams), webview.getParams());
 
-  lv = std::make_unique<base::ListValue>();
-  lv->Append(-1);
-  params.SetList("pageRanges", std::move(lv));
+  lv = base::Value::List();
+  lv.Append(-1);
+  params.SetList(
+      "pageRanges",
+      base::ListValue::From(std::make_unique<base::Value>(std::move(lv))));
   status = CallWindowCommand(ExecutePrint, &webview, params, &result_value);
   ASSERT_EQ(kInvalidArgument, status.code()) << status.message();
 
-  lv = std::make_unique<base::ListValue>();
-  lv->Append(3.0);
-  params.SetList("pageRanges", std::move(lv));
+  lv = base::Value::List();
+  lv.Append(3.0);
+  params.SetList(
+      "pageRanges",
+      base::ListValue::From(std::make_unique<base::Value>(std::move(lv))));
   status = CallWindowCommand(ExecutePrint, &webview, params, &result_value);
   ASSERT_EQ(kInvalidArgument, status.code()) << status.message();
 
-  lv = std::make_unique<base::ListValue>();
-  lv->Append(true);
-  params.SetList("pageRanges", std::move(lv));
+  lv = base::Value::List();
+  lv.Append(true);
+  params.SetList(
+      "pageRanges",
+      base::ListValue::From(std::make_unique<base::Value>(std::move(lv))));
   status = CallWindowCommand(ExecutePrint, &webview, params, &result_value);
   ASSERT_EQ(kInvalidArgument, status.code()) << status.message();
 
   // ExecutePrint delegates invalid string checks to CDP
-  lv = std::make_unique<base::ListValue>();
-  lv->Append("-");
-  lv->Append("");
-  lv->Append("  ");
-  lv->Append(" 1-3 ");
-  lv->Append("Invalid");
-  params.SetList("pageRanges", std::move(lv));
+  lv = base::Value::List();
+  lv.Append("-");
+  lv.Append("");
+  lv.Append("  ");
+  lv.Append(" 1-3 ");
+  lv.Append("Invalid");
+  params.SetList(
+      "pageRanges",
+      base::ListValue::From(std::make_unique<base::Value>(std::move(lv))));
   status = CallWindowCommand(ExecutePrint, &webview, params, &result_value);
   ASSERT_EQ(kOk, status.code()) << status.message();
   printParams = getDefaultPrintParams();
diff --git a/chrome/test/data/webui/chromeos/diagnostics/ip_config_info_drawer_test.js b/chrome/test/data/webui/chromeos/diagnostics/ip_config_info_drawer_test.js
index 4e4d386..0fd46474 100644
--- a/chrome/test/data/webui/chromeos/diagnostics/ip_config_info_drawer_test.js
+++ b/chrome/test/data/webui/chromeos/diagnostics/ip_config_info_drawer_test.js
@@ -72,6 +72,22 @@
         .header;
   }
 
+  /**
+   * @suppress {visibility}
+   * @param {number} prefix
+   * @return {!Promise}
+   */
+  function setRoutingPrefix(prefix) {
+    assertTrue(
+        !!ipConfigInfoDrawerElement.network &&
+        !!ipConfigInfoDrawerElement.network.ipConfig);
+
+    ipConfigInfoDrawerElement.network.ipConfig.routingPrefix = prefix;
+    ipConfigInfoDrawerElement.notifyPath('network.ipConfig.routingPrefix');
+
+    return flushTasks();
+  }
+
   test('IpConfigInfoDrawerInitialized', () => {
     return initializeIpConfigInfoDrawerElement().then(() => {
       assertTrue(isVisible(getDrawerToggle()));
@@ -109,7 +125,6 @@
   });
 
   test('ConfigDrawerOpenDisplaysSubnetMaskBasedOnNetwork', () => {
-    const expectedSubnetMask = '255.255.255.0';
     return initializeIpConfigInfoDrawerElement(fakeWifiNetwork)
         // Opening drawer to test visibility and content of data points.
         .then(() => getDrawerToggle().click())
@@ -117,7 +132,31 @@
           dx_utils.assertDataPointHasExpectedHeaderAndValue(
               ipConfigInfoDrawerElement, '#subnetMask',
               ipConfigInfoDrawerElement.i18n('ipConfigInfoDrawerSubnetMask'),
-              expectedSubnetMask);
+              '255.255.255.0');
+
+          return setRoutingPrefix(0);
+        })
+        .then(() => {
+          dx_utils.assertDataPointHasExpectedHeaderAndValue(
+              ipConfigInfoDrawerElement, '#subnetMask',
+              ipConfigInfoDrawerElement.i18n('ipConfigInfoDrawerSubnetMask'),
+              '');
+
+          return setRoutingPrefix(32);
+        })
+        .then(() => {
+          dx_utils.assertDataPointHasExpectedHeaderAndValue(
+              ipConfigInfoDrawerElement, '#subnetMask',
+              ipConfigInfoDrawerElement.i18n('ipConfigInfoDrawerSubnetMask'),
+              '255.255.255.255');
+
+          return setRoutingPrefix(33);
+        })
+        .then(() => {
+          dx_utils.assertDataPointHasExpectedHeaderAndValue(
+              ipConfigInfoDrawerElement, '#subnetMask',
+              ipConfigInfoDrawerElement.i18n('ipConfigInfoDrawerSubnetMask'),
+              '');
         });
   });
 
diff --git a/chrome/test/data/webui/chromeos/os_feedback_ui/help_content_test.js b/chrome/test/data/webui/chromeos/os_feedback_ui/help_content_test.js
index 2278596..2909a55 100644
--- a/chrome/test/data/webui/chromeos/os_feedback_ui/help_content_test.js
+++ b/chrome/test/data/webui/chromeos/os_feedback_ui/help_content_test.js
@@ -118,6 +118,10 @@
     assertTrue(!!title);
     assertEquals('Top help content', title.textContent);
 
+    // Vierfy the description Icon is in the page.
+    const descriptionIcon = getElement('#helpContentIcon');
+    assertTrue(!!descriptionIcon);
+
     verifyPopularHelpContent();
   });
 
diff --git a/chrome/test/data/webui/cr_components/chromeos/network/network_list_item_test.js b/chrome/test/data/webui/cr_components/chromeos/network/network_list_item_test.js
index 00784bd..fdf4a23 100644
--- a/chrome/test/data/webui/cr_components/chromeos/network/network_list_item_test.js
+++ b/chrome/test/data/webui/cr_components/chromeos/network/network_list_item_test.js
@@ -49,9 +49,9 @@
     flush();
   }
 
-  function initCellularNetwork(iccid, eid, simLocked) {
+  function initCellularNetwork(iccid, eid, simLocked, name) {
     const properties = OncMojo.getDefaultManagedProperties(
-        mojom.NetworkType.kCellular, 'cellular');
+        mojom.NetworkType.kCellular, 'cellular', name);
     properties.typeProperties.cellular.iccid = iccid;
     properties.typeProperties.cellular.eid = eid;
     properties.typeProperties.cellular.simLocked = simLocked;
@@ -154,6 +154,31 @@
     assertEquals('Ethernet', getTitle());
   });
 
+  test('eSIM network title', async () => {
+    init();
+
+    const getTitle = () => {
+      const element = listItem.$$('#itemTitle');
+      return element ? element.textContent.trim() : '';
+    };
+
+    const euicc = eSimManagerRemote.addEuiccForTest(/*numProfiles=*/ 1);
+    const providerName = 'provider1';
+    listItem.item = initCellularNetwork(
+        /*iccid=*/ '1', /*eid=*/ '1', /*simlock=*/ false, 'nickname');
+    await flushAsync();
+    assertEquals(
+        listItem.i18n('networkListItemTitle', 'nickname', providerName),
+        getTitle());
+
+    // Change eSIM network's name to the same as provider name, verifies that
+    // the title only show the network name.
+    listItem.item = initCellularNetwork(
+        /*iccid=*/ '1', /*eid=*/ '1', /*simlock=*/ false, providerName);
+    await flushAsync();
+    assertEquals(providerName, getTitle());
+  });
+
   test('Network title is escaped', async () => {
     init();
 
diff --git a/chrome/test/data/webui/new_tab_page/middle_slot_promo_test.ts b/chrome/test/data/webui/new_tab_page/middle_slot_promo_test.ts
index 7c7cbeaf..ec222b2 100644
--- a/chrome/test/data/webui/new_tab_page/middle_slot_promo_test.ts
+++ b/chrome/test/data/webui/new_tab_page/middle_slot_promo_test.ts
@@ -202,15 +202,27 @@
       const canShowPromo = true;
       const middleSlotPromo = await createMiddleSlotPromo(canShowPromo);
       assertHasContent(canShowPromo, middleSlotPromo);
-      const promoAndDismissContainer =
-          $$(middleSlotPromo, '#promoAndDismissContainer') as HTMLElement;
-      assert(promoAndDismissContainer);
-      const parts = promoAndDismissContainer.children;
+      const parts = middleSlotPromo.$.promoAndDismissContainer.children;
       assertEquals(3, parts.length);
 
       const dismissPromoButton = parts[1] as HTMLElement;
       dismissPromoButton.click();
-      assertEquals(true, promoAndDismissContainer.hidden);
+      assertEquals(true, middleSlotPromo.$.promoAndDismissContainer.hidden);
+    });
+
+    test(`clicking dismiss button dismisses promo`, async () => {
+      const canShowPromo = true;
+      const middleSlotPromo = await createMiddleSlotPromo(canShowPromo);
+      assertHasContent(canShowPromo, middleSlotPromo);
+      const parts = middleSlotPromo.$.promoAndDismissContainer.children;
+      assertEquals(3, parts.length);
+
+      const dismissPromoButton = parts[1] as HTMLElement;
+      dismissPromoButton.click();
+      assertEquals(true, middleSlotPromo.$.promoAndDismissContainer.hidden);
+
+      middleSlotPromo.$.undoDismissPromoButton.click();
+      assertEquals(false, middleSlotPromo.$.promoAndDismissContainer.hidden);
     });
   });
 });
diff --git a/chrome/test/media_router/OWNERS b/chrome/test/media_router/OWNERS
index 6c1ff8a..dd66178 100644
--- a/chrome/test/media_router/OWNERS
+++ b/chrome/test/media_router/OWNERS
@@ -1,3 +1 @@
 file://chrome/browser/media/router/OWNERS
-
-# Additional members without committer privileges, for potential FYI reviews.
diff --git a/chromecast/base/BUILD.gn b/chromecast/base/BUILD.gn
index a6491f6..727ea43 100644
--- a/chromecast/base/BUILD.gn
+++ b/chromecast/base/BUILD.gn
@@ -174,7 +174,6 @@
     ":thread_health_checker",
     "//base/test:run_all_unittests",
     "//base/test:test_support",
-    "//chromecast/base/static_sequence:tests",
     "//testing/gmock",
     "//testing/gtest",
   ]
diff --git a/chromecast/base/static_sequence/BUILD.gn b/chromecast/base/static_sequence/BUILD.gn
deleted file mode 100644
index dd65b2b..0000000
--- a/chromecast/base/static_sequence/BUILD.gn
+++ /dev/null
@@ -1,40 +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.
-
-import("//build/nocompile.gni")
-import("//chromecast/chromecast.gni")
-
-cast_source_set("static_sequence") {
-  sources = [
-    "static_sequence.cc",
-    "static_sequence.h",
-  ]
-  deps = [ "//base" ]
-}
-
-cast_source_set("tests") {
-  testonly = true
-  sources = [ "static_sequence_unittest.cc" ]
-
-  deps = [
-    ":static_sequence",
-    "//base/test:test_support",
-    "//testing/gtest",
-  ]
-
-  if (enable_nocompile_tests) {
-    deps += [ ":nocompile_tests" ]
-  }
-}
-
-if (enable_nocompile_tests) {
-  nocompile_test("nocompile_tests") {
-    sources = [ "static_sequence_unittest.nc" ]
-    deps = [
-      ":static_sequence",
-      "//base/test:run_all_unittests",
-      "//testing/gtest",
-    ]
-  }
-}
diff --git a/chromecast/base/static_sequence/OWNERS b/chromecast/base/static_sequence/OWNERS
deleted file mode 100644
index 51c89f0b..0000000
--- a/chromecast/base/static_sequence/OWNERS
+++ /dev/null
@@ -1,2 +0,0 @@
-sanfin@chromium.org
-thoren@chromium.org
diff --git a/chromecast/base/static_sequence/static_sequence.cc b/chromecast/base/static_sequence/static_sequence.cc
deleted file mode 100644
index 88e491d6..0000000
--- a/chromecast/base/static_sequence/static_sequence.cc
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chromecast/base/static_sequence/static_sequence.h"
-
-#include "base/task/thread_pool.h"
-
-namespace util {
-namespace internal {
-
-StaticTaskRunnerHolder::StaticTaskRunnerHolder(base::TaskTraits traits)
-    : traits_(traits), initialized_(false) {}
-
-StaticTaskRunnerHolder::~StaticTaskRunnerHolder() = default;
-
-void StaticTaskRunnerHolder::WillDestroyCurrentMessageLoop() {
-  initialized_ = false;
-  task_runner_ = nullptr;
-}
-
-const scoped_refptr<base::SequencedTaskRunner>& StaticTaskRunnerHolder::Get() {
-  if (!initialized_) {
-    task_runner_ = base::ThreadPool::CreateSequencedTaskRunner(traits_);
-    base::CurrentThread::Get().AddDestructionObserver(this);
-    initialized_ = true;
-  }
-  return task_runner_;
-}
-
-}  // namespace internal
-}  // namespace util
diff --git a/chromecast/base/static_sequence/static_sequence.h b/chromecast/base/static_sequence/static_sequence.h
deleted file mode 100644
index 56d1562..0000000
--- a/chromecast/base/static_sequence/static_sequence.h
+++ /dev/null
@@ -1,346 +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 CHROMECAST_BASE_STATIC_SEQUENCE_STATIC_SEQUENCE_H_
-#define CHROMECAST_BASE_STATIC_SEQUENCE_STATIC_SEQUENCE_H_
-
-#include <memory>
-#include <utility>
-
-#include "base/callback_forward.h"
-#include "base/location.h"
-#include "base/memory/scoped_refptr.h"
-#include "base/task/current_thread.h"
-#include "base/task/task_traits.h"
-
-// Allows sequences to be defined at compile time so that objects can opt into
-// requiring that their methods are called on a specific sequence in a way that
-// can be checked by the compiler rather than DCHECKs.
-//
-// To define a sequence, just create a class that extends this one using the
-// Curiously Recurring Template Pattern:
-//
-//   struct MySequence : util::StaticSequence<MySequence> {};
-//
-// To require that a function run on that sequence, add a Key parameter from the
-// sequence:
-//
-//   void MyFunction(int x, int y, const MySequence::Key&);
-//
-// Such a function must be called through the MySequence's PostTask() method:
-//
-//   // Can run on any thread.
-//   void MyFunctionThreadSafe(int x, int y) {
-//     MySequence::PostTask(FROM_HERE, base::BindOnce(&MyFunction, x, y));
-//   }
-//
-// You can also add the Key as the final parameter to instance methods to
-// similarly require that the method be called on the sequence:
-//
-//   struct MyStruct {
-//     // The Key needs to be the last parameter!
-//     void MyMethod(int x, int y, const MySequence::Key&);
-//   };
-//
-//   void CallMyMethodFromOriginThreadSafe(MyStruct* m) {
-//     MySequence::PostTask(
-//         FROM_HERE,
-//         base::BindOnce(&MyStruct::MyMethod, base::Unretained(m), 0, 0));
-//   }
-//
-// If a class is tightly coupled to a given sequence (i.e. expects to always be
-// called on that sequence), it may be worth wrapping in Sequenced, which is
-// similar to base::SequenceBound but will work with statically-sequenced
-// method calls. This will also ensure the destructor is run on the same
-// sequence.
-
-namespace util {
-
-template <typename T, typename TraitsProvider>
-class StaticSequence;
-
-namespace internal {
-
-// Provides a TaskRunner and can persist after the message loop is destroyed,
-// which is useful if e.g. a StaticTaskRunnerHolder outlives a
-// base::test::TaskEnvironment in tests. Only usable by StaticSequence.
-class StaticTaskRunnerHolder : public base::CurrentThread::DestructionObserver {
- public:
-  ~StaticTaskRunnerHolder() override;
-
- private:
-  template <typename T, typename TraitsProvider>
-  friend class ::util::StaticSequence;
-
-  explicit StaticTaskRunnerHolder(base::TaskTraits traits);
-
-  void WillDestroyCurrentMessageLoop() override;
-
-  const scoped_refptr<base::SequencedTaskRunner>& Get();
-
-  const base::TaskTraits traits_;
-  bool initialized_;
-  scoped_refptr<base::SequencedTaskRunner> task_runner_;
-};
-
-}  // namespace internal
-
-// Default traits for a static sequence. They can be overridden by specifying
-// another struct with a GetTraits() static method as the second template
-// parameter to StaticSequence.
-//
-// Example:
-//
-//   class MyBackgroundService {
-//     struct BackgroundTaskTraitsProvider {
-//       static constexpr base::TaskTraits GetTraits() {
-//         return {
-//           base::TaskPriority::BEST_EFFORT,
-//           base::MayBlock(),
-//         };
-//       }
-//     };
-//    public:
-//     struct BackgroundSequence
-//         : util::StaticSequence<BackgroundSequence,
-//                                BackgroundTaskTraitsProvider> {};
-//     void DoBackgroundWork(const std::string& request,
-//                           const BackgroundSequence::Key&);
-//   };
-struct DefaultStaticSequenceTraitsProvider {
-  static constexpr base::TaskTraits GetTraits() { return base::TaskTraits(); }
-};
-
-// A class that extends StaticSequence is a holder for a process-global
-// TaskRunner that is created on-demand with the desired traits, which also
-// provides static PostTask overloads that can take callbacks that require a
-// special Key that only the StaticSequence can provide. This trick is what
-// guarantees at compile time that all invocations of a statically-sequenced
-// function are run on the correct TaskRunner.
-template <typename T,
-          typename TraitsProvider = DefaultStaticSequenceTraitsProvider>
-class StaticSequence {
- public:
-  // Can only be constructed by the StaticSequence implementation. This
-  // restriction allows functions and methods to statically assert that they are
-  // being called on the correct sequence because StaticSequences will only
-  // provide a reference to its Key through their PostTask() method.
-  //
-  // The reference can be passed around, but the key itself cannot be copied or
-  // moved, and the address cannot be taken.
-  class Key {
-   public:
-    using Sequence = T;
-    ~Key() = default;
-
-   private:
-    friend class StaticSequence;
-    constexpr Key() = default;
-    // Cannot copy, move, or take the address of a Key. This prevents the common
-    // ways one might attempt to obtain a Key outside the scope where it is
-    // valid.
-    Key(const Key&) = delete;
-    Key& operator=(const Key&) = delete;
-    const Key* operator&() const = delete;
-  };
-
-  static const scoped_refptr<base::SequencedTaskRunner>& TaskRunner() {
-    // A StaticTaskRunnerHolder is able to regenerate a TaskRunner after the
-    // global thread pool is destroyed and re-created (which can happen between
-    // unittests that use base::test::TaskEnvironment).
-    static internal::StaticTaskRunnerHolder task_runner(
-        TraitsProvider::GetTraits());
-    return task_runner.Get();
-  }
-
-  // Catches you if you attempt to post a callback that consumes a Key of
-  // another StaticSequence. The compiler will print a message containing
-  // PostedTo, the StaticSequence whose PostTask method was called; and
-  // Expected, the StaticSequence whose Key was requested by the task.
-  template <typename U>
-  using IncompatibleCallback = base::OnceCallback<void(const U&)>;
-  template <typename U, typename Expected = typename U::Sequence>
-  static void PostTask(
-      IncompatibleCallback<U> cb,
-      const base::Location& from_here = base::Location::Current()) {
-    using PostedTo = T;
-    static_assert(invalid<PostedTo, Expected>,
-                  "Attempting to post a statically-sequenced task to the wrong "
-                  "static sequence!");
-  }
-
-  template <typename U>
-  using IncompatibleNonConstCallback = base::OnceCallback<void(U&)>;
-  template <typename U, typename Expected = typename U::Sequence>
-  static void PostTask(
-      IncompatibleNonConstCallback<U> cb,
-      const base::Location& from_here = base::Location::Current()) {
-    static_assert(invalid<IncompatibleNonConstCallback<U>>,
-                  "Did you forget to add `const` to the Key parameter of the "
-                  "bound functor?");
-  }
-
-  // Takes a callback that specifically requires that it be invoked from this
-  // sequence. Such callbacks can only be invoked through this method because
-  // the Key is only constructible here.
-  using CompatibleCallback = base::OnceCallback<void(const Key&)>;
-  static void PostTask(
-      CompatibleCallback cb,
-      const base::Location& from_here = base::Location::Current()) {
-    TaskRunner()->PostTask(from_here,
-                           base::BindOnce(std::move(cb), std::ref(key_)));
-  }
-
-  // Takes any closure with no unbound arguments.
-  static void PostTask(
-      base::OnceClosure cb,
-      const base::Location& from_here = base::Location::Current()) {
-    TaskRunner()->PostTask(from_here, std::move(cb));
-  }
-
-  // The Run() overload set can only be invoked on the sequence, and accepts
-  // callbacks that may or may not require a Key to the sequence.
-  static void Run(CompatibleCallback cb, const Key& key) {
-    std::move(cb).Run(key);
-  }
-  static void Run(base::OnceClosure cb, const Key&) { std::move(cb).Run(); }
-  template <typename U, typename Expected = typename U::Sequence>
-  static void Run(IncompatibleCallback<U> cb, const Key&) {
-    using PostedTo = T;
-    static_assert(invalid<PostedTo, Expected>,
-                  "Attempting to post a statically-sequenced task to the wrong "
-                  "static sequence!");
-  }
-  template <typename U>
-  static void Run(IncompatibleNonConstCallback<U> cb, const Key&) {
-    static_assert(invalid<IncompatibleNonConstCallback<U>>,
-                  "Did you forget to add `const` to the Key parameter of the "
-                  "bound functor?");
-  }
-
-  // Forwards a functor and arguments before posting as a task, to avoid
-  // unnecessary mallocs. Prefer this to PostTask() when possible to reduce
-  // runtime overhead.
-  template <typename F, typename... Args>
-  static void Post(const base::Location& from_here, F&& f, Args&&... args) {
-    TaskRunner()->PostTask(
-        from_here, BindHelper<needs_key<F>, F, Args...>::Bind(
-                       std::forward<F>(f), std::forward<Args>(args)...));
-  }
-
- private:
-  // Used to help print readable compiler messages in static_assert failures.
-  template <typename... Args>
-  constexpr static bool invalid = false;
-
-  template <typename... Ts>
-  struct Pack;
-
-  template <typename Pack>
-  struct LastArgumentIsKey;
-
-  template <typename First, typename... Rest>
-  struct LastArgumentIsKey<Pack<First, Rest...>>
-      : LastArgumentIsKey<Pack<Rest...>> {};
-
-  template <>
-  struct LastArgumentIsKey<Pack<const Key&>> : std::true_type {};
-
-  template <>
-  struct LastArgumentIsKey<Pack<>> : std::false_type {};
-
-  template <typename F>
-  struct GetArgs;
-
-  template <typename R, typename... Args>
-  struct GetArgs<R (*)(Args...)> {
-    using type = Pack<Args...>;
-  };
-
-  template <typename R, typename Obj, typename... Args>
-  struct GetArgs<R (Obj::*)(Args...)> {
-    using type = Pack<Args...>;
-  };
-
-  template <typename F>
-  constexpr static bool needs_key =
-      LastArgumentIsKey<typename GetArgs<F>::type>::value;
-
-  template <bool requires_key, typename... Args>
-  struct BindHelper;
-
-  template <typename... Args>
-  struct BindHelper<false, Args...> {
-    static base::OnceClosure Bind(Args... args) {
-      return base::BindOnce(std::forward<Args>(args)...);
-    }
-  };
-
-  template <typename... Args>
-  struct BindHelper<true, Args...> {
-    static base::OnceClosure Bind(Args... args) {
-      return base::BindOnce(std::forward<Args>(args)..., std::ref(key_));
-    }
-  };
-
-  static const Key key_;
-};
-
-template <typename T, typename TraitsProvider>
-const typename StaticSequence<T, TraitsProvider>::Key
-    StaticSequence<T, TraitsProvider>::key_ = {};
-
-// Behaves like the SequenceBound class wrapper for static sequences, wrapping
-// an object and forcing all method calls to go through Post(), which ensures
-// they are all called on the statically assigned sequence, whether the methods
-// ask for a Key or not.
-template <typename T, typename Sequence>
-class Sequenced {
- public:
-  template <typename... Args>
-  explicit Sequenced(Args&&... args) : obj_(Uninitialized()) {
-    Sequence::Post(FROM_HERE, &Sequenced::Construct<Args...>,
-                   base::Unretained(this), std::forward<Args>(args)...);
-  }
-
-  template <typename... Args, typename... Bound>
-  void Post(const base::Location& from_here,
-            void (T::*method)(Args...),
-            Bound&&... args) {
-    Sequence::Post(from_here, &Sequenced::Call<decltype(method), Bound...>,
-                   base::Unretained(this), method,
-                   std::forward<Bound>(args)...);
-  }
-
- private:
-  using UniquePtr = std::unique_ptr<T, base::OnTaskRunnerDeleter>;
-  template <typename... Args>
-  void Construct(Args&&... args, const typename Sequence::Key& key) {
-    obj_ = MakeUnique<Args...>(std::forward<Args>(args)..., key);
-  }
-
-  static UniquePtr Uninitialized() {
-    return UniquePtr(nullptr,
-                     base::OnTaskRunnerDeleter(Sequence::TaskRunner()));
-  }
-
-  template <typename... Args>
-  UniquePtr MakeUnique(Args&&... args, const typename Sequence::Key&) {
-    return UniquePtr(new T(std::forward<Args>(args)...),
-                     base::OnTaskRunnerDeleter(Sequence::TaskRunner()));
-  }
-
-  template <typename Method, typename... Bound>
-  void Call(Method method, Bound&&... args, const typename Sequence::Key& key) {
-    Sequence::Run(base::BindOnce(method, base::Unretained(obj_.get()),
-                                 std::forward<Bound>(args)...),
-                  key);
-  }
-
-  UniquePtr obj_;
-};
-
-}  // namespace util
-
-#endif  // CHROMECAST_BASE_STATIC_SEQUENCE_STATIC_SEQUENCE_H_
diff --git a/chromecast/base/static_sequence/static_sequence_unittest.cc b/chromecast/base/static_sequence/static_sequence_unittest.cc
deleted file mode 100644
index ef154b50..0000000
--- a/chromecast/base/static_sequence/static_sequence_unittest.cc
+++ /dev/null
@@ -1,214 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chromecast/base/static_sequence/static_sequence.h"
-
-#include "base/test/task_environment.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace util {
-namespace {
-
-struct TestSequence : StaticSequence<TestSequence> {};
-
-struct CustomTraitsProvider {
-  static constexpr base::TaskTraits GetTraits() {
-    return {base::TaskPriority::LOWEST, base::ThreadPolicy::PREFER_BACKGROUND,
-            base::MayBlock()};
-  }
-};
-
-struct TestSequenceWithCustomTraits
-    : StaticSequence<TestSequenceWithCustomTraits, CustomTraitsProvider> {};
-
-void DoSomething(bool* activated) {
-  *activated = true;
-}
-
-void DoSomethingWithRequiredSequence(bool* activated,
-                                     const TestSequence::Key&) {
-  *activated = true;
-}
-
-class TestObject {
- public:
-  void DoSomething(bool* activated) { *activated = true; }
-  void DoSomethingWithRequiredSequence(bool* activated,
-                                       const TestSequence::Key&) {
-    *activated = true;
-  }
-};
-
-class ParameterizedObject {
- public:
-  explicit ParameterizedObject(int increment_by)
-      : increment_by_(increment_by) {}
-
-  void Increment(int* out, const TestSequence::Key&) { *out += increment_by_; }
-
- private:
-  int increment_by_;
-};
-
-class HasSideEffectsInConstructor {
- public:
-  HasSideEffectsInConstructor(int x, int y, int* r) { *r = x + y; }
-};
-
-class HasSideEffectsInDestructor {
- public:
-  HasSideEffectsInDestructor(int x, int y, int* r) : r_(r), sum_(x + y) {}
-  ~HasSideEffectsInDestructor() { *r_ = sum_; }
-
- private:
-  int* r_;
-  int sum_;
-};
-
-}  // namespace
-
-TEST(StaticSequenceTest, StaticProperties) {
-  static_assert(!std::is_copy_constructible<TestSequence::Key>::value,
-                "Keys must not be copyable.");
-  static_assert(!std::is_move_constructible<TestSequence::Key>::value,
-                "Keys must not be movable.");
-}
-
-TEST(StaticSequenceTest, InvokeUnprotectedCallback) {
-  base::test::TaskEnvironment env;
-  bool activated = false;
-  TestSequence::PostTask(base::BindOnce(&DoSomething, &activated));
-  EXPECT_FALSE(activated);
-  env.RunUntilIdle();
-  EXPECT_TRUE(activated);
-}
-
-TEST(StaticSequenceTest, InvokeProtectedCallback) {
-  base::test::TaskEnvironment env;
-  bool activated = false;
-  TestSequence::PostTask(
-      base::BindOnce(&DoSomethingWithRequiredSequence, &activated));
-  EXPECT_FALSE(activated);
-  env.RunUntilIdle();
-  EXPECT_TRUE(activated);
-}
-
-TEST(StaticSequenceTest, InvokeObjectUnprotectedMethod) {
-  base::test::TaskEnvironment env;
-  bool activated = false;
-  TestObject obj;
-  TestSequence::PostTask(base::BindOnce(&TestObject::DoSomething,
-                                        base::Unretained(&obj), &activated));
-  EXPECT_FALSE(activated);
-  env.RunUntilIdle();
-  EXPECT_TRUE(activated);
-}
-
-TEST(StaticSequenceTest, InvokeSequencedObjectUnprotectedMethod) {
-  base::test::TaskEnvironment env;
-  bool activated = false;
-  Sequenced<TestObject, TestSequence> obj;
-  obj.Post(FROM_HERE, &TestObject::DoSomething, &activated);
-  EXPECT_FALSE(activated);
-  env.RunUntilIdle();
-  EXPECT_TRUE(activated);
-}
-
-TEST(StaticSequenceTest, InvokeSequencedObjectProtectedMethod) {
-  base::test::TaskEnvironment env;
-  bool activated = false;
-  Sequenced<TestObject, TestSequence> obj;
-  obj.Post(FROM_HERE, &TestObject::DoSomethingWithRequiredSequence, &activated);
-  EXPECT_FALSE(activated);
-  env.RunUntilIdle();
-  EXPECT_TRUE(activated);
-}
-
-TEST(StaticSequenceTest, SequencedConstructorIncludesArguments) {
-  base::test::TaskEnvironment env;
-  int r = 0;
-  Sequenced<ParameterizedObject, TestSequence> obj(2);
-  obj.Post(FROM_HERE, &ParameterizedObject::Increment, &r);
-  EXPECT_EQ(r, 0);
-  env.RunUntilIdle();
-  EXPECT_EQ(r, 2);
-}
-
-TEST(StaticSequenceTest, UseCustomTraits) {
-  base::test::TaskEnvironment env;
-  bool r = false;
-  Sequenced<TestObject, TestSequenceWithCustomTraits> obj;
-  obj.Post(FROM_HERE, &TestObject::DoSomething, &r);
-  EXPECT_FALSE(r);
-  env.RunUntilIdle();
-  EXPECT_TRUE(r);
-}
-
-TEST(StaticSequenceTest, ConstructsOnSequence) {
-  base::test::TaskEnvironment env;
-  int r = 0;
-  // The constructor for HasSideEffectsInConstructor will set |r| to the sum of
-  // the first two arguments, but should only run on the sequence.
-  Sequenced<HasSideEffectsInConstructor, TestSequence> obj(1, 2, &r);
-  EXPECT_EQ(r, 0);
-  env.RunUntilIdle();
-  EXPECT_EQ(r, 3);
-}
-
-TEST(StaticSequenceTest, DestructOnSequence) {
-  base::test::TaskEnvironment env;
-  int r = 0;
-  {
-    // The destructor for HasSideEffectsInDestructor will set |r| to the sum of
-    // the first two constructor arguments, but should only run on the sequence.
-    Sequenced<HasSideEffectsInDestructor, TestSequence> obj(2, 3, &r);
-    env.RunUntilIdle();
-    EXPECT_EQ(r, 0);
-  }
-  EXPECT_EQ(r, 0);
-  env.RunUntilIdle();
-  EXPECT_EQ(r, 5);
-}
-
-TEST(StaticSequenceTest, PostUnprotectedMemberFunction) {
-  base::test::TaskEnvironment env;
-  TestObject x;
-  bool r = false;
-  TestSequence::Post(FROM_HERE, &TestObject::DoSomething, base::Unretained(&x),
-                     &r);
-  EXPECT_FALSE(r);
-  env.RunUntilIdle();
-  EXPECT_TRUE(r);
-}
-
-TEST(StaticSequenceTest, PostProtectedMemberFunction) {
-  base::test::TaskEnvironment env;
-  TestObject x;
-  bool r = false;
-  TestSequence::Post(FROM_HERE, &TestObject::DoSomethingWithRequiredSequence,
-                     base::Unretained(&x), &r);
-  EXPECT_FALSE(r);
-  env.RunUntilIdle();
-  EXPECT_TRUE(r);
-}
-
-TEST(StaticSequenceTest, PostUnprotectedFreeFunction) {
-  base::test::TaskEnvironment env;
-  bool r = false;
-  TestSequence::Post(FROM_HERE, &DoSomething, &r);
-  EXPECT_FALSE(r);
-  env.RunUntilIdle();
-  EXPECT_TRUE(r);
-}
-
-TEST(StaticSequenceTest, PostProtectedFreeFunction) {
-  base::test::TaskEnvironment env;
-  bool r = false;
-  TestSequence::Post(FROM_HERE, &DoSomethingWithRequiredSequence, &r);
-  EXPECT_FALSE(r);
-  env.RunUntilIdle();
-  EXPECT_TRUE(r);
-}
-
-}  // namespace util
diff --git a/chromecast/base/static_sequence/static_sequence_unittest.nc b/chromecast/base/static_sequence/static_sequence_unittest.nc
deleted file mode 100644
index b9a68ef..0000000
--- a/chromecast/base/static_sequence/static_sequence_unittest.nc
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2019 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This is a no-compile test suite.
-// http://dev.chromium.org/developers/testing/no-compile-tests
-
-#include "chromecast/base/static_sequence/static_sequence.h"
-
-namespace util {
-
-struct SequenceA : StaticSequence<SequenceA> {};
-struct SequenceB : StaticSequence<SequenceB> {};
-
-void Foo(const SequenceA::Key&);
-void Fred(SequenceA::Key&);
-
-class Bar {
- public:
-  void Baz(SequenceA::Key&) {}
-  void Qux(const SequenceA::Key&) {}
-};
-
-void StaticSequenceNoCompileTests() {
-  Sequenced<Bar, SequenceB> bar;
-#if defined(NCTEST_POST_FUNCTION_TO_WRONG_SEQUENCE) // [r"fatal error: static_assert failed due to requirement 'invalid<util::SequenceB, util::SequenceA>': Attempting to post a statically-sequenced task to the wrong static sequence!"]
-  SequenceB::PostTask(base::BindOnce(&Foo));
-#elif defined(NCTEST_POST_FUNCTION_WITH_NON_CONST_KEY_REF) // [r".*Did you forget to add `const` to the Key parameter of the bound functor\?"]
-  SequenceA::PostTask(base::BindOnce(&Fred));
-#elif defined(NCTEST_POST_METHOD_WITH_NON_CONST_KEY_REF)  // [r".*Did you forget to add `const` to the Key parameter of the bound functor\?"]
-  bar.Post(FROM_HERE, &Bar::Baz);
-#elif defined(NCTEST_POST_METHOD_TO_WRONG_SEQUENCE) // [r"fatal error: static_assert failed due to requirement 'invalid<util::SequenceB, util::SequenceA>': Attempting to post a statically-sequenced task to the wrong static sequence!"]
-  bar.Post(FROM_HERE, &Bar::Qux);
-#endif
-}
-
-}  // namespace util
diff --git a/chromecast/browser/android/apk/AndroidManifest.xml.jinja2 b/chromecast/browser/android/apk/AndroidManifest.xml.jinja2
index 4056146..cbb1258b 100644
--- a/chromecast/browser/android/apk/AndroidManifest.xml.jinja2
+++ b/chromecast/browser/android/apk/AndroidManifest.xml.jinja2
@@ -31,7 +31,8 @@
                   android:supportsPictureInPicture="true"
                   android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|screenLayout|smallestScreenSize|uiMode"
                   android:excludeFromRecents="false"
-                  android:noHistory="false">
+                  android:noHistory="false"
+                  android:showWhenLocked="true">
         </activity>
 
         <!-- The following service entries exist in order to allow us to
diff --git a/chromecast/browser/android/apk/CastBrowserAndroidManifest.xml.jinja2 b/chromecast/browser/android/apk/CastBrowserAndroidManifest.xml.jinja2
index 2769d7e..36c8f97 100644
--- a/chromecast/browser/android/apk/CastBrowserAndroidManifest.xml.jinja2
+++ b/chromecast/browser/android/apk/CastBrowserAndroidManifest.xml.jinja2
@@ -57,7 +57,8 @@
                   android:supportsPictureInPicture="true"
                   android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|screenLayout|smallestScreenSize|uiMode"
                   android:excludeFromRecents="false"
-                  android:noHistory="false">
+                  android:noHistory="false"
+                  android:showWhenLocked="true">
         </activity>
 
         <!-- The following service entries exist in order to allow us to
diff --git a/chromeos/ash/components/network/network_state.cc b/chromeos/ash/components/network/network_state.cc
index e55d35f..2da2764 100644
--- a/chromeos/ash/components/network/network_state.cc
+++ b/chromeos/ash/components/network/network_state.cc
@@ -475,8 +475,14 @@
   return type() == shill::kTypeCellular && IsStubCellularServicePath(path());
 }
 
-bool NetworkState::IsShillCaptivePortal() const {
-  switch (portal_state_) {
+NetworkState::PortalState NetworkState::GetPortalState() const {
+  return chrome_portal_state_ != PortalState::kUnknown ? chrome_portal_state_
+                                                       : shill_portal_state_;
+}
+
+bool NetworkState::IsCaptivePortal() const {
+  PortalState portal_state = GetPortalState();
+  switch (portal_state) {
     case PortalState::kUnknown:
     case PortalState::kOnline:
       return false;
@@ -490,10 +496,6 @@
   return false;
 }
 
-bool NetworkState::IsCaptivePortal() const {
-  return is_chrome_captive_portal_ || IsShillCaptivePortal();
-}
-
 bool NetworkState::IsSecure() const {
   return !security_class_.empty() && security_class_ != shill::kSecurityNone;
 }
@@ -660,21 +662,23 @@
       properties.FindIntKey(kPortalDetectionFailedStatusCodeProperty)
           .value_or(0);
   if (connection_state_ == shill::kStateNoConnectivity) {
-    portal_state_ = PortalState::kNoInternet;
+    shill_portal_state_ = PortalState::kNoInternet;
   } else if (connection_state_ == shill::kStateRedirectFound) {
-    portal_state_ = status_code == net::HTTP_PROXY_AUTHENTICATION_REQUIRED
-                        ? PortalState::kProxyAuthRequired
-                        : PortalState::kPortal;
+    shill_portal_state_ = status_code == net::HTTP_PROXY_AUTHENTICATION_REQUIRED
+                              ? PortalState::kProxyAuthRequired
+                              : PortalState::kPortal;
   } else if (connection_state_ == shill::kStatePortalSuspected) {
-    portal_state_ = PortalState::kPortalSuspected;
+    shill_portal_state_ = PortalState::kPortalSuspected;
   } else {
-    portal_state_ = PortalState::kOnline;
+    shill_portal_state_ = PortalState::kOnline;
   }
 
-  UMA_HISTOGRAM_ENUMERATION("CaptivePortal.NetworkStateResult", portal_state_);
-  if (portal_state_ != PortalState::kOnline) {
-    NET_LOG(EVENT) << "Network is in captive portal state: " << NetworkId(this)
-                   << " status_code=" << status_code;
+  UMA_HISTOGRAM_ENUMERATION("CaptivePortal.NetworkStateResult",
+                            shill_portal_state_);
+  if (shill_portal_state_ != PortalState::kOnline) {
+    NET_LOG(EVENT) << "Shill captive portal state for: " << NetworkId(this)
+                   << " = " << static_cast<int>(shill_portal_state_)
+                   << " ,status_code=" << status_code;
     base::UmaHistogramSparse("CaptivePortal.NetworkStateStatusCode",
                              std::abs(status_code));
   }
diff --git a/chromeos/ash/components/network/network_state.h b/chromeos/ash/components/network/network_state.h
index e3e1d03..05ca6b9 100644
--- a/chromeos/ash/components/network/network_state.h
+++ b/chromeos/ash/components/network/network_state.h
@@ -184,8 +184,6 @@
     return shill_connect_error_;
   }
 
-  PortalState portal_state() const { return portal_state_; }
-
   // Returns true if the network is managed by policy (determined by
   // |onc_source_|).
   bool IsManagedByPolicy() const;
@@ -219,10 +217,14 @@
   // service.
   bool IsNonShillCellularNetwork() const;
 
-  // Returns true if Shill has detected a captive portal state.
-  bool IsShillCaptivePortal() const;
+  PortalState shill_portal_state() const { return shill_portal_state_; }
 
-  // Returns true if Shill or Chrome have detected a captive portal state.
+  // Returns the captive portal state for the network, prioritizing Chrome
+  // portal detection results if set.
+  PortalState GetPortalState() const;
+
+  // Returns true if GetPortalState is not unknown or online.
+  // TODO(b/207069182): Deprecate and use GetPortalState directly.
   bool IsCaptivePortal() const;
 
   // Returns true if the security type is non-empty and not 'none'.
@@ -303,6 +305,10 @@
 
   void SetVpnProvider(const std::string& id, const std::string& type);
 
+  void set_chrome_portal_state(PortalState portal_state) {
+    chrome_portal_state_ = portal_state;
+  }
+
   // Set to true if the network is a member of Manager.Services.
   bool visible_ = false;
 
@@ -366,8 +372,8 @@
   std::string tether_carrier_;
   int battery_percentage_ = 0;
 
-  // Portal state is derived from connection_state_ and Shill portal properties.
-  PortalState portal_state_ = PortalState::kUnknown;
+  PortalState shill_portal_state_ = PortalState::kUnknown;
+  PortalState chrome_portal_state_ = PortalState::kUnknown;
 
   // Whether the current device has already connected to the tether host device
   // providing the hotspot corresponding to this NetworkState.
@@ -383,10 +389,6 @@
   // Set while a network connect request is queued. Cleared on connect or
   // if the request is aborted.
   bool connect_requested_ = false;
-
-  // Set by NetworkStateHandler if Chrome detects a captive portal state.
-  // See IsCaptivePortal() for details.
-  bool is_chrome_captive_portal_ = false;
 };
 
 }  // namespace ash
diff --git a/chromeos/ash/components/network/network_state_handler.cc b/chromeos/ash/components/network/network_state_handler.cc
index d45a847..674d2613 100644
--- a/chromeos/ash/components/network/network_state_handler.cc
+++ b/chromeos/ash/components/network/network_state_handler.cc
@@ -46,7 +46,7 @@
 bool ConnectionStateChanged(const NetworkState* network,
                             const std::string& prev_connection_state,
                             NetworkState::PortalState prev_portal_state) {
-  if (network->portal_state() != prev_portal_state)
+  if (network->GetPortalState() != prev_portal_state)
     return true;
   std::string connection_state = network->connection_state();
   bool prev_idle = prev_connection_state.empty() ||
@@ -564,15 +564,14 @@
   network->shill_connect_error_ = shill_connect_error;
 }
 
-void NetworkStateHandler::SetNetworkChromePortalDetected(
+void NetworkStateHandler::SetNetworkChromePortalState(
     const std::string& service_path,
-    bool portal_detected) {
+    NetworkState::PortalState portal_state) {
   NetworkState* network = GetModifiableNetworkState(service_path);
-  if (!network || network->is_chrome_captive_portal_ == portal_detected)
+  if (!network)
     return;
   bool was_captive_portal = network->IsCaptivePortal();
-  network->is_chrome_captive_portal_ = portal_detected;
-  // Only notify a connection state change if IsCaptivePortal() changed.
+  network->set_chrome_portal_state(portal_state);
   if (was_captive_portal == network->IsCaptivePortal())
     return;
   network_list_sorted_ = false;
@@ -997,7 +996,7 @@
   network_list_sorted_ = false;
 
   if (ConnectionStateChanged(tether_network_state, prev_connection_state,
-                             tether_network_state->portal_state())) {
+                             tether_network_state->GetPortalState())) {
     NET_LOG(EVENT) << "Changing connection state for Tether network with GUID "
                    << guid << ". Old state: " << prev_connection_state << ", "
                    << "New state: " << connection_state;
@@ -1430,7 +1429,7 @@
   DCHECK(network);
   bool network_property_updated = false;
   std::string prev_connection_state = network->connection_state();
-  NetworkState::PortalState prev_portal_state = network->portal_state();
+  NetworkState::PortalState prev_portal_state = network->GetPortalState();
   bool metered = false;
   bool had_icccid_before_update = !network->iccid().empty();
   for (const auto iter : properties.DictItems()) {
@@ -1487,7 +1486,7 @@
     return;
   }
   std::string prev_connection_state = network->connection_state();
-  NetworkState::PortalState prev_portal_state = network->portal_state();
+  NetworkState::PortalState prev_portal_state = network->GetPortalState();
   std::string prev_profile_path = network->profile_path();
   bool had_icccid_before_update = !network->iccid().empty();
   changed |= network->PropertyChanged(key, value);
@@ -2080,9 +2079,9 @@
     observer.DefaultNetworkChanged(default_network);
 
   if (default_network &&
-      (default_network->portal_state() != default_network_portal_state_ ||
+      (default_network->GetPortalState() != default_network_portal_state_ ||
        default_network->proxy_config() != default_network_proxy_config_)) {
-    default_network_portal_state_ = default_network->portal_state();
+    default_network_portal_state_ = default_network->GetPortalState();
     default_network_proxy_config_ = default_network->proxy_config().Clone();
     for (auto& observer : observers_) {
       observer.PortalStateChanged(default_network,
diff --git a/chromeos/ash/components/network/network_state_handler.h b/chromeos/ash/components/network/network_state_handler.h
index 361c9ed..e43f691d9 100644
--- a/chromeos/ash/components/network/network_state_handler.h
+++ b/chromeos/ash/components/network/network_state_handler.h
@@ -225,11 +225,10 @@
   void SetShillConnectError(const std::string& service_path,
                             const std::string& shill_connect_error);
 
-  // Called from Chrome's network portal detector to indicate whether Chrome has
-  // detected that the network is in a captive portal state. This may or may
-  // not match the network's |is_captive_portal_| which is provided by Shill.
-  void SetNetworkChromePortalDetected(const std::string& service_path,
-                                      bool portal_detected);
+  // Called from Chrome's network portal detector when Chrome has detected
+  // that a network is in a captive portal state.
+  void SetNetworkChromePortalState(const std::string& service_path,
+                                   NetworkState::PortalState portal_state);
 
   // Returns the aa:bb formatted hardware (MAC) address for the first connected
   // network matching |type|, or an empty string if none is connected.
diff --git a/chromeos/ash/components/network/network_state_handler_unittest.cc b/chromeos/ash/components/network/network_state_handler_unittest.cc
index fdc7f1c..8602887 100644
--- a/chromeos/ash/components/network/network_state_handler_unittest.cc
+++ b/chromeos/ash/components/network/network_state_handler_unittest.cc
@@ -2579,25 +2579,6 @@
       NetworkListContainsPath(active_networks, kShillManagerClientStubWifi2));
 }
 
-TEST_F(NetworkStateHandlerTest, SetNetworkChromePortalDetected) {
-  const NetworkState* network = network_state_handler_->DefaultNetwork();
-  EXPECT_FALSE(network->IsCaptivePortal());
-
-  test_observer_->reset_updates();
-  network_state_handler_->SetNetworkChromePortalDetected(network->path(), true);
-  base::RunLoop().RunUntilIdle();
-  EXPECT_TRUE(network->IsCaptivePortal());
-  EXPECT_EQ(1,
-            test_observer_->ConnectionStateChangesForService(network->path()));
-  network_state_handler_->SetNetworkChromePortalDetected(network->path(),
-                                                         false);
-  base::RunLoop().RunUntilIdle();
-  network = network_state_handler_->DefaultNetwork();
-  EXPECT_FALSE(network->IsCaptivePortal());
-  EXPECT_EQ(2,
-            test_observer_->ConnectionStateChangesForService(network->path()));
-}
-
 TEST_F(NetworkStateHandlerTest, Hostname) {
   const std::string kTestHostname = "Test Hostname";
   network_state_handler_->SetHostname(kTestHostname);
diff --git a/chromeos/ash/components/network/network_state_unittest.cc b/chromeos/ash/components/network/network_state_unittest.cc
index 587e47d..1df016ca 100644
--- a/chromeos/ash/components/network/network_state_unittest.cc
+++ b/chromeos/ash/components/network/network_state_unittest.cc
@@ -192,26 +192,28 @@
   // State != portal -> portal_state() == kOnline
   EXPECT_TRUE(SetStringProperty(shill::kStateProperty, shill::kStateReady));
   SignalInitialPropertiesReceived();
-  EXPECT_EQ(network_state_.portal_state(), NetworkState::PortalState::kOnline);
+  EXPECT_EQ(network_state_.GetPortalState(),
+            NetworkState::PortalState::kOnline);
 
   // State == redirect-found -> portal_state() == kPortal
   EXPECT_TRUE(
       SetStringProperty(shill::kStateProperty, shill::kStateRedirectFound));
   SignalInitialPropertiesReceived();
-  EXPECT_EQ(network_state_.portal_state(), NetworkState::PortalState::kPortal);
+  EXPECT_EQ(network_state_.GetPortalState(),
+            NetworkState::PortalState::kPortal);
 
   // State == portal-suspected -> portal_state() == kPortalSuspected
   EXPECT_TRUE(
       SetStringProperty(shill::kStateProperty, shill::kStatePortalSuspected));
   SignalInitialPropertiesReceived();
-  EXPECT_EQ(network_state_.portal_state(),
+  EXPECT_EQ(network_state_.GetPortalState(),
             NetworkState::PortalState::kPortalSuspected);
 
   // State == no-connectivity -> portal_state() == kOffline
   EXPECT_TRUE(
       SetStringProperty(shill::kStateProperty, shill::kStateNoConnectivity));
   SignalInitialPropertiesReceived();
-  EXPECT_EQ(network_state_.portal_state(),
+  EXPECT_EQ(network_state_.GetPortalState(),
             NetworkState::PortalState::kNoInternet);
 }
 
diff --git a/chromeos/crosapi/mojom/app_service_types.mojom b/chromeos/crosapi/mojom/app_service_types.mojom
index 75f19f8..32595f2 100644
--- a/chromeos/crosapi/mojom/app_service_types.mojom
+++ b/chromeos/crosapi/mojom/app_service_types.mojom
@@ -193,7 +193,7 @@
 enum ConditionType {
   [Default] kScheme,  // Matches the URL scheme (e.g. https, tel).
   kHost,              // Matches the URL host (e.g. www.google.com).
-  kPattern,           // Matches the URL pattern (e.g. /abc/*).
+  kPath  ,            // Matches the URL path (e.g. /abc/*).
   kAction,            // Matches the action type (e.g. view, send).
   kMimeType,          // Matches the top-level mime type (e.g. text/plain).
   [MinVersion=1] kFileExtension,  // Deprecated.
diff --git a/chromeos/crosapi/mojom/app_service_types_mojom_traits.cc b/chromeos/crosapi/mojom/app_service_types_mojom_traits.cc
index b155ad6..b815fe1 100644
--- a/chromeos/crosapi/mojom/app_service_types_mojom_traits.cc
+++ b/chromeos/crosapi/mojom/app_service_types_mojom_traits.cc
@@ -548,8 +548,8 @@
       return crosapi::mojom::ConditionType::kScheme;
     case apps::ConditionType::kHost:
       return crosapi::mojom::ConditionType::kHost;
-    case apps::ConditionType::kPattern:
-      return crosapi::mojom::ConditionType::kPattern;
+    case apps::ConditionType::kPath:
+      return crosapi::mojom::ConditionType::kPath;
     case apps::ConditionType::kAction:
       return crosapi::mojom::ConditionType::kAction;
     case apps::ConditionType::kMimeType:
@@ -586,8 +586,8 @@
     case crosapi::mojom::ConditionType::kHost:
       *output = apps::ConditionType::kHost;
       return true;
-    case crosapi::mojom::ConditionType::kPattern:
-      *output = apps::ConditionType::kPattern;
+    case crosapi::mojom::ConditionType::kPath:
+      *output = apps::ConditionType::kPath;
       return true;
     case crosapi::mojom::ConditionType::kAction:
       *output = apps::ConditionType::kAction;
diff --git a/chromeos/crosapi/mojom/app_service_types_mojom_traits_unittest.cc b/chromeos/crosapi/mojom/app_service_types_mojom_traits_unittest.cc
index 7162929..8635c426 100644
--- a/chromeos/crosapi/mojom/app_service_types_mojom_traits_unittest.cc
+++ b/chromeos/crosapi/mojom/app_service_types_mojom_traits_unittest.cc
@@ -578,7 +578,7 @@
                                          apps::PatternMatchType::kNone);
   intent_filter->AddSingleValueCondition(apps::ConditionType::kHost, "2",
                                          apps::PatternMatchType::kLiteral);
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern, "3",
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath, "3",
                                          apps::PatternMatchType::kPrefix);
   intent_filter->AddSingleValueCondition(apps::ConditionType::kAction, "4",
                                          apps::PatternMatchType::kGlob);
@@ -617,7 +617,7 @@
   }
   {
     auto& condition = filter->conditions[2];
-    EXPECT_EQ(condition->condition_type, apps::ConditionType::kPattern);
+    EXPECT_EQ(condition->condition_type, apps::ConditionType::kPath);
     ASSERT_EQ(condition->condition_values.size(), 1U);
     EXPECT_EQ(condition->condition_values[0]->match_type,
               apps::PatternMatchType::kPrefix);
@@ -1143,7 +1143,7 @@
 
   apps::IntentFilters removed_filters;
   auto intent_filter3 = std::make_unique<apps::IntentFilter>();
-  intent_filter3->AddSingleValueCondition(apps::ConditionType::kPattern, "3",
+  intent_filter3->AddSingleValueCondition(apps::ConditionType::kPath, "3",
                                           apps::PatternMatchType::kPrefix);
   auto intent_filter4 = std::make_unique<apps::IntentFilter>();
   intent_filter4->AddSingleValueCondition(apps::ConditionType::kAction, "4",
diff --git a/chromeos/language/language_packs/language_pack_manager.cc b/chromeos/language/language_packs/language_pack_manager.cc
index d5569853..e69c921 100644
--- a/chromeos/language/language_packs/language_pack_manager.cc
+++ b/chromeos/language/language_packs/language_pack_manager.cc
@@ -80,8 +80,8 @@
   return *all_dlc_ids;
 }
 
-const base::flat_map<std::string, std::string>& GetAllBasePayloadDlcIds() {
-  // Map of all features and corresponding Base Payload DLC IDs.
+const base::flat_map<std::string, std::string>& GetAllBasePackDlcIds() {
+  // Map of all features and corresponding Base Pack DLC IDs.
   static const base::NoDestructor<base::flat_map<std::string, std::string>>
       all_dlc_ids({
           {kHandwritingFeatureId, "handwriting"},
@@ -106,15 +106,14 @@
   return it->second;
 }
 
-// Finds the ID of the DLC corresponding to the Base Payload for a feature.
-// Returns the DLC ID if the feature has a Base Payload or absl::nullopt
+// Finds the ID of the DLC corresponding to the Base Pack for a feature.
+// Returns the DLC ID if the feature has a Base Pack or absl::nullopt
 // otherwise.
-absl::optional<std::string> GetDlcIdForBasePayload(
-    const std::string& feature_id) {
+absl::optional<std::string> GetDlcIdForBasePack(const std::string& feature_id) {
   // We search in the static list for the given |feature_id|.
-  const auto it = GetAllBasePayloadDlcIds().find(feature_id);
+  const auto it = GetAllBasePackDlcIds().find(feature_id);
 
-  if (it == GetAllBasePayloadDlcIds().end()) {
+  if (it == GetAllBasePackDlcIds().end()) {
     return absl::nullopt;
   }
 
@@ -244,12 +243,12 @@
       *dlc_id, base::BindOnce(&OnUninstallDlcComplete, std::move(callback)));
 }
 
-void LanguagePackManager::InstallBasePayload(
+void LanguagePackManager::InstallBasePack(
     const std::string& feature_id,
-    OnInstallBasePayloadCompleteCallback callback) {
-  const absl::optional<std::string> dlc_id = GetDlcIdForBasePayload(feature_id);
+    OnInstallBasePackCompleteCallback callback) {
+  const absl::optional<std::string> dlc_id = GetDlcIdForBasePack(feature_id);
 
-  // If the given |feature_id| doesn't have a Base Payload, run callback and
+  // If the given |feature_id| doesn't have a Base Pack, run callback and
   // don't reach the DLC Service.
   if (!dlc_id) {
     std::move(callback).Run(CreateInvalidDlcPackResult());
diff --git a/chromeos/language/language_packs/language_pack_manager.h b/chromeos/language/language_packs/language_pack_manager.h
index 03e51be7..cc0cec5 100644
--- a/chromeos/language/language_packs/language_pack_manager.h
+++ b/chromeos/language/language_packs/language_pack_manager.h
@@ -79,11 +79,11 @@
     base::OnceCallback<void(const PackResult& pack_result)>;
 using OnUninstallCompleteCallback =
     base::OnceCallback<void(const PackResult& pack_result)>;
-using OnInstallBasePayloadCompleteCallback =
+using OnInstallBasePackCompleteCallback =
     base::OnceCallback<void(const PackResult& pack_result)>;
 
 // This class manages all Language Packs and their dependencies (called Base
-// Payloads) on the device.
+// Packs) on the device.
 // This is a Singleton and needs to be accessed via Get().
 class LanguagePackManager : public DlcserviceClient::Observer {
  public:
@@ -111,8 +111,8 @@
   // Installs the Language Pack.
   // It takes a callback that will be triggered once the operation is done.
   // A state is passed to the callback.
-  // TODO(crbug.com/1320137): If |feature_id| has a corresponding Base Payload,
-  // then the Base Payload should be installed first.
+  // TODO(crbug.com/1320137): If |feature_id| has a corresponding Base Pack,
+  // then the Base Pack should be installed first.
   void InstallPack(const std::string& feature_id,
                    const std::string& locale,
                    OnInstallCompleteCallback callback);
@@ -137,9 +137,9 @@
                   const std::string& locale,
                   OnUninstallCompleteCallback callback);
 
-  // Explicitly installs the base payload for |feature_id|.
-  void InstallBasePayload(const std::string& feature_id,
-                          OnInstallBasePayloadCompleteCallback callback);
+  // Explicitly installs the base pack for |feature_id|.
+  void InstallBasePack(const std::string& feature_id,
+                       OnInstallBasePackCompleteCallback callback);
 
   // Adds an observer to the observer list.
   void AddObserver(Observer* observer);
diff --git a/chromeos/language/language_packs/language_pack_manager_unittest.cc b/chromeos/language/language_packs/language_pack_manager_unittest.cc
index fff98f6..d4072ea9 100644
--- a/chromeos/language/language_packs/language_pack_manager_unittest.cc
+++ b/chromeos/language/language_packs/language_pack_manager_unittest.cc
@@ -329,12 +329,12 @@
   EXPECT_FALSE(available);
 }
 
-TEST_F(LanguagePackManagerTest, InstallBasePayloadSuccess) {
+TEST_F(LanguagePackManagerTest, InstallBasePackSuccess) {
   dlcservice_client_->set_install_error(dlcservice::kErrorNone);
   dlcservice_client_->set_install_root_path("/path");
 
   // We need to use an existing Pack ID, so that we do get a result back.
-  manager_->InstallBasePayload(
+  manager_->InstallBasePack(
       kHandwritingFeatureId,
       base::BindOnce(&LanguagePackManagerTest::InstallTestCallback,
                      base::Unretained(this)));
@@ -345,11 +345,11 @@
   EXPECT_EQ(pack_result_.path, "/path");
 }
 
-TEST_F(LanguagePackManagerTest, InstallBasePayloadFailureTestFailure) {
+TEST_F(LanguagePackManagerTest, InstallBasePackFailureTestFailure) {
   dlcservice_client_->set_install_error(dlcservice::kErrorInternal);
 
   // We need to use an existing Pack ID, so that we do get a result back.
-  manager_->InstallBasePayload(
+  manager_->InstallBasePack(
       kHandwritingFeatureId,
       base::BindOnce(&LanguagePackManagerTest::InstallTestCallback,
                      base::Unretained(this)));
diff --git a/chromeos/services/network_config/cros_network_config.cc b/chromeos/services/network_config/cros_network_config.cc
index dbb84168..15897bc 100644
--- a/chromeos/services/network_config/cros_network_config.cc
+++ b/chromeos/services/network_config/cros_network_config.cc
@@ -371,7 +371,7 @@
   result->guid = network->guid();
   result->name =
       network_name_util::GetNetworkName(cellular_esim_profile_handler, network);
-  result->portal_state = GetMojoPortalState(network->portal_state());
+  result->portal_state = GetMojoPortalState(network->GetPortalState());
   result->priority = network->priority();
   result->prohibited_by_policy = network->blocked_by_policy();
   result->source = GetMojoOncSource(network);
@@ -1532,7 +1532,7 @@
       ip_configs.push_back(GetIPConfig(&ip_config_value));
     result->ip_configs = std::move(ip_configs);
   }
-  result->portal_state = GetMojoPortalState(network_state->portal_state());
+  result->portal_state = GetMojoPortalState(network_state->GetPortalState());
   const base::Value* saved_ip_config =
       GetDictionary(properties, ::onc::network_config::kSavedIPConfig);
   if (saved_ip_config)
diff --git a/chromeos/strings/chromeos_strings_af.xtb b/chromeos/strings/chromeos_strings_af.xtb
index 34d28a12..87de35cb 100644
--- a/chromeos/strings/chromeos_strings_af.xtb
+++ b/chromeos/strings/chromeos_strings_af.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Eindpunt</translation>
 <translation id="3069085583900247081">Toets het misluk</translation>
-<translation id="3076243757415932261">Bekragtig tans komponente …</translation>
 <translation id="3083667275341675831">Konnektiwiteitdiagnostiek</translation>
 <translation id="3084958266922136097">Deaktiveer sluimerskerm</translation>
 <translation id="3091839911843451378">Misluk – Gestop</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Is jy seker jy wil alle drukgeskiedenis uitvee? Jou aangaande druktake sal nie uitgevee word nie.</translation>
 <translation id="3383751554789092165">Verander toestelinligting soos nodig.</translation>
 <translation id="3404249063913988450">Aktiveer sluimerskerm</translation>
-<translation id="3404770484521709967">Komponente is korrek geïnstalleer.</translation>
 <translation id="3413935475507503304">Klik Volgende om met die opdatering voort te gaan.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Sekuriteit</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Ou wagwoord</translation>
 <translation id="4453205916657964690">Subnetmasker</translation>
 <translation id="4454245904991689773">Skandeer na</translation>
-<translation id="4472575034687746823">Kom aan die gang</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Kon nie die nieversteknetwerkdeurgang pieng nie</translation>
 <translation id="4500213108254186382">Dekselversnellingsmeter</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Skryfbeskerming is steeds afgeskakel. Skakel Skryfbeskerming aan om voort te gaan.</translation>
 <translation id="8075838845814659848">Oorblywende batterykrag</translation>
 <translation id="8082366717211101304">Kan nie DNS van Android-programme af oplos nie</translation>
-<translation id="8083281199617904460">Hierdie herstelproses is vir opgeleide hersteltegnici bedoel. Moenie begin voordat die wanfunksionerende komponente vervang is nie.</translation>
 <translation id="808894953321890993">Verander wagwoord</translation>
 <translation id="8104083085214006426">Jy gebruik tans 'n oop en onveilige netwerk</translation>
 <translation id="8109786307828817014">Gaan voort met mislukte kalibrerings?</translation>
diff --git a/chromeos/strings/chromeos_strings_am.xtb b/chromeos/strings/chromeos_strings_am.xtb
index 2a58075..cce4bd1 100644
--- a/chromeos/strings/chromeos_strings_am.xtb
+++ b/chromeos/strings/chromeos_strings_am.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">አድስ</translation>
 <translation id="3009958530611748826">የሚያስቀምጡበትን አቃፊ ይምረጡ</translation>
 <translation id="3017079585324758401">ጀርባ</translation>
+<translation id="302435934487327038">መጫን ተጠናቅቋል</translation>
 <translation id="3027578600144895987">ካሜራን ዝጋ</translation>
 <translation id="3031560714565892478">መሣሪያ የቪዲዮ ካሜራ ነው።</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> ሚአ</translation>
 <translation id="3056720590588772262">የማለቂያ ነጥብ</translation>
 <translation id="3069085583900247081">ሙከራ አልተሳካም</translation>
-<translation id="3076243757415932261">ክፍለ-አባላትን በማረጋገጥ ላይ...</translation>
 <translation id="3083667275341675831">የግንኙነት ምርመራዎች</translation>
 <translation id="3084958266922136097">የማያ ገጽ ማቆያን አሰናክል</translation>
 <translation id="3091839911843451378">አልተሳካም - ተቋርጧል</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">እርግጠኛ ነዎት ሁሉንም የህትመት ታሪክ ማጥፋት ይፈልጋሉ? በመካሄድ ላይ ያሉ የህትመት ስራዎችዎ አይጠፉም።</translation>
 <translation id="3383751554789092165">የመሣሪያ መረጃን እንደ አስፈላጊነቱ ይቀይሩ።</translation>
 <translation id="3404249063913988450">የማያ ገጽ ማቆያን አንቃ</translation>
-<translation id="3404770484521709967">ክፍለ-አካላት በትክክል ተጭነዋል።</translation>
 <translation id="3413935475507503304">በዝማኔው ለመቀጠል ቀጣይ የሚለውን ጠቅ ያድርጉ።</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">የደህንነት ጥበቃ</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">የቀድሞው የይለፍ ቃል</translation>
 <translation id="4453205916657964690">ሰብኔት ማስክ</translation>
 <translation id="4454245904991689773">ቃኝ ወደ</translation>
-<translation id="4472575034687746823">ይጀምሩ</translation>
 <translation id="4479639480957787382">ኢተርኔት</translation>
 <translation id="4483049906298469269">ነባሪ ያልሆነውን የአውታረ መረብ አግባቢ ፍኖት ፒንግ ማድረግ አልተሳካም</translation>
 <translation id="4500213108254186382">የክዳን የፍጥነት መለኪያ መሣሪያ</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">በማሄድ ላይ</translation>
 <translation id="6620487321149975369">የህትመት ስራዎች በሰው ካልተወገዱ በቀር በታሪክ ውስጥ ይታያሉ</translation>
 <translation id="6643016212128521049">አጽዳ</translation>
+<translation id="6644568396961840069">ፋይሉን ማስቀመጥ አልቻለም። የተለየ ውጫዊ ማከማቻ ለመሰካት ይሞክሩ ወይም በኋላ ላይ በድጋሚ ይሞክሩ።</translation>
 <translation id="6647510110698214773">የምስጠራ ስልተ-ቀመር</translation>
 <translation id="6650062777702288430">የካና/ፊደል-ቁጥራዊ መቀየሪያ</translation>
 <translation id="6657585470893396449">የይለፍ ቃል</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">ከማየት ውጪ የማይፈቅድ አሁንም እንደጠፋ ነው። ለመቀጠል ከማየት ውጪ የማይፈቅድን ያብሩት።</translation>
 <translation id="8075838845814659848">የሚቀረው ኃይል መሙላት</translation>
 <translation id="8082366717211101304">ከAndroid መተግበሪያዎች ዲኤንኤስን መፍታት አልተቻለም</translation>
-<translation id="8083281199617904460">ይህ የጥገና ሂደት ለሰለጠነ የጥገና ቴክኒሺያን የታሰበ ነው። የተበላሹ ክፍለ-አካላትን ከተኩ በኋላ ብቻ ይጀምሩ።</translation>
 <translation id="808894953321890993">የይለፍ ቃል ለውጥ</translation>
 <translation id="8104083085214006426">ክፍት እና ደህንነቱ ያልተጠበቀ አውታረ መረብ እየተጠቀሙ ነው</translation>
 <translation id="8109786307828817014">ካልተሳኩ ማስተካከሎች ጋር ይቀጥል?</translation>
diff --git a/chromeos/strings/chromeos_strings_ar.xtb b/chromeos/strings/chromeos_strings_ar.xtb
index 1ce3f1ba..e5da7f4 100644
--- a/chromeos/strings/chromeos_strings_ar.xtb
+++ b/chromeos/strings/chromeos_strings_ar.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">إعادة التحميل</translation>
 <translation id="3009958530611748826">اختيار مجلّد لحفظ عمليات المسح الضوئي فيه</translation>
 <translation id="3017079585324758401">الخلفية</translation>
+<translation id="302435934487327038">اكتملت عملية التثبيت</translation>
 <translation id="3027578600144895987">إغلاق الكاميرا</translation>
 <translation id="3031560714565892478">الجهاز هو كاميرا فيديو.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> ميلي أمبير</translation>
 <translation id="3056720590588772262">نقطة النهاية</translation>
 <translation id="3069085583900247081">تعذّر إجراء اختبار</translation>
-<translation id="3076243757415932261">جارٍ التحقّق من المكوّنات...</translation>
 <translation id="3083667275341675831">بيانات تشخيص الاتصال</translation>
 <translation id="3084958266922136097">إيقاف شاشة التوقف</translation>
 <translation id="3091839911843451378">تعذَّرت الطباعة - توقّفت الطابعة</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">هل تريد فعلاً محو سجلّ الطباعة بالكامل؟ لن يتم محو مهام الطباعة الجارية.</translation>
 <translation id="3383751554789092165">يُرجى تغيير معلومات الجهاز حسب الحاجة.</translation>
 <translation id="3404249063913988450">تفعيل شاشة التوقف</translation>
-<translation id="3404770484521709967">تم تثبيت المكوّنات بشكل صحيح.</translation>
 <translation id="3413935475507503304">لمواصلة عملية التحديث، انقر على "التالي".</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">أمن المعلومات</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">كلمة المرور القديمة</translation>
 <translation id="4453205916657964690">قناع الشبكة الفرعية</translation>
 <translation id="4454245904991689773">حفظ الملفات التي تم مسحها ضوئيًا في</translation>
-<translation id="4472575034687746823">الخطوات الأولى</translation>
 <translation id="4479639480957787382">إيثرنت</translation>
 <translation id="4483049906298469269">تعذَّر فحص اتصال بوابة الشبكة غير التلقائية.</translation>
 <translation id="4500213108254186382">مقياس التسارع المُثبَّت في غطاء الجهاز</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">قيد التشغيل</translation>
 <translation id="6620487321149975369">ستظهر طلبات الطباعة في السجلّ إلّا إذا تمت إزالتها يدويًا.</translation>
 <translation id="6643016212128521049">محو</translation>
+<translation id="6644568396961840069">تعذَّر حفظ الملف. يُرجى محاولة توصيل وحدة تخزين خارجية مختلفة أو إعادة المحاولة لاحقًا.</translation>
 <translation id="6647510110698214773">خوارزمية التشفير</translation>
 <translation id="6650062777702288430">مفتاح التبديل بين لوحة مفاتيح "كانا" ولوحة المفاتيح الأبجدية الرقمية</translation>
 <translation id="6657585470893396449">كلمة المرور</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">لا تزال ميزة "وضع القراءة فقط" متوقّفة، وعليك تفعيلها للمتابعة.</translation>
 <translation id="8075838845814659848">شحن البطارية المتبقي</translation>
 <translation id="8082366717211101304">‏تعذَّر التحويل باستخدام نظام أسماء النطاقات (DNS) من تطبيقات Android.</translation>
-<translation id="8083281199617904460">إنّ إجراء عملية الإصلاح هذه مقصور على فنيّي الإصلاح المدرّبين. يُرجى بدء عملية الإصلاح بعد استبدال المكوّنات المُعطّلة.</translation>
 <translation id="808894953321890993">تغيير كلمة المرور</translation>
 <translation id="8104083085214006426">أنت تستخدم شبكةً مفتوحة وغير آمنة.</translation>
 <translation id="8109786307828817014">هل تريد المتابعة رغم تعذّر معايرة المكوّنات؟</translation>
diff --git a/chromeos/strings/chromeos_strings_as.xtb b/chromeos/strings/chromeos_strings_as.xtb
index afff424..1d76cf6c 100644
--- a/chromeos/strings/chromeos_strings_as.xtb
+++ b/chromeos/strings/chromeos_strings_as.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />এমএ</translation>
 <translation id="3056720590588772262">এণ্ডপইণ্ট</translation>
 <translation id="3069085583900247081">পৰীক্ষা বিফল হৈছে</translation>
-<translation id="3076243757415932261">উপাদানৰ মান্যতা নিৰূপণ কৰি থকা হৈছে...</translation>
 <translation id="3083667275341675831">সংযোগ সম্পৰ্কীয় ডায়গন’ষ্টিক্স</translation>
 <translation id="3084958266922136097">স্ক্ৰীন ছেভাৰ অক্ষম কৰক</translation>
 <translation id="3091839911843451378">বিফল হৈছে - বন্ধ হৈছে</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">আপুনি সকলো প্ৰিণ্টৰ ইতিহাস নিশ্চিতভাৱে মচিব বিচাৰেনে? আপোনাৰ চলি থকা প্ৰিণ্টৰ কামসমূহ মচা নহয়।</translation>
 <translation id="3383751554789092165">প্ৰয়োজন অনুসৰি ডিভাইচৰ তথ্য সলনি কৰক।</translation>
 <translation id="3404249063913988450">স্ক্ৰীন ছেভাৰ সক্ষম কৰক</translation>
-<translation id="3404770484521709967">উপাদানসমূহ সঠিকভাৱে ইনষ্টল হৈছে।</translation>
 <translation id="3413935475507503304">আপডে’টটো কাৰ্যকৰী কৰিবলৈ, পৰৱৰ্তীত টিপক।</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">সুৰক্ষা</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">পুৰণি পাছৱৰ্ড</translation>
 <translation id="4453205916657964690">ছাবনেট মাস্ক</translation>
 <translation id="4454245904991689773">স্কেন কৰি ইয়াত ছেভ কৰক</translation>
-<translation id="4472575034687746823">আৰম্ভ কৰক</translation>
 <translation id="4479639480957787382">ইথাৰনেট</translation>
 <translation id="4483049906298469269">ডিফ’ল্ট হিচাপে নথকা নেটৱৰ্কৰ গে’টৱে’টোক পিং কৰাত বিফল হ'ল</translation>
 <translation id="4500213108254186382">লিড্‌ এক্সেলেৰ’মিটাৰ</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">ৰাইট কৰিব নোৱৰাকৈ সুৰক্ষিত কৰাটো এতিয়াও অফ কৰি থোৱা আছে। আগবাঢ়িবলৈ ইয়াক অন কৰক।</translation>
 <translation id="8075838845814659848">বাকী থকা চাৰ্জ</translation>
 <translation id="8082366717211101304">Android এপৰ পৰা DNS সমাধান কৰিব নোৱাৰি</translation>
-<translation id="8083281199617904460">মেৰামতি কৰাৰ প্ৰক্ৰিয়াটো কেৱল প্ৰশিক্ষণপ্ৰাপ্ত মেৰামতি কৰা টেকনিচিয়ানৰ বাবেহে। কাম নকৰা উপাদানসমূহ সলনি কৰাৰ পাছতহে ষ্টাৰ্ট কৰক।</translation>
 <translation id="808894953321890993">পাছৱৰ্ড সলনি কৰক</translation>
 <translation id="8104083085214006426">আপুনি এটা মুক্ত আৰু অসুৰক্ষিত নেটৱৰ্ক ব্যৱহাৰ কৰি আছে</translation>
 <translation id="8109786307828817014">বিফল হোৱা কেলিব্ৰে’শ্বনৰ সৈতে আগবাঢ়িবনে?</translation>
diff --git a/chromeos/strings/chromeos_strings_az.xtb b/chromeos/strings/chromeos_strings_az.xtb
index 131bced..a40ea18 100644
--- a/chromeos/strings/chromeos_strings_az.xtb
+++ b/chromeos/strings/chromeos_strings_az.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">Növ</translation>
 <translation id="2461822463642141190">Cari</translation>
 <translation id="2480034874476596812">Manual olaraq deaktiv edin</translation>
+<translation id="248546197012830854">Cihaz oflayndır. Yardım məzmununa baxmaq üçün Wi-Fi şəbəkəsinə qoşulun.</translation>
 <translation id="2491955442992294626">Başqa pəncərədən istifadə etdiyiniz zaman açarlar sınaqdan keçirilmir</translation>
 <translation id="2493126929778606526">Avtomatik seçilmiş ən yaxşı fotolarınız</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -235,12 +236,12 @@
 <translation id="3008341117444806826">YENİLƏYİN</translation>
 <translation id="3009958530611748826">Yadda saxlamaq üçün qovluq seçin</translation>
 <translation id="3017079585324758401">Arxa fon</translation>
+<translation id="302435934487327038">Quraşdırma tamamlandı</translation>
 <translation id="3027578600144895987">Kameranı bağlayın</translation>
 <translation id="3031560714565892478">Cihaz video kameradır.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">Son nöqtə</translation>
 <translation id="3069085583900247081">Test uğursuz oldu</translation>
-<translation id="3076243757415932261">Komponentlər doğrulanır...</translation>
 <translation id="3083667275341675831">Bağlantı Diaqnostikası</translation>
 <translation id="3084958266922136097">Ekran qoruyucusunu deaktiv edin</translation>
 <translation id="3091839911843451378">Alınmadı - Dayandırılıb</translation>
@@ -275,7 +276,6 @@
 <translation id="3369013195428705271">Bütün çap tarixçəsini silmək istədiyinizə əminsiniz? Davam edən çap işləriniz silinməyəcək.</translation>
 <translation id="3383751554789092165">Lazım olduqda cihaz məlumatlarını dəyişdirin.</translation>
 <translation id="3404249063913988450">Ekran qoruyucusunu aktiv edin</translation>
-<translation id="3404770484521709967">Komponentlər düzgün quraşdırılıb.</translation>
 <translation id="3413935475507503304">Güncəlləməyə keçmək üçün "Növbəti" seçiminə toxunun.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Təhlükəsizlik</translation>
@@ -395,7 +395,6 @@
 <translation id="445059817448385655">Köhnə parol</translation>
 <translation id="4453205916657964690">Alt şəbəkə maskası</translation>
 <translation id="4454245904991689773">Skanı burada saxlayın</translation>
-<translation id="4472575034687746823">Başlayın</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Qeyri-defolt şəbəkə girişini yoxlamaq alınmadı</translation>
 <translation id="4500213108254186382">Ekran Akselerometr</translation>
@@ -662,7 +661,9 @@
 <translation id="6611280807952151149"><ph name="DEVICE_TYPE" /> təmirindən çıxın</translation>
 <translation id="6618744767048954150">İcra olunur</translation>
 <translation id="6620487321149975369">Manual olaraq silinməsə, çap işləri tarixçədə görünəcək</translation>
+<translation id="6624819909909965616">10 MB-dan böyük faylı yükləmək mümkün deyil</translation>
 <translation id="6643016212128521049">Silin</translation>
+<translation id="6644568396961840069">Faylı saxlamaq mümkün olmadı. Fərqli xarici yaddaşa birləşdirməyə cəhd edin və ya sonra cəhd edin.</translation>
 <translation id="6647510110698214773">Şifrələmə alqoritmi</translation>
 <translation id="6650062777702288430">Kana/hərf-rəqəm keçiricisi</translation>
 <translation id="6657585470893396449">Parol</translation>
@@ -696,6 +697,7 @@
 <translation id="6965382102122355670">OK</translation>
 <translation id="6977381486153291903">Mikro proqram versiyası</translation>
 <translation id="6995564396478647735">Yazma Qoruyucusunun aktiv olduğuna əmin olun</translation>
+<translation id="7005833343836210400">Cihaz oflayndır</translation>
 <translation id="7028979494427204405"><ph name="MANAGER" /> bu cihazı idarə edir və giriş edilən veb səhifə, parol və e-poçt daxil olmaqla bütün istifadəçi fəaliyyətinə girişi var.</translation>
 <translation id="7040230719604914234">Operator</translation>
 <translation id="7041549558901442110">Cihaz qoşulmayıb.</translation>
@@ -808,8 +810,8 @@
 <translation id="8063022551652308521">Yazma Qoruyucusu hələ də deaktivdir. Davam etmək üçün Yazma Qoruyucusunu aktiv edin.</translation>
 <translation id="8075838845814659848">Qalan şarj</translation>
 <translation id="8082366717211101304">Android tətbiqlərindən DNS'i həll etmək olmur</translation>
-<translation id="8083281199617904460">Bu təmir prosesi təlim keçmiş təmir ustası üçün nəzərdə tutulub. Yalnız nasaz komponentləri dəyişdirdikdən sonra başlayın.</translation>
 <translation id="808894953321890993">Parolu dəyişin</translation>
+<translation id="8094062939584182041">Google'un bu problemlə bağlı sizə e-məktub göndərməsinə icazə verin</translation>
 <translation id="8104083085214006426">Açıq və güvənsiz şəbəkədən istifadə edirsiniz</translation>
 <translation id="8109786307828817014">Uğursuz tənzimləmələrə davam edilsin?</translation>
 <translation id="811820734797650957">(Android) Giriş test edilə bilər</translation>
diff --git a/chromeos/strings/chromeos_strings_be.xtb b/chromeos/strings/chromeos_strings_be.xtb
index 530376f..500adeb 100644
--- a/chromeos/strings/chromeos_strings_be.xtb
+++ b/chromeos/strings/chromeos_strings_be.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">АБНАВІЦЬ</translation>
 <translation id="3009958530611748826">Выберыце папку для захавання</translation>
 <translation id="3017079585324758401">Фон</translation>
+<translation id="302435934487327038">Усталяванне завершана</translation>
 <translation id="3027578600144895987">Закрыць камеру</translation>
 <translation id="3031560714565892478">Гэта відэакамера.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> мА</translation>
 <translation id="3056720590588772262">Канцавы пункт</translation>
 <translation id="3069085583900247081">Праверка не пройдзена</translation>
-<translation id="3076243757415932261">Ідзе праверка кампанентаў...</translation>
 <translation id="3083667275341675831">Дыягностыка падключэння</translation>
 <translation id="3084958266922136097">Выключыць застаўку</translation>
 <translation id="3091839911843451378">Збой: работа спынена</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Сапраўды выдаліць гісторыю друку? Бягучыя заданні друку выдалены не будуць.</translation>
 <translation id="3383751554789092165">Змяняйце звесткі пра прыладу так, як вам трэба.</translation>
 <translation id="3404249063913988450">Уключыць застаўку</translation>
-<translation id="3404770484521709967">Кампаненты ўсталяваны правільна.</translation>
 <translation id="3413935475507503304">Каб працягнуць абнаўленне, націсніце "Далей".</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Бяспека</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Стары пароль</translation>
 <translation id="4453205916657964690">Маска падсеткі</translation>
 <translation id="4454245904991689773">Сканіраваць у</translation>
-<translation id="4472575034687746823">Пачаць</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Не ўдалося праверыць сувязь з нестандартным сеткавым шлюзам</translation>
 <translation id="4500213108254186382">Акселерометр вечка</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Выконваецца</translation>
 <translation id="6620487321149975369">Заданні друку будуць паказвацца ў гісторыі, пакуль яны не будуць выдалены ўручную</translation>
 <translation id="6643016212128521049">Ачысціць</translation>
+<translation id="6644568396961840069">Не ўдалося захаваць файл. Паспрабуйце падключыць іншае знешняе сховішча або паўтарыце спробу пазней.</translation>
 <translation id="6647510110698214773">Алгарытм шыфравання</translation>
 <translation id="6650062777702288430">Пераключэнне паміж канай і літарна-лічбавымі сімваламі</translation>
 <translation id="6657585470893396449">Пароль</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Абарона ад запісу ўсё яшчэ выключана. Каб працягнуць, уключыце яе.</translation>
 <translation id="8075838845814659848">Узровень зараду акумулятара</translation>
 <translation id="8082366717211101304">Не ўдалося ажыццявіць DNS-пераўтварэнне з праграм для Android</translation>
-<translation id="8083281199617904460">Рамонт павінен выконвацца кваліфікаваным спецыялістам па рамонце. Пачынаць рамонт можна толькі пасля замены кампанентаў, якія працуюць няправільна.</translation>
 <translation id="808894953321890993">Змяніць пароль</translation>
 <translation id="8104083085214006426">Вы карыстаецеся адкрытай небяспечнай сеткай</translation>
 <translation id="8109786307828817014">Працягнуць нягледзячы на збой каліброўкі?</translation>
diff --git a/chromeos/strings/chromeos_strings_bg.xtb b/chromeos/strings/chromeos_strings_bg.xtb
index a81ad7b..83ea1cf 100644
--- a/chromeos/strings/chromeos_strings_bg.xtb
+++ b/chromeos/strings/chromeos_strings_bg.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ОПРЕСНЯВАНЕ</translation>
 <translation id="3009958530611748826">Изберете папка, в която да запазите</translation>
 <translation id="3017079585324758401">Фон</translation>
+<translation id="302435934487327038">Инсталирането завърши</translation>
 <translation id="3027578600144895987">Затваряне на камерата</translation>
 <translation id="3031560714565892478">Устройството е видеокамера.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Крайна точка</translation>
 <translation id="3069085583900247081">Тестването не бе успешно</translation>
-<translation id="3076243757415932261">Компонентите се проверяват…</translation>
 <translation id="3083667275341675831">Диагностика на свързаността</translation>
 <translation id="3084958266922136097">Деактивиране на скрийнсейвъра</translation>
 <translation id="3091839911843451378">Неуспешно – отпечатването спря</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Наистина ли искате да изчистите цялата история на отпечатването? Текущите задания за печат няма да бъдат изтрити.</translation>
 <translation id="3383751554789092165">При необходимост променете информацията за устройството.</translation>
 <translation id="3404249063913988450">Активиране на скрийнсейвъра</translation>
-<translation id="3404770484521709967">Компонентите са инсталирани правилно.</translation>
 <translation id="3413935475507503304">За да продължите с актуализацията, кликнете върху „Напред“.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Сигурност</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Стара парола</translation>
 <translation id="4453205916657964690">Подмрежова маска</translation>
 <translation id="4454245904991689773">Сканиране във</translation>
-<translation id="4472575034687746823">Първи стъпки</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Неуспех при команда ping към шлюза на допълнителната мрежа</translation>
 <translation id="4500213108254186382">Акселерометър в капака</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">В ход</translation>
 <translation id="6620487321149975369">Заданията за отпечатване ще се показват в историята, освен ако не ги премахнете ръчно</translation>
 <translation id="6643016212128521049">Изчистване</translation>
+<translation id="6644568396961840069">Файлът не бе запазен. Включете друго външно хранилище или опитайте отново по-късно.</translation>
 <translation id="6647510110698214773">Алгоритъм за шифроване</translation>
 <translation id="6650062777702288430">Превключване на кана/букви и цифри</translation>
 <translation id="6657585470893396449">Парола</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Защитата срещу записване все още е изключена. Включете я, за да продължите.</translation>
 <translation id="8075838845814659848">Оставащ заряд</translation>
 <translation id="8082366717211101304">Преобразуването от DNS не е възможно от приложения за Android</translation>
-<translation id="8083281199617904460">Тази процедура за ремонт е предназначена за обучени техници. Стартирайте я само след замяна на неизправните компоненти.</translation>
 <translation id="808894953321890993">Промяна на паролата</translation>
 <translation id="8104083085214006426">Използвате отворена и незащитена мрежа</translation>
 <translation id="8109786307828817014">Искате ли да продължите с неуспешно калибриране?</translation>
diff --git a/chromeos/strings/chromeos_strings_bn.xtb b/chromeos/strings/chromeos_strings_bn.xtb
index 875e4e3..b5dc3cb 100644
--- a/chromeos/strings/chromeos_strings_bn.xtb
+++ b/chromeos/strings/chromeos_strings_bn.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">প্রকার</translation>
 <translation id="2461822463642141190">বর্তমান</translation>
 <translation id="2480034874476596812">ম্যানুয়ালি বন্ধ করা</translation>
+<translation id="248546197012830854">ডিভাইস অফলাইন আছে। সহায়তা কন্টেন্ট দেখতে ওয়াই-ফাই নেটওয়ার্কের সাথে কানেক্ট করুন।</translation>
 <translation id="2491955442992294626">অন্য উইন্ডো ব্যবহার করার সময় কী পরীক্ষা করা হয়না</translation>
 <translation id="2493126929778606526">আপনার সেরা ফটোগুলি অটোমেটিক বেছে নেওয়া হয়</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -235,12 +236,12 @@
 <translation id="3008341117444806826">রিফ্রেশ করুন</translation>
 <translation id="3009958530611748826">কোন ফোল্ডারে সেভ করতে চান তা বেছে নিন</translation>
 <translation id="3017079585324758401">ব্যাকগ্রাউন্ড</translation>
+<translation id="302435934487327038">ইনস্টল করা হয়ে গেছে</translation>
 <translation id="3027578600144895987">ক্যামেরা বন্ধ করুন</translation>
 <translation id="3031560714565892478">ডিভাইস একটি ভিডিও ক্যামেরা।</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">এন্ডপয়েন্ট</translation>
 <translation id="3069085583900247081">টেস্ট ব্যর্থ হয়েছে</translation>
-<translation id="3076243757415932261">কম্পোনেন্ট যাচাই করা হচ্ছে...</translation>
 <translation id="3083667275341675831">কানেক্টিভিটি ডায়াগনস্টিকস</translation>
 <translation id="3084958266922136097">স্ক্রিন সেভার বন্ধ করুন</translation>
 <translation id="3091839911843451378">প্রিন্ট করা যায়নি - প্রিন্টার বন্ধ হয়ে গেছে</translation>
@@ -275,7 +276,6 @@
 <translation id="3369013195428705271">আপনি কি সব প্রিন্ট ইতিহাস মুছে ফেলতে চান? এখন যে প্রিন্ট করার কাজগুলি চলছে সেগুলি মোছা হবে না।</translation>
 <translation id="3383751554789092165">ডিভাইসের তথ্য পরিবর্তন করতে হবে।</translation>
 <translation id="3404249063913988450">স্ক্রিন সেভার চালু করুন</translation>
-<translation id="3404770484521709967">কম্পোনেন্ট সঠিকভাবে ইনস্টল করা হয়েছে।</translation>
 <translation id="3413935475507503304">আপডেটগুলি ব্যবহার করে চালিয়ে যাওয়ার জন্য, 'পরবর্তী' বিকল্পে ক্লিক করুন।</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">নিরাপত্তা</translation>
@@ -395,7 +395,6 @@
 <translation id="445059817448385655">পুরনো পাসওয়ার্ড</translation>
 <translation id="4453205916657964690">সাবনেট মাস্ক</translation>
 <translation id="4454245904991689773">স্ক্যান করা ফাইল এখানে সেভ করুন</translation>
-<translation id="4472575034687746823">শুরু করা যাক</translation>
 <translation id="4479639480957787382">ইথারনেট</translation>
 <translation id="4483049906298469269">ডিফল্ট অবস্থায় নেই এমন নেটওয়ার্ক গেটওয়েতে পিং করা যায়নি</translation>
 <translation id="4500213108254186382">Lid অ্যাকসিলরোমিটার</translation>
@@ -662,7 +661,9 @@
 <translation id="6611280807952151149"><ph name="DEVICE_TYPE" /> রিপেয়ার ছেড়ে বেরিয়ে আসুন</translation>
 <translation id="6618744767048954150">চলছে</translation>
 <translation id="6620487321149975369">ম্যানুয়ালি সরিয়ে না দেওয়া পর্যন্ত প্রিন্ট হওয়া কাজগুলি ইতিহাসে দেখা যাবে</translation>
+<translation id="6624819909909965616">১০ এমবির থেকে বড় ফাইল আপলোড করা যাবে না</translation>
 <translation id="6643016212128521049">সাফ করুন</translation>
+<translation id="6644568396961840069">ফাইল সেভ করা যায়নি। অন্য একটি এক্সটার্নাল স্টোরেজে প্লাগ-ইন করার চেষ্টা করুন বা পরে আবার চেষ্টা করুন।</translation>
 <translation id="6647510110698214773">এনক্রিপশন অ্যালগরিদম</translation>
 <translation id="6650062777702288430">কানা/আলফানিউমেরিক সুইচ</translation>
 <translation id="6657585470893396449">পাসওয়ার্ড</translation>
@@ -696,6 +697,7 @@
 <translation id="6965382102122355670">ঠিক আছে</translation>
 <translation id="6977381486153291903">ফার্মওয়ের পুনর্বিবেচনাগুলি</translation>
 <translation id="6995564396478647735">'রাইট প্রোটেক্ট' চালু আছে কিনা তা ভালভাবে দেখে নিন</translation>
+<translation id="7005833343836210400">ডিভাইস অফলাইন আছে</translation>
 <translation id="7028979494427204405"><ph name="MANAGER" /> এই ডিভাইস ম্যানেজ করে এবং ব্যবহারকারী দেখেছেন এমন ওয়েবপেজ, পাসওয়ার্ড ও ইমেল আইডি সহ তার সব অ্যাক্টিভিটি সংক্রান্ত ডেটা অ্যাক্সেস করে।</translation>
 <translation id="7040230719604914234">অপারেটর</translation>
 <translation id="7041549558901442110">ডিভাইস কানেক্ট করা নেই।</translation>
@@ -808,8 +810,8 @@
 <translation id="8063022551652308521">'রাইট প্রোটেক্ট' এখনও বন্ধ করা আছে। এগিয়ে যেতে 'রাইট প্রোটেক্ট' চালু করুন।</translation>
 <translation id="8075838845814659848">বাকি থাকা চার্জ</translation>
 <translation id="8082366717211101304">অ্যানড্রয়েড অ্যাপ থেকে ডিএনএস সংক্রান্ত সমস্যার সমাধান করা যাচ্ছে না</translation>
-<translation id="8083281199617904460">এই রিপেয়ার প্রসেস একজন প্রশিক্ষিত প্রযুক্তিবিদ দ্বারা সম্পন্ন করা প্রয়োজন। ত্রুটিপূর্ণ কম্পোনেন্টগুলি সরিয়ে দেওয়ার পর শুরু করুন।</translation>
 <translation id="808894953321890993">পাসওয়ার্ড পরিবর্তন করুন</translation>
+<translation id="8094062939584182041">এই সমস্যা সম্পর্কে আপনাকে ইমেল পাঠানোর জন্য Google-কে অনুমতি দিন</translation>
 <translation id="8104083085214006426">আপনি একটি ওপেন এবং নিরাপদ নয় এমন নেটওয়ার্ক ব্যবহার করছেন</translation>
 <translation id="8109786307828817014">ক্যালিব্রেশন ছাড়া চালিয়ে যাবেন?</translation>
 <translation id="811820734797650957">(Android) গেটওয়ে পিং করা যেতে পারে</translation>
diff --git a/chromeos/strings/chromeos_strings_bs.xtb b/chromeos/strings/chromeos_strings_bs.xtb
index d537fa1..c488cae 100644
--- a/chromeos/strings/chromeos_strings_bs.xtb
+++ b/chromeos/strings/chromeos_strings_bs.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Krajnja tačka</translation>
 <translation id="3069085583900247081">Test nije uspio</translation>
-<translation id="3076243757415932261">Potvrđivanje komponenti...</translation>
 <translation id="3083667275341675831">Dijagnostika povezivosti</translation>
 <translation id="3084958266922136097">Onemogućite čuvara ekrana</translation>
 <translation id="3091839911843451378">Nije uspjelo – zaustavljeno</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Jeste li sigurni da želite obrisati svu historiju štampanja? Vaši trenutni zadaci štampanja se neće izbrisati.</translation>
 <translation id="3383751554789092165">Promijenite informacije s uređaja po potrebi.</translation>
 <translation id="3404249063913988450">Omogućite čuvara ekrana</translation>
-<translation id="3404770484521709967">Komponente su ispravno instalirane.</translation>
 <translation id="3413935475507503304">Da nastavite s ažuriranjem, kliknite na Naprijed.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Sigurnost</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Stara lozinka</translation>
 <translation id="4453205916657964690">Maska podmreže</translation>
 <translation id="4454245904991689773">Skeniraj u:</translation>
-<translation id="4472575034687746823">Započnite</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Provjera pingom mrežnog pristupnika koji nije zadan nije uspjela</translation>
 <translation id="4500213108254186382">Mjerač ubrzanja u poklopcu</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Zaštita od pisanja je i dalje isključena. Da nastavite, uključite Zaštitu od pisanja.</translation>
 <translation id="8075838845814659848">Preostali nivo napunjenosti</translation>
 <translation id="8082366717211101304">Nije moguće razriješiti DNS iz Android aplikacija</translation>
-<translation id="8083281199617904460">Ovaj postupak popravka je namijenjen obučenom tehničaru za popravak. Počnite samo nakon zamjene komponenti koje ne rade ispravno.</translation>
 <translation id="808894953321890993">Promijeni lozinku</translation>
 <translation id="8104083085214006426">Koristite otvorenu i nezaštićenu mrežu</translation>
 <translation id="8109786307828817014">Nastaviti s neuspjelim kalibracijama?</translation>
diff --git a/chromeos/strings/chromeos_strings_ca.xtb b/chromeos/strings/chromeos_strings_ca.xtb
index d3cc2c4..27b8e1d 100644
--- a/chromeos/strings/chromeos_strings_ca.xtb
+++ b/chromeos/strings/chromeos_strings_ca.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ACTUALITZA</translation>
 <translation id="3009958530611748826">Selecciona en quina carpeta vols que es desi</translation>
 <translation id="3017079585324758401">Fons</translation>
+<translation id="302435934487327038">La instal·lació s'ha completat</translation>
 <translation id="3027578600144895987">Tanca la càmera</translation>
 <translation id="3031560714565892478">El dispositiu és una càmera de vídeo.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Punt final</translation>
 <translation id="3069085583900247081">La prova no s'ha superat</translation>
-<translation id="3076243757415932261">S'estan validant els components...</translation>
 <translation id="3083667275341675831">Diagnòstic de connectivitat</translation>
 <translation id="3084958266922136097">Desactiva l'estalvi de pantalla</translation>
 <translation id="3091839911843451378">Error: s'ha aturat</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Confirmes que vols esborrar tot l'historial d'impressions? Les tasques d'impressió en curs no s'esborraran.</translation>
 <translation id="3383751554789092165">Canvia la informació del dispositiu segons calgui.</translation>
 <translation id="3404249063913988450">Activa l'estalvi de pantalla</translation>
-<translation id="3404770484521709967">Els components s'han instal·lat correctament.</translation>
 <translation id="3413935475507503304">Per continuar amb l'actualització, fes clic a Següent.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Seguretat</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Contrasenya antiga</translation>
 <translation id="4453205916657964690">Màscara de subxarxa</translation>
 <translation id="4454245904991689773">Desa a</translation>
-<translation id="4472575034687746823">Comença</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">No s'ha pogut fer ping a la passarel·la de xarxa no predeterminada</translation>
 <translation id="4500213108254186382">Acceleròmetre de la tapa</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Comprovació en curs</translation>
 <translation id="6620487321149975369">Les tasques d'impressió es mostraran a l'historial tret que se suprimeixin manualment</translation>
 <translation id="6643016212128521049">Esborra</translation>
+<translation id="6644568396961840069">El fitxer no s'ha pogut desar. Prova de connectar-lo a un altre emmagatzematge extern o torna-ho a provar més tard.</translation>
 <translation id="6647510110698214773">Algoritme d'encriptació</translation>
 <translation id="6650062777702288430">Interruptor de caràcters kana/alfanumèrics</translation>
 <translation id="6657585470893396449">Contrasenya</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">La protecció contra l'escriptura encara està desactivada. Per continuar, activa-la.</translation>
 <translation id="8075838845814659848">Càrrega restant</translation>
 <translation id="8082366717211101304">No es pot resoldre el DNS des d'aplicacions d'Android</translation>
-<translation id="8083281199617904460">Aquest procés de reparació l'ha de dur a terme un tècnic qualificat. No comencis fins que no s'hagin substituït els components que no funcionen correctament.</translation>
 <translation id="808894953321890993">Canvia la contrasenya</translation>
 <translation id="8104083085214006426">Estàs utilitzant una xarxa oberta i no segura</translation>
 <translation id="8109786307828817014">Vols continuar amb les calibracions fallides?</translation>
diff --git a/chromeos/strings/chromeos_strings_cs.xtb b/chromeos/strings/chromeos_strings_cs.xtb
index a41e2925..66f1fca 100644
--- a/chromeos/strings/chromeos_strings_cs.xtb
+++ b/chromeos/strings/chromeos_strings_cs.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">OBNOVIT</translation>
 <translation id="3009958530611748826">Vyberte cílovou složku</translation>
 <translation id="3017079585324758401">Pozadí</translation>
+<translation id="302435934487327038">Instalace dokončena</translation>
 <translation id="3027578600144895987">Zavřete fotoaparát</translation>
 <translation id="3031560714565892478">Zařízení je videokamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Koncový bod</translation>
 <translation id="3069085583900247081">Test se nezdařil</translation>
-<translation id="3076243757415932261">Ověřování komponent</translation>
 <translation id="3083667275341675831">Diagnostika připojení</translation>
 <translation id="3084958266922136097">Deaktivovat spořič obrazovky</translation>
 <translation id="3091839911843451378">Tisk selhal – zastaveno</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Opravdu chcete vymazat celou historii tisku? Probíhající tiskové úlohy vymazány nebudou.</translation>
 <translation id="3383751554789092165">Podle potřeby informace o zařízení změňte.</translation>
 <translation id="3404249063913988450">Aktivovat spořič obrazovky</translation>
-<translation id="3404770484521709967">Komponenty jsou nainstalovány správně.</translation>
 <translation id="3413935475507503304">Pokud chcete pokračovat v aktualizaci, klikněte na Další.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Zabezpečení</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Staré heslo</translation>
 <translation id="4453205916657964690">Maska podsítě</translation>
 <translation id="4454245904991689773">Uložit do</translation>
-<translation id="4472575034687746823">Začít</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Nepodařilo se pingnout bránu jiné než výchozí sítě</translation>
 <translation id="4500213108254186382">Akcelerometr ve víku</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Probíhá</translation>
 <translation id="6620487321149975369">Tiskové úlohy se budou zobrazovat v historii, pokud je ručně neodstraníte</translation>
 <translation id="6643016212128521049">Vymazat</translation>
+<translation id="6644568396961840069">Soubor se nepodařilo uložit. Zkuste připojit jiné externí úložiště nebo to zkuste znovu později.</translation>
 <translation id="6647510110698214773">Šifrovací algoritmus</translation>
 <translation id="6650062777702288430">Přepínač kany/alfanumerických znaků</translation>
 <translation id="6657585470893396449">Heslo</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Ochrana proti zápisu je stále vypnutá.Nejprve ji zapněte.</translation>
 <translation id="8075838845814659848">Zbývající kapacita</translation>
 <translation id="8082366717211101304">Z aplikací pro Android nelze přeložit záznamy DNS</translation>
-<translation id="8083281199617904460">Tento proces opravy by měl provádět vyškolený technik. Začněte až po výměně nefunkčních komponent.</translation>
 <translation id="808894953321890993">Změnit heslo</translation>
 <translation id="8104083085214006426">Používáte otevřenou, nezabezpečenou síť</translation>
 <translation id="8109786307828817014">Pokračovat s neúspěšnými kalibracemi?</translation>
diff --git a/chromeos/strings/chromeos_strings_cy.xtb b/chromeos/strings/chromeos_strings_cy.xtb
index c0b05f3c..765b066 100644
--- a/chromeos/strings/chromeos_strings_cy.xtb
+++ b/chromeos/strings/chromeos_strings_cy.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">AIL-LWYTHO</translation>
 <translation id="3009958530611748826">Dewiswch ffolder i gadw iddi</translation>
 <translation id="3017079585324758401">Cefndir</translation>
+<translation id="302435934487327038">Wedi cwblhau gosod</translation>
 <translation id="3027578600144895987">Cau'r camera</translation>
 <translation id="3031560714565892478">Mae'r ddyfais yn gamera fideo.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">Diweddbwynt</translation>
 <translation id="3069085583900247081">Gwnaeth y prawf fethu</translation>
-<translation id="3076243757415932261">Wrthi'n dilysu cydrannau...</translation>
 <translation id="3083667275341675831">Diagnosteg Cysylltedd</translation>
 <translation id="3084958266922136097">Analluogi'r arbedydd sgrîn</translation>
 <translation id="3091839911843451378">Methwyd - Wedi'i stopio</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Ydych chi'n siŵr eich bod am glirio holl hanes argraffu? Ni fydd y tasgau argraffu sy'n mynd rhagddynt yn cael eu clirio.</translation>
 <translation id="3383751554789092165">Newid gwybodaeth dyfais yn ôl yr angen.</translation>
 <translation id="3404249063913988450">Galluogi'r arbedydd sgrîn</translation>
-<translation id="3404770484521709967">Mae cydrannau wedi'u gosod yn gywir.</translation>
 <translation id="3413935475507503304">I barhau gyda'r diweddariad, cliciwch Nesaf.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Diogelwch</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Hen gyfrinair</translation>
 <translation id="4453205916657964690">Masg is-rwydwaith</translation>
 <translation id="4454245904991689773">Sganio i</translation>
-<translation id="4472575034687746823">Cychwyn arni</translation>
 <translation id="4479639480957787382">Ether-rwyd</translation>
 <translation id="4483049906298469269">Wedi methu â phingio porth y rhwydwaith nad yw'n ddiofyn</translation>
 <translation id="4500213108254186382">Mesurydd Cyflymu Caead</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">wrthi'n rhedeg</translation>
 <translation id="6620487321149975369">Bydd tasgau argraffu yn ymddangos yn yr hanes oni bai eu bod yn cael eu tynnu'n bwrpasol</translation>
 <translation id="6643016212128521049">Clirio</translation>
+<translation id="6644568396961840069">Nid oedd modd cadw'r ffeil. Rhowch gynnig ar blygio storfa allanol wahanol i mewn, neu rhowch gynnig arall arni'n nes ymlaen.</translation>
 <translation id="6647510110698214773">Algorithm amgryptio</translation>
 <translation id="6650062777702288430">Switsh kana/alffaniwmerig</translation>
 <translation id="6657585470893396449">Cyfrinair</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Mae Diogelu Ysgrifennu wedi'i ddiffodd o hyd. I barhau, trowch Diogelu Ysgrifennu ymlaen.</translation>
 <translation id="8075838845814659848">Faint o fatri sy'n weddill</translation>
 <translation id="8082366717211101304">Methu â datrys DNS o apiau Android</translation>
-<translation id="8083281199617904460">Mae'r broses drwsio hon wedi'i bwriadu ar gyfer technegydd trwsio hyfforddedig. Dechreuwch dim ond ar ôl ailosod y cydrannau sy'n camweithio.</translation>
 <translation id="808894953321890993">Newid cyfrinair</translation>
 <translation id="8104083085214006426">Rydych yn defnyddio rhwydwaith agored anniogel</translation>
 <translation id="8109786307828817014">Parhau er bod calibradu rhai cydrannau wedi methu?</translation>
diff --git a/chromeos/strings/chromeos_strings_da.xtb b/chromeos/strings/chromeos_strings_da.xtb
index a89c656..d35f7d75 100644
--- a/chromeos/strings/chromeos_strings_da.xtb
+++ b/chromeos/strings/chromeos_strings_da.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">OPDATER</translation>
 <translation id="3009958530611748826">Vælg en mappe, du vil gemme i</translation>
 <translation id="3017079585324758401">Baggrund</translation>
+<translation id="302435934487327038">Installationen er gennemført</translation>
 <translation id="3027578600144895987">Luk kamera</translation>
 <translation id="3031560714565892478">Enheden er et videokamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Slutpunkt</translation>
 <translation id="3069085583900247081">Testen mislykkedes</translation>
-<translation id="3076243757415932261">Validerer komponenter...</translation>
 <translation id="3083667275341675831">Diagnosticering af forbindelse</translation>
 <translation id="3084958266922136097">Deaktiver Pauseskærm</translation>
 <translation id="3091839911843451378">Handlingen mislykkedes – Stoppede</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Er du sikker på, at du vil rydde hele udskriftshistorikken? Dine igangværende udskriftsjobs ryddes ikke.</translation>
 <translation id="3383751554789092165">Skift enhedsoplysninger efter behov.</translation>
 <translation id="3404249063913988450">Aktivér Pauseskærm</translation>
-<translation id="3404770484521709967">Komponenterne er installeret korrekt.</translation>
 <translation id="3413935475507503304">Klik på Næste for at fortsætte med opdateringen.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Sikkerhed</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Gammel adgangskode</translation>
 <translation id="4453205916657964690">Undernetmaske</translation>
 <translation id="4454245904991689773">Scan til</translation>
-<translation id="4472575034687746823">Kom godt i gang</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Kunne ikke pinge gatewayen for det netværk, der ikke er angivet som standardnetværk</translation>
 <translation id="4500213108254186382">Lågaccelerometer</translation>
@@ -663,6 +661,7 @@
 <translation id="6618744767048954150">Kører</translation>
 <translation id="6620487321149975369">Udskriftsjobs vises i historikken, medmindre de fjernes manuelt</translation>
 <translation id="6643016212128521049">Ryd</translation>
+<translation id="6644568396961840069">Filen kunne ikke gemmes. Prøv at tilslutte en anden ekstern lagerenhed, eller prøv igen senere.</translation>
 <translation id="6647510110698214773">Algoritme til kryptering</translation>
 <translation id="6650062777702288430">Skift mellem kana og alfanumerisk</translation>
 <translation id="6657585470893396449">Adgangskode</translation>
@@ -808,7 +807,6 @@
 <translation id="8063022551652308521">Skrivebeskyttet er stadig slået fra. Du skal slå Skrivebeskyttet til for at fortsætte.</translation>
 <translation id="8075838845814659848">Resterende batteriniveau</translation>
 <translation id="8082366717211101304">Der kan ikke udføres DNS-oversættelse fra Android-apps</translation>
-<translation id="8083281199617904460">Denne reparationsproces er beregnet til en tekniker med speciale i reparation. Start først processen, når de komponenter, der ikke fungerer, er blevet udskiftet.</translation>
 <translation id="808894953321890993">Skift adgangskode</translation>
 <translation id="8104083085214006426">Du bruger et åbent og usikkert netværk</translation>
 <translation id="8109786307828817014">Vil du fortsætte på trods af mislykkede kalibreringer?</translation>
diff --git a/chromeos/strings/chromeos_strings_de.xtb b/chromeos/strings/chromeos_strings_de.xtb
index 325e3c8..80a9585 100644
--- a/chromeos/strings/chromeos_strings_de.xtb
+++ b/chromeos/strings/chromeos_strings_de.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Endpunkt</translation>
 <translation id="3069085583900247081">Fehler beim Test</translation>
-<translation id="3076243757415932261">Komponenten werden überprüft…</translation>
 <translation id="3083667275341675831">Connectivity Diagnostics</translation>
 <translation id="3084958266922136097">Bildschirmschoner deaktivieren</translation>
 <translation id="3091839911843451378">Fehlgeschlagen – Angehalten</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Möchtest du den gesamten Druckverlauf wirklich löschen? Deine laufenden Druckaufträge werden nicht gelöscht.</translation>
 <translation id="3383751554789092165">Ändere Geräteinformationen nach Bedarf.</translation>
 <translation id="3404249063913988450">Bildschirmschoner aktivieren</translation>
-<translation id="3404770484521709967">Die Komponenten wurden richtig installiert.</translation>
 <translation id="3413935475507503304">Klicke zum Fortsetzen der Aktualisierung auf „Weiter“.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Sicherheit</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Altes Passwort</translation>
 <translation id="4453205916657964690">Subnetzmaske</translation>
 <translation id="4454245904991689773">Speichern unter</translation>
-<translation id="4472575034687746823">Jetzt starten</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Das nicht standardmäßige Netzwerk-Gateway konnte nicht kontaktiert werden</translation>
 <translation id="4500213108254186382">Beschleunigungsmesser im Deckel</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Der Schreibschutz ist noch deaktiviert. Bitte aktiviere ihn, um fortzufahren.</translation>
 <translation id="8075838845814659848">Akkustand</translation>
 <translation id="8082366717211101304">Auflösen des DNS von Android-Apps aus nicht möglich</translation>
-<translation id="8083281199617904460">Dieser Reparaturvorgang muss von qualifiziertem Reparaturpersonal durchgeführt werden. Starte das Gerät erst, nachdem die fehlerhaften Komponenten ausgetauscht wurden.</translation>
 <translation id="808894953321890993">Passwort ändern</translation>
 <translation id="8104083085214006426">Du verwendest ein offenes und unsicheres Netzwerk</translation>
 <translation id="8109786307828817014">Trotz fehlgeschlagener Kalibrierung fortfahren?</translation>
diff --git a/chromeos/strings/chromeos_strings_el.xtb b/chromeos/strings/chromeos_strings_el.xtb
index 6f50ddf..686812e 100644
--- a/chromeos/strings/chromeos_strings_el.xtb
+++ b/chromeos/strings/chromeos_strings_el.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Σημείο λήξης</translation>
 <translation id="3069085583900247081">Αποτυχία δοκιμής</translation>
-<translation id="3076243757415932261">Επικύρωση στοιχείων...</translation>
 <translation id="3083667275341675831">Διαγνωστικά συνδεσιμότητας</translation>
 <translation id="3084958266922136097">Απενεργοποίηση προφύλαξης οθόνης</translation>
 <translation id="3091839911843451378">Σφάλμα - Σταμάτησε</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Είστε βέβαιοι ότι θέλετε να διαγράψετε όλο το ιστορικό εκτύπωσης; Οι τρέχουσες εργασίες εκτύπωσης δεν θα διαγραφούν.</translation>
 <translation id="3383751554789092165">Αλλάξτε τις πληροφορίες συσκευής όπως είναι απαραίτητο.</translation>
 <translation id="3404249063913988450">Ενεργοποίηση προφύλαξης οθόνης.</translation>
-<translation id="3404770484521709967">Τα στοιχεία έχουν εγκατασταθεί σωστά.</translation>
 <translation id="3413935475507503304">Για να συνεχίσετε με την ενημέρωση, κάντε κλικ στο Επόμενο.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Ασφάλεια</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Παλιός κωδικός πρόσβασης</translation>
 <translation id="4453205916657964690">Μάσκα υποδικτύου</translation>
 <translation id="4454245904991689773">Σάρωση σε</translation>
-<translation id="4472575034687746823">Έναρξη</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Αποτυχία ping της μη προεπιλεγμένης πύλης δικτύου.</translation>
 <translation id="4500213108254186382">Επιταχύμετρο καπακιού</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Η Προστασία εγγραφής εξακολουθεί να είναι απενεργοποιημένη. Για να συνεχίσετε, ενεργοποιήστε την Προστασία εγγραφής.</translation>
 <translation id="8075838845814659848">Υπόλοιπο φόρτισης</translation>
 <translation id="8082366717211101304">Δεν είναι δυνατή η επίλυση DNS από εφαρμογές Android.</translation>
-<translation id="8083281199617904460">Αυτή η διαδικασία επιδιόρθωσης προορίζεται για έναν εκπαιδευμένο τεχνικό επιδιόρθωσης. Ξεκινήστε μόνο αφού αντικαταστήσετε τα στοιχεία που δεν λειτουργούν σωστά.</translation>
 <translation id="808894953321890993">Αλλαγή κωδικού πρόσβασης</translation>
 <translation id="8104083085214006426">Χρησιμοποιείτε ένα ανοιχτό και μη ασφαλές δίκτυο.</translation>
 <translation id="8109786307828817014">Συνέχιση με βαθμονομήσεις που έχουν αποτύχει;</translation>
diff --git a/chromeos/strings/chromeos_strings_en-GB.xtb b/chromeos/strings/chromeos_strings_en-GB.xtb
index 6782aa1..d9aa8bb 100644
--- a/chromeos/strings/chromeos_strings_en-GB.xtb
+++ b/chromeos/strings/chromeos_strings_en-GB.xtb
@@ -242,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">Endpoint</translation>
 <translation id="3069085583900247081">Test failed</translation>
-<translation id="3076243757415932261">Validating components…</translation>
 <translation id="3083667275341675831">Connectivity diagnostics</translation>
 <translation id="3084958266922136097">Disable screensaver</translation>
 <translation id="3091839911843451378">Failed – Stopped</translation>
@@ -277,7 +276,6 @@
 <translation id="3369013195428705271">Are you sure you want to clear all print history? Your ongoing print jobs will not be cleared.</translation>
 <translation id="3383751554789092165">Change device information as needed.</translation>
 <translation id="3404249063913988450">Enable screensaver</translation>
-<translation id="3404770484521709967">Components are installed correctly.</translation>
 <translation id="3413935475507503304">To proceed with the update, click Next.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Security</translation>
@@ -397,7 +395,6 @@
 <translation id="445059817448385655">Old password</translation>
 <translation id="4453205916657964690">Subnet mask</translation>
 <translation id="4454245904991689773">Scan to</translation>
-<translation id="4472575034687746823">Get started</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Failed to ping the non-default network gateway</translation>
 <translation id="4500213108254186382">Lid accelerometer</translation>
@@ -814,7 +811,6 @@
 <translation id="8063022551652308521">Write Protect is still turned off. To proceed, turn on Write Protect.</translation>
 <translation id="8075838845814659848">Remaining charge</translation>
 <translation id="8082366717211101304">Can't resolve DNS from Android apps</translation>
-<translation id="8083281199617904460">This repair process is intended for a trained repair technician. Start only after replacing the malfunctioning components.</translation>
 <translation id="808894953321890993">Change password</translation>
 <translation id="8094062939584182041">Allow Google to email you about this issue</translation>
 <translation id="8104083085214006426">You are using an open and unsecure network</translation>
diff --git a/chromeos/strings/chromeos_strings_es-419.xtb b/chromeos/strings/chromeos_strings_es-419.xtb
index 81e99e8..4758c6c 100644
--- a/chromeos/strings/chromeos_strings_es-419.xtb
+++ b/chromeos/strings/chromeos_strings_es-419.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ACTUALIZAR</translation>
 <translation id="3009958530611748826">Seleccionar una carpeta de destino</translation>
 <translation id="3017079585324758401">Imagen de fondo</translation>
+<translation id="302435934487327038">Se completó la instalación</translation>
 <translation id="3027578600144895987">Cerrar la cámara</translation>
 <translation id="3031560714565892478">El dispositivo es una videocámara.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Extremo</translation>
 <translation id="3069085583900247081">No se pudo realizar la prueba</translation>
-<translation id="3076243757415932261">Validando componentes…</translation>
 <translation id="3083667275341675831">Diagnóstico de conectividad</translation>
 <translation id="3084958266922136097">Inhabilitar el protector de pantalla</translation>
 <translation id="3091839911843451378">Error: La impresora se detuvo</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">¿Seguro que quieres borrar todo el historial de impresiones? No se quitarán tus trabajos de impresión en curso.</translation>
 <translation id="3383751554789092165">Modifica la información del dispositivo según sea necesario.</translation>
 <translation id="3404249063913988450">Habilitar el protector de pantalla</translation>
-<translation id="3404770484521709967">Se instalaron los componentes correctamente.</translation>
 <translation id="3413935475507503304">Para continuar con la actualización, haz clic en Siguiente.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Seguridad</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Contraseña anterior</translation>
 <translation id="4453205916657964690">Máscara de subred</translation>
 <translation id="4454245904991689773">Destino del escaneo</translation>
-<translation id="4472575034687746823">Comenzar</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">no se pudo hacer ping en la puerta de enlace de la red no predeterminada</translation>
 <translation id="4500213108254186382">Acelerómetro en la tapa</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">En ejecución</translation>
 <translation id="6620487321149975369">Los trabajos de impresión aparecerán en el historial, a menos que se quiten manualmente</translation>
 <translation id="6643016212128521049">Borrar</translation>
+<translation id="6644568396961840069">No se pudo guardar el archivo. Intenta conectar otro almacenamiento externo o vuelve a intentarlo más tarde.</translation>
 <translation id="6647510110698214773">Algoritmo de encriptación</translation>
 <translation id="6650062777702288430">Alternar entre teclados kana y alfanumérico</translation>
 <translation id="6657585470893396449">Contraseña</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">La protección de pantalla sigue desactivada. Actívala para continuar.</translation>
 <translation id="8075838845814659848">Carga restante</translation>
 <translation id="8082366717211101304">No se puede resolver el DNS desde apps para Android</translation>
-<translation id="8083281199617904460">Este proceso de reparación está diseñado para un técnico capacitado. No comiences con la reparación hasta no haber reemplazado los componentes dañados.</translation>
 <translation id="808894953321890993">Cambiar contraseña</translation>
 <translation id="8104083085214006426">Estás usando una red abierta y no segura</translation>
 <translation id="8109786307828817014">¿Deseas continuar con las calibraciones erróneas?</translation>
diff --git a/chromeos/strings/chromeos_strings_es.xtb b/chromeos/strings/chromeos_strings_es.xtb
index 745705f..e58a9a3 100644
--- a/chromeos/strings/chromeos_strings_es.xtb
+++ b/chromeos/strings/chromeos_strings_es.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">RENOVAR</translation>
 <translation id="3009958530611748826">Selecciona la carpeta donde quieras guardar</translation>
 <translation id="3017079585324758401">Fondo</translation>
+<translation id="302435934487327038">Instalación completada</translation>
 <translation id="3027578600144895987">Cerrar la cámara</translation>
 <translation id="3031560714565892478">El dispositivo es una cámara de vídeo.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Punto final</translation>
 <translation id="3069085583900247081">Error en la prueba</translation>
-<translation id="3076243757415932261">Validando componentes...</translation>
 <translation id="3083667275341675831">Diagnóstico de conectividad</translation>
 <translation id="3084958266922136097">Inhabilitar salvapantallas</translation>
 <translation id="3091839911843451378">No se ha podido imprimir - Se ha detenido</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">¿Seguro que quieres borrar todo el historial de impresión? Los trabajos de impresión en curso no se borrarán.</translation>
 <translation id="3383751554789092165">Cambia la información del dispositivo según sea necesario.</translation>
 <translation id="3404249063913988450">Habilitar salvapantallas</translation>
-<translation id="3404770484521709967">Los componentes se han instalado correctamente.</translation>
 <translation id="3413935475507503304">Para continuar con la actualización, haz clic en Siguiente.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Seguridad</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Contraseña antigua</translation>
 <translation id="4453205916657964690">Máscara de subred</translation>
 <translation id="4454245904991689773">Guardar en</translation>
-<translation id="4472575034687746823">Empezar</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Se ha producido un error al hacer ping en la puerta de enlace de red no predeterminada</translation>
 <translation id="4500213108254186382">Acelerómetro de la pantalla</translation>
@@ -663,6 +661,7 @@
 <translation id="6618744767048954150">En curso</translation>
 <translation id="6620487321149975369">Los trabajos de impresión aparecerán en el historial a menos que se quiten de forma manual</translation>
 <translation id="6643016212128521049">Borrar</translation>
+<translation id="6644568396961840069">No se ha podido guardar el archivo. Prueba a conectar otra memoria externa o vuelve a intentarlo más tarde.</translation>
 <translation id="6647510110698214773">Algoritmo de cifrado</translation>
 <translation id="6650062777702288430">Alternar entre kana y alfanumérico</translation>
 <translation id="6657585470893396449">Contraseña</translation>
@@ -808,7 +807,6 @@
 <translation id="8063022551652308521">La protección contra escritura sigue desactivada. Para continuar, actívala.</translation>
 <translation id="8075838845814659848">Carga restante</translation>
 <translation id="8082366717211101304">No se puede resolver el DNS desde aplicaciones Android</translation>
-<translation id="8083281199617904460">Este proceso de reparación está dirigido a técnicos de reparaciones cualificados. Antes de empezar, debes reemplazar los componentes que no funcionen correctamente.</translation>
 <translation id="808894953321890993">Cambiar contraseña</translation>
 <translation id="8104083085214006426">Estás usando una red abierta que no es segura</translation>
 <translation id="8109786307828817014">¿Continuar con las calibraciones fallidas?</translation>
diff --git a/chromeos/strings/chromeos_strings_et.xtb b/chromeos/strings/chromeos_strings_et.xtb
index f3eab78..2af7be5 100644
--- a/chromeos/strings/chromeos_strings_et.xtb
+++ b/chromeos/strings/chromeos_strings_et.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">VÄRSKENDA</translation>
 <translation id="3009958530611748826">Valige kaust, kuhu salvestada</translation>
 <translation id="3017079585324758401">Taust</translation>
+<translation id="302435934487327038">Installimine on lõpetatud</translation>
 <translation id="3027578600144895987">Sulge kaamera</translation>
 <translation id="3031560714565892478">Seade on videokaamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Lõpp-punkt</translation>
 <translation id="3069085583900247081">Test ebaõnnestus</translation>
-<translation id="3076243757415932261">Komponentide valideerimine …</translation>
 <translation id="3083667275341675831">Ühenduvuse diagnostika</translation>
 <translation id="3084958266922136097">Ekraanisäästja keelamine</translation>
 <translation id="3091839911843451378">Ebaõnnestus – peatatud</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Kas soovite kindlasti kogu printimise ajaloo kustutada? Teie pooleliolevaid prinditöid ei kustutata.</translation>
 <translation id="3383751554789092165">Muutke seadme teavet vajaduse kohaselt.</translation>
 <translation id="3404249063913988450">Ekraanisäästja lubamine</translation>
-<translation id="3404770484521709967">Komponendid on õigesti paigaldatud.</translation>
 <translation id="3413935475507503304">Värskendamisega jätkamiseks klõpsake nupul Järgmine.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Turvalisus</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Vana parool</translation>
 <translation id="4453205916657964690">Alamvõrgu mask</translation>
 <translation id="4454245904991689773">Skanni asukohta</translation>
-<translation id="4472575034687746823">Alustage</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Mittevaikevõrgulüüsi pingimine ebaõnnestus</translation>
 <translation id="4500213108254186382">Kaanel olev kiirendusmõõtur</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Pooleli</translation>
 <translation id="6620487321149975369">Prinditööd kuvatakse ajaloos, kui neid käsitsi ei eemaldata</translation>
 <translation id="6643016212128521049">Tühjenda</translation>
+<translation id="6644568396961840069">Faili ei õnnestunud salvestada. Ühendage mõne teise välise salvestusseadmega või proovige hiljem uuesti.</translation>
 <translation id="6647510110698214773">Krüpteerimise algoritm</translation>
 <translation id="6650062777702288430">Kana/tärgilüliti</translation>
 <translation id="6657585470893396449">Parool</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Kirjutuskaitse on endiselt välja lülitatud. Jätkamiseks lülitage kirjutuskaitse sisse.</translation>
 <translation id="8075838845814659848">Aku laetuse tase</translation>
 <translation id="8082366717211101304">Ei saa Androidi rakendustest DNS-i lahendada</translation>
-<translation id="8083281199617904460">Remondiprotsess on mõeldud koolitatud remonditehnikule. Alustage alles pärast rikkiläinud komponentide asendamist.</translation>
 <translation id="808894953321890993">Muuda parooli</translation>
 <translation id="8104083085214006426">Kasutate avatud ja ebaturvalist võrku</translation>
 <translation id="8109786307828817014">Kas jätkata ebaõnnestunud kalibreerimistega?</translation>
diff --git a/chromeos/strings/chromeos_strings_eu.xtb b/chromeos/strings/chromeos_strings_eu.xtb
index f822a15a..b28ef4f 100644
--- a/chromeos/strings/chromeos_strings_eu.xtb
+++ b/chromeos/strings/chromeos_strings_eu.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">FRESKATU</translation>
 <translation id="3009958530611748826">Hautatu zer karpetatan gorde nahi duzun</translation>
 <translation id="3017079585324758401">Atzeko planoa</translation>
+<translation id="302435934487327038">Osatu da instalazioa</translation>
 <translation id="3027578600144895987">Itxi kamera</translation>
 <translation id="3031560714565892478">Gailua bideokamera bat da.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Amaiera-puntua</translation>
 <translation id="3069085583900247081">Probak huts egin du</translation>
-<translation id="3076243757415932261">Osagaiak baliozkotzen…</translation>
 <translation id="3083667275341675831">Konexio-diagnostikoak</translation>
 <translation id="3084958266922136097">Desgaitu pantaila-babeslea</translation>
 <translation id="3091839911843451378">Hutsegitea - Gelditu egin da</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Ziur inprimatze-historia guztia garbitu nahi duzula? Ez dira garbituko abian dauden inprimatze-lanak.</translation>
 <translation id="3383751554789092165">Behar denean, aldatu gailuari buruzko informazioa.</translation>
 <translation id="3404249063913988450">Gaitu pantaila-babeslea</translation>
-<translation id="3404770484521709967">Osagaiak behar bezala instalatuta daude.</translation>
 <translation id="3413935475507503304">Eguneratzeko, sakatu Hurrengoa.</translation>
 <translation id="3434107140712555581">% <ph name="BATTERY_PERCENTAGE" /></translation>
 <translation id="3435738964857648380">Segurtasuna</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Pasahitz zaharra</translation>
 <translation id="4453205916657964690">Azpisare-maskara</translation>
 <translation id="4454245904991689773">Gorde hemen</translation>
-<translation id="4472575034687746823">Hasi erabiltzen</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Ezin izan da egin ping lehenetsia ez den sarerako atebidean</translation>
 <translation id="4500213108254186382">Estalkiko abiadura-neurgailua</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Abian</translation>
 <translation id="6620487321149975369">Inprimatze-lanak historian agertuko dira, eskuz kendu ezean</translation>
 <translation id="6643016212128521049">Garbitu</translation>
+<translation id="6644568396961840069">Ezin izan da gorde fitxategia. Saiatu kanpoko memoria bat entxufatzen edo saiatu berriro geroago.</translation>
 <translation id="6647510110698214773">Enkriptatze-algoritmoa</translation>
 <translation id="6650062777702288430">Kana teklatutik teklatu alfanumerikora, eta alderantziz, aldatzeko etengailua</translation>
 <translation id="6657585470893396449">Pasahitza</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Idazketaren aurkako babesa desaktibatuta dago oraindik. Aurrera egiteko, aktiba ezazu.</translation>
 <translation id="8075838845814659848">Geratzen den bateria</translation>
 <translation id="8082366717211101304">Ezin da ebatzi DNS Android-erako aplikazioetatik</translation>
-<translation id="8083281199617904460">Konponketa-prozesu hau konponketak egiteko trebakuntza duen teknikari batentzat dago diseinatuta. Oker funtzionatzen duten osagaiak ordeztu ondoren abiarazi behar da prozesua.</translation>
 <translation id="808894953321890993">Aldatu pasahitza</translation>
 <translation id="8104083085214006426">Segurua ez den sare ireki bat ari zara erabiltzen</translation>
 <translation id="8109786307828817014">Aurrera egin nahi duzu huts egin duten kalibrazioekin?</translation>
diff --git a/chromeos/strings/chromeos_strings_fa.xtb b/chromeos/strings/chromeos_strings_fa.xtb
index d648190a..d20f62b 100644
--- a/chromeos/strings/chromeos_strings_fa.xtb
+++ b/chromeos/strings/chromeos_strings_fa.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> میلی‌آمپر</translation>
 <translation id="3056720590588772262">نقطه پایان</translation>
 <translation id="3069085583900247081">آزمایش ناموفق بود</translation>
-<translation id="3076243757415932261">درحال اعتبارسنجی قطعات…</translation>
 <translation id="3083667275341675831">تشخیص خطای اتصال</translation>
 <translation id="3084958266922136097">غیرفعال کردن محافظ صفحه</translation>
 <translation id="3091839911843451378">انجام نشد - متوقف شده است</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">مطمئن هستید که می‌خواهید همه سابقه‌های چاپ را حذف کنید؟ کارهای چاپ شما که درحال انجام هستند حذف نخواهند شد.</translation>
 <translation id="3383751554789092165">اطلاعات دستگاه را درصورت لزوم تغییر دهید.</translation>
 <translation id="3404249063913988450">فعال کردن محافظ صفحه</translation>
-<translation id="3404770484521709967">قطعات به‌درستی نصب شده‌اند.</translation>
 <translation id="3413935475507503304">برای به‌روزرسانی، روی «بعدی» کلیک کنید.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />٪</translation>
 <translation id="3435738964857648380">امنیت</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">گذرواژه قدیمی</translation>
 <translation id="4453205916657964690">پوشش زیرشبکه</translation>
 <translation id="4454245904991689773">ذخیره فایل‌های اسکن‌شده در</translation>
-<translation id="4472575034687746823">شروع به کار</translation>
 <translation id="4479639480957787382">اترنت</translation>
 <translation id="4483049906298469269">پینگ کردن دروازه شبکه غیر پیش‌فرض انجام نشد</translation>
 <translation id="4500213108254186382">شتاب‌سنج درب</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">«محافظت دربرابر نوشتن» همچنان خاموش است. برای ادامه دادن، «محافظت دربرابر نوشتن» را روشن کنید.</translation>
 <translation id="8075838845814659848">شارژ باقی‌مانده</translation>
 <translation id="8082366717211101304">‏نمی‌توان ساناد را از برنامه‌های Android حل‌وفصل کرد</translation>
-<translation id="8083281199617904460">این فرایند تعمیر برای تکنسین تعمیرات آموزش‌دیده درنظر گرفته شده است. فقط پس‌از تعویض قطعات معیوب شروع کنید.</translation>
 <translation id="808894953321890993">تغییر گذرواژه</translation>
 <translation id="8104083085214006426">از شبکه‌ای باز و ناامن استفاده می‌کنید</translation>
 <translation id="8109786307828817014">با وجود واسنجی‌های ناموفق، ادامه می‌دهید؟</translation>
diff --git a/chromeos/strings/chromeos_strings_fi.xtb b/chromeos/strings/chromeos_strings_fi.xtb
index 78d2c6b..546690f 100644
--- a/chromeos/strings/chromeos_strings_fi.xtb
+++ b/chromeos/strings/chromeos_strings_fi.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">PÄIVITÄ</translation>
 <translation id="3009958530611748826">Valitse tallennuskansio</translation>
 <translation id="3017079585324758401">Tausta</translation>
+<translation id="302435934487327038">Asennus valmis</translation>
 <translation id="3027578600144895987">Sulje kamera</translation>
 <translation id="3031560714565892478">Laite on videokamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Päätepiste</translation>
 <translation id="3069085583900247081">Testi epäonnistui</translation>
-<translation id="3076243757415932261">Tarkistetaan komponentteja…</translation>
 <translation id="3083667275341675831">Yhteysdiagnostiikka</translation>
 <translation id="3084958266922136097">Poista näytönsäästäjä käytöstä</translation>
 <translation id="3091839911843451378">Epäonnistui – Pysäytetty</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Haluatko varmasti poistaa tulostushistorian? Käynnissä olevia tulostustöitä ei poisteta.</translation>
 <translation id="3383751554789092165">Muuta tarvittaessa laitteen tietoja.</translation>
 <translation id="3404249063913988450">Ota näytönsäästäjä käyttöön</translation>
-<translation id="3404770484521709967">Komponentit on asennettu oikein.</translation>
 <translation id="3413935475507503304">Jatka päivitystä valitsemalla Seuraava</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Suojaus</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Vanha salasana</translation>
 <translation id="4453205916657964690">Aliverkon maski</translation>
 <translation id="4454245904991689773">Skannauskohde</translation>
-<translation id="4472575034687746823">Aloita</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Muun kuin oletusarvoisen verkkoyhdyskäytävän ping-kutsu epäonnistui</translation>
 <translation id="4500213108254186382">Kannen akselerometri</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Käynnissä</translation>
 <translation id="6620487321149975369">Tulostustyöt näkyvät historiassa, ellei niitä poisteta manuaalisesti</translation>
 <translation id="6643016212128521049">Tyhjennä</translation>
+<translation id="6644568396961840069">Tiedostoa ei voitu tallentaa. Yritä liittää toinen ulkoinen tallennustila tai yritä myöhemmin uudelleen.</translation>
 <translation id="6647510110698214773">Salausalgoritmi</translation>
 <translation id="6650062777702288430">Kana-/aakkosnumeeristen merkkien valitsin</translation>
 <translation id="6657585470893396449">Salasana</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Write Protect on yhä pois päältä. Jatka laittamalla Write Protect päälle.</translation>
 <translation id="8075838845814659848">Virtaa jäljellä</translation>
 <translation id="8082366717211101304">DNS:n selvitys ei onnistu Android-sovelluksilla</translation>
-<translation id="8083281199617904460">Korjausprosessi on tarkoitettu koulutetun korjausteknikon suoritettavaksi. Aloita vasta, kun väärin toimivat komponentit on vaihdettu.</translation>
 <translation id="808894953321890993">Vaihda salasana</translation>
 <translation id="8104083085214006426">Käytät avointa ja suojaamatonta verkkoa</translation>
 <translation id="8109786307828817014">Jatketaanko epäonnistuneella kalibroinnilla?</translation>
diff --git a/chromeos/strings/chromeos_strings_fil.xtb b/chromeos/strings/chromeos_strings_fil.xtb
index 1545ad9e6..a357d1ee 100644
--- a/chromeos/strings/chromeos_strings_fil.xtb
+++ b/chromeos/strings/chromeos_strings_fil.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">I-REFRESH</translation>
 <translation id="3009958530611748826">Pumili ng folder kung saan magse-save</translation>
 <translation id="3017079585324758401">Background</translation>
+<translation id="302435934487327038">Tapos na ang pag-install</translation>
 <translation id="3027578600144895987">Isara ang camera</translation>
 <translation id="3031560714565892478">Video camera ang device.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">Endpoint</translation>
 <translation id="3069085583900247081">Nabigo ang pagsubok</translation>
-<translation id="3076243757415932261">Vina-validate ang mga bahagi...</translation>
 <translation id="3083667275341675831">Mga Diagnostic sa Pagkakonekta</translation>
 <translation id="3084958266922136097">I-disable ang screen saver</translation>
 <translation id="3091839911843451378">Hindi na-print - Huminto</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Sigurado ka bang gusto mong i-clear ang lahat ng history ng pag-print? Hindi maki-clear ang iyong mga kasalukuyang pag-print.</translation>
 <translation id="3383751554789092165">Baguhin ang impormasyon ng device kung kinakailangan.</translation>
 <translation id="3404249063913988450">I-enable ang screen saver</translation>
-<translation id="3404770484521709967">Na-install nang tama ang mga bahagi.</translation>
 <translation id="3413935475507503304">Para magpatuloy sa update, i-click ang Susunod.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Seguridad</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Lumang password</translation>
 <translation id="4453205916657964690">Subnet mask</translation>
 <translation id="4454245904991689773">Pag-scan sa</translation>
-<translation id="4472575034687746823">Magsimula</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Hindi na-ping ang hindi default na network gateway</translation>
 <translation id="4500213108254186382">Lid Accelerometer</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Tumatakbo</translation>
 <translation id="6620487321149975369">Lalabas sa history ang mga pag-print maliban na lang kung manual na aalisin ang mga ito</translation>
 <translation id="6643016212128521049">I-clear</translation>
+<translation id="6644568396961840069">Hindi ma-save ang file. Subukang magsaksak ng ibang external storage, o subukan ulit sa ibang pagkakataon.</translation>
 <translation id="6647510110698214773">Algorithm ng pag-encrypt</translation>
 <translation id="6650062777702288430">Kana/alphanumeric na switch</translation>
 <translation id="6657585470893396449">Password</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Naka-off pa rin ang Write Protect. Para magpatuloy, i-on ang Write Protect.</translation>
 <translation id="8075838845814659848">Natitirang pag-charge</translation>
 <translation id="8082366717211101304">Hindi ma-resolve ang DNS mula sa mga Android app</translation>
-<translation id="8083281199617904460">Nakalaan ang prosesong ito ng pag-aayos para sa sinanay na technician sa pag-aayos. Magsimula lang kapag napalitan na ang mga hindi gumaganang bahagi.</translation>
 <translation id="808894953321890993">Palitan ang password</translation>
 <translation id="8104083085214006426">Gumagamit ka ng bukas at hindi secure na network</translation>
 <translation id="8109786307828817014">Magpatuloy sa mga hindi pag-calibrate?</translation>
diff --git a/chromeos/strings/chromeos_strings_fr-CA.xtb b/chromeos/strings/chromeos_strings_fr-CA.xtb
index 8cd0be9..2e2de0a 100644
--- a/chromeos/strings/chromeos_strings_fr-CA.xtb
+++ b/chromeos/strings/chromeos_strings_fr-CA.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Point d'extrémité</translation>
 <translation id="3069085583900247081">Échec du test</translation>
-<translation id="3076243757415932261">Validation des composants en cours…</translation>
 <translation id="3083667275341675831">Diagnostics de connectivité</translation>
 <translation id="3084958266922136097">Désactiver l'écran de veille</translation>
 <translation id="3091839911843451378">Échec : imprimante arrêtée</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Voulez-vous vraiment effacer tout l'historique d'impression? Vos tâches d'impression courantes ne seront pas effacées.</translation>
 <translation id="3383751554789092165">Modifiez les renseignements sur l'appareil au besoin.</translation>
 <translation id="3404249063913988450">Activer l'écran de veille</translation>
-<translation id="3404770484521709967">Les composants sont installés correctement.</translation>
 <translation id="3413935475507503304">Pour lancer la mise à jour, cliquez sur Suivant.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Sécurité</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Ancien mot de passe</translation>
 <translation id="4453205916657964690">Masque de sous-réseau</translation>
 <translation id="4454245904991689773">Numériser vers</translation>
-<translation id="4472575034687746823">Premiers pas</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Impossible d'effectuer un ping avec la passerelle réseau autre que celle par défaut</translation>
 <translation id="4500213108254186382">Accéléromètre du couvercle</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">La protection en écriture est toujours désactivée. Activez-la pour continuer.</translation>
 <translation id="8075838845814659848">Charge restante</translation>
 <translation id="8082366717211101304">Impossible de résoudre le DNS à partir d'applications Android</translation>
-<translation id="8083281199617904460">Ce processus de réparation est destiné à un technicien de réparation qualifié. Ne l'entamez qu'après avoir remplacé les composants défectueux.</translation>
 <translation id="808894953321890993">Changer le mot de passe</translation>
 <translation id="8104083085214006426">Vous utilisez un réseau ouvert et non sécurisé</translation>
 <translation id="8109786307828817014">Continuer malgré l'échec des calibrations?</translation>
diff --git a/chromeos/strings/chromeos_strings_fr.xtb b/chromeos/strings/chromeos_strings_fr.xtb
index d3bcdad..7ce05a05 100644
--- a/chromeos/strings/chromeos_strings_fr.xtb
+++ b/chromeos/strings/chromeos_strings_fr.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ACTUALISER</translation>
 <translation id="3009958530611748826">Sélectionner un dossier de destination</translation>
 <translation id="3017079585324758401">Arrière-plan</translation>
+<translation id="302435934487327038">Installation terminée</translation>
 <translation id="3027578600144895987">Fermer la caméra</translation>
 <translation id="3031560714565892478">L'appareil est une caméra.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Point de terminaison</translation>
 <translation id="3069085583900247081">Échec du test</translation>
-<translation id="3076243757415932261">Validation des composants…</translation>
 <translation id="3083667275341675831">Diagnostic de connectivité</translation>
 <translation id="3084958266922136097">Désactiver l'économiseur d'écran</translation>
 <translation id="3091839911843451378">Échec – Imprimante à l'arrêt</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Voulez-vous vraiment effacer tout l'historique des impressions ? Vos tâches d'impression en cours ne seront pas supprimées de cet historique.</translation>
 <translation id="3383751554789092165">Modifiez les informations concernant l'appareil si nécessaire.</translation>
 <translation id="3404249063913988450">Activer l'économiseur d'écran</translation>
-<translation id="3404770484521709967">Les composants sont installés correctement.</translation>
 <translation id="3413935475507503304">Pour lancer la mise à jour, cliquez sur "Suivant".</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Sécurité</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Ancien mot de passe</translation>
 <translation id="4453205916657964690">Masque de sous-réseau</translation>
 <translation id="4454245904991689773">Enregistrer dans</translation>
-<translation id="4472575034687746823">Premiers pas</translation>
 <translation id="4479639480957787382">Ethernet </translation>
 <translation id="4483049906298469269">Impossible de pinguer la passerelle du réseau non défini par défaut</translation>
 <translation id="4500213108254186382">Accéléromètre (couvercle)</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">En cours</translation>
 <translation id="6620487321149975369">Les tâches d'impression seront incluses dans l'historique, sauf si vous les supprimez manuellement</translation>
 <translation id="6643016212128521049">Effacer</translation>
+<translation id="6644568396961840069">Impossible d'enregistrer le fichier. Essayez de brancher un autre périphérique de stockage externe ou réessayez plus tard.</translation>
 <translation id="6647510110698214773">Algorithme de chiffrement</translation>
 <translation id="6650062777702288430">Bascule kana/alphanumérique</translation>
 <translation id="6657585470893396449">Mot de passe</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">La protection en écriture est toujours désactivée. Pour continuer, activez-la.</translation>
 <translation id="8075838845814659848">Niveau de charge</translation>
 <translation id="8082366717211101304">Impossible de résoudre le DNS depuis les applis Android</translation>
-<translation id="8083281199617904460">Ce processus de réparation est destiné à guider les réparateurs qualifiés. Ne commencez qu'après avoir remplacé les composants défectueux.</translation>
 <translation id="808894953321890993">Modifier le mot de passe</translation>
 <translation id="8104083085214006426">Vous utilisez un réseau ouvert et non sécurisé</translation>
 <translation id="8109786307828817014">Continuer malgré les échecs de calibrage ?</translation>
diff --git a/chromeos/strings/chromeos_strings_gl.xtb b/chromeos/strings/chromeos_strings_gl.xtb
index 1b58fb6..b27a537 100644
--- a/chromeos/strings/chromeos_strings_gl.xtb
+++ b/chromeos/strings/chromeos_strings_gl.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ACTUALIZAR</translation>
 <translation id="3009958530611748826">Seleccionar un cartafol para gardar os ficheiros</translation>
 <translation id="3017079585324758401">Fondo</translation>
+<translation id="302435934487327038">Completouse a instalación</translation>
 <translation id="3027578600144895987">Pechar cámara</translation>
 <translation id="3031560714565892478">O dispositivo é unha cámara de vídeo.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Extremo</translation>
 <translation id="3069085583900247081">Produciuse un erro durante a proba</translation>
-<translation id="3076243757415932261">Validando compoñentes…</translation>
 <translation id="3083667275341675831">Diagnósticos de conectividade</translation>
 <translation id="3084958266922136097">Desactivar salvapantallas</translation>
 <translation id="3091839911843451378">Produciuse un erro: a impresora está detida</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Seguro que queres borrar todo o historial de impresión? Non se borrarán os traballos de impresión en curso.</translation>
 <translation id="3383751554789092165">Cambia a información do dispositivo segundo sexa necesario.</translation>
 <translation id="3404249063913988450">Activar protector de pantalla</translation>
-<translation id="3404770484521709967">Os compoñentes instaláronse correctamente.</translation>
 <translation id="3413935475507503304">Para continuar coa actualización, fai clic en Seguinte.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Seguranza</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Contrasinal antigo</translation>
 <translation id="4453205916657964690">Máscara de subrede</translation>
 <translation id="4454245904991689773">Gardar en</translation>
-<translation id="4472575034687746823">Comezar</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Produciuse un erro ao facer ping na pasarela de rede non predeterminada</translation>
 <translation id="4500213108254186382">Acelerómetro da tapa</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">En execución</translation>
 <translation id="6620487321149975369">Os traballos de impresión aparecerán no historial a menos que os quites de xeito manual</translation>
 <translation id="6643016212128521049">Borrar</translation>
+<translation id="6644568396961840069">Non se puido gardar o ficheiro. Proba a enchufar outro dispositivo de almacenamento externo ou téntao de novo máis tarde.</translation>
 <translation id="6647510110698214773">Algoritmo de encriptación</translation>
 <translation id="6650062777702288430">Alternar entre teclado de kana e alfanumérico</translation>
 <translation id="6657585470893396449">Contrasinal</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">A protección contra a escritura aínda está desactivada. Actívaa para continuar.</translation>
 <translation id="8075838845814659848">Carga restante</translation>
 <translation id="8082366717211101304">Non se puido resolver o DNS desde aplicacións para Android</translation>
-<translation id="8083281199617904460">Este proceso de reparación debe efectualo un técnico cualificado, e só se debe iniciar despois de substituír os compoñentes que non funcionen correctamente.</translation>
 <translation id="808894953321890993">Cambiar contrasinal</translation>
 <translation id="8104083085214006426">Estás usando unha rede aberta e non segura</translation>
 <translation id="8109786307828817014">Queres continuar a pesar dos erros de calibración?</translation>
diff --git a/chromeos/strings/chromeos_strings_gu.xtb b/chromeos/strings/chromeos_strings_gu.xtb
index dfe0b29..27bccac12 100644
--- a/chromeos/strings/chromeos_strings_gu.xtb
+++ b/chromeos/strings/chromeos_strings_gu.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">પ્રકાર</translation>
 <translation id="2461822463642141190">વર્તમાન</translation>
 <translation id="2480034874476596812">મેન્યુઅલ રીતે બંધ કરો</translation>
+<translation id="248546197012830854">ડિવાઇસ ઑફલાઇન છે. સહાયક કન્ટેન્ટ જોવા માટે વાઇ-ફાઇ નેટવર્ક સાથે કનેક્ટ કરો.</translation>
 <translation id="2491955442992294626">જ્યારે તમે અન્ય વિન્ડોનો ઉપયોગ કરી રહ્યાં હો, ત્યારે કીનું પરીક્ષણ કરવામાં આવતું નથી</translation>
 <translation id="2493126929778606526">ઑટોમૅટિક રીતે પસંદ કરવામાં આવેલા તમારા શ્રેષ્ઠ ફોટા</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -241,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">છેવટ</translation>
 <translation id="3069085583900247081">પરીક્ષણ નિષ્ફળ થયું</translation>
-<translation id="3076243757415932261">ઘટકો માન્ય કરી રહ્યાં છીએ...</translation>
 <translation id="3083667275341675831">કનેક્ટિવિટીના નિદાનો</translation>
 <translation id="3084958266922136097">સ્ક્રીન સેવર બંધ કરો</translation>
 <translation id="3091839911843451378">નિષ્ફળ થયું - પ્રિન્ટર બંધ થઈ ગયું છે</translation>
@@ -276,7 +276,6 @@
 <translation id="3369013195428705271">શું તમે ખરેખર પ્રિન્ટનો બધો ઇતિહાસ સાફ કરવા માગો છો? તમારી હાલની પ્રિન્ટ જોબ સાફ કરવામાં આવશે નહીં.</translation>
 <translation id="3383751554789092165">જરૂરિયાત પ્રમાણે ડિવાઇસની માહિતી બદલો.</translation>
 <translation id="3404249063913988450">સ્ક્રીન સેવર ચાલુ કરો</translation>
-<translation id="3404770484521709967">ઘટકો યોગ્ય રીતે ઇન્સ્ટૉલ કરવામાં આવ્યા છે.</translation>
 <translation id="3413935475507503304">અપડેટમાં આગળ વધવા માટે આગળ પર ક્લિક કરો.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">સુરક્ષા</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">જૂનો પાસવર્ડ</translation>
 <translation id="4453205916657964690">સબનેટ માસ્ક</translation>
 <translation id="4454245904991689773">સ્કૅન કરીને અહીં સાચવો</translation>
-<translation id="4472575034687746823">શરૂ કરો</translation>
 <translation id="4479639480957787382">ઇથરનેટ</translation>
 <translation id="4483049906298469269">નૉન-ડિફૉલ્ટ નેટવર્ક ગેટવેને પિંગ કરવામાં નિષ્ફળ રહ્યાં</translation>
 <translation id="4500213108254186382">લિડ ઍક્સીલરોમીટર</translation>
@@ -663,6 +661,7 @@
 <translation id="6611280807952151149"><ph name="DEVICE_TYPE" />ના રિપૅરની પ્રક્રિયામાંથી બહાર નીકળો</translation>
 <translation id="6618744767048954150">હજીપણ તપાસ થઈ રહી છે</translation>
 <translation id="6620487321149975369">જ્યાં સુધી પ્રિન્ટ કાર્યોને મેન્યુઅલી કાઢી નાખવામાં નહીં આવે, ત્યાં સુધી તે ઇતિહાસમાં દેખાશે</translation>
+<translation id="6624819909909965616">10 MB કરતાં મોટી ફાઇલ અપલોડ કરી શકાતી નથી</translation>
 <translation id="6643016212128521049">સાફ કરો</translation>
 <translation id="6644568396961840069">ફાઇલ સાચવી શકાઈ નથી. કોઈ અલગ બાહ્ય સ્ટોરેજ પ્લગ ઇન કરવાનો પ્રયાસ કરો અથવા થોડા સમય પછી ફરી પ્રયાસ કરો.</translation>
 <translation id="6647510110698214773">એન્ક્રિપ્શન ઍલ્ગોરિધમ</translation>
@@ -698,6 +697,7 @@
 <translation id="6965382102122355670">બરાબર, સમજાઇ ગયું</translation>
 <translation id="6977381486153291903">ફર્મવેયર પુનરાવર્તન</translation>
 <translation id="6995564396478647735">ખાતરી કરો કે રાઇટ પ્રોટેક્ટ ચાલુ છે</translation>
+<translation id="7005833343836210400">ડિવાઇસ ઑફલાઇન છે</translation>
 <translation id="7028979494427204405"><ph name="MANAGER" /> આ ડિવાઇસને મેનેજ કરે છે અને મુલાકાત લીધેલા વેબપેજ, પાસવર્ડ અને ઇમેઇલ સહિત, બધી વપરાશકર્તા પ્રવૃત્તિઓનો ઍક્સેસ ધરાવે છે.</translation>
 <translation id="7040230719604914234">ઑપરેટર</translation>
 <translation id="7041549558901442110">ડિવાઇસ કનેક્ટ થયું નથી.</translation>
@@ -810,8 +810,8 @@
 <translation id="8063022551652308521">રાઇટ પ્રોટેક્ટ હજી પણ બંધ છે. આગળ વધવા માટે, રાઇટ પ્રોટેક્ટ ચાલુ કરો.</translation>
 <translation id="8075838845814659848">બાકી રહેલું બૅટરી ચાર્જિંગ</translation>
 <translation id="8082366717211101304">Android ઍપથી DNSનું નિરાકરણ કરી શકતા નથી</translation>
-<translation id="8083281199617904460">રિપૅરની આ પ્રક્રિયા રિપૅરિંગ કરતા પ્રશિક્ષિત ટેક્નિશિયન દ્વારા કરવામાં આવે તે વધુ યોગ્ય છે. ખામીયુક્ત ઘટકોને બદલ્યા પછી જ શરૂઆત કરો.</translation>
 <translation id="808894953321890993">પાસવર્ડ બદલો</translation>
+<translation id="8094062939584182041">Googleને આ સમસ્યા વિશે તમને ઇમેઇલ કરવાની મંજૂરી આપો</translation>
 <translation id="8104083085214006426">તમે ઓપન અને અસુરક્ષિત નેટવર્કનો ઉપયોગ કરી રહ્યાં છો</translation>
 <translation id="8109786307828817014">નિષ્ફળ ગયેલા કેલિબ્રેશન સાથે આગળ વધવા માગો છો?</translation>
 <translation id="811820734797650957">(Android) ગેટવેને પિંગ કરી શકાય છે</translation>
diff --git a/chromeos/strings/chromeos_strings_hi.xtb b/chromeos/strings/chromeos_strings_hi.xtb
index b5021f7..000208b 100644
--- a/chromeos/strings/chromeos_strings_hi.xtb
+++ b/chromeos/strings/chromeos_strings_hi.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">एंडपॉइंट</translation>
 <translation id="3069085583900247081">टेस्ट असफल रहा</translation>
-<translation id="3076243757415932261">कॉम्पोनेंट के मान्य होने की जांच की जा रही है...</translation>
 <translation id="3083667275341675831">कनेक्टिविटी डाइग्नोस्टिक्स</translation>
 <translation id="3084958266922136097">स्क्रीन सेवर बंद करें</translation>
 <translation id="3091839911843451378">प्रिंट नहीं हो पाया - प्रिंटर बंद हो गया</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">क्या आप वाकई अपना पूरा प्रिंट इतिहास मिटाना चाहते हैं? प्रिंट का जो काम अभी चल रहा है उसकी जानकारी (प्रिंट जॉब) नहीं मिटाई जाएगी.</translation>
 <translation id="3383751554789092165">ज़रूरत के मुताबिक डिवाइस की जानकारी बदलें.</translation>
 <translation id="3404249063913988450">स्क्रीन सेवर चालू करें</translation>
-<translation id="3404770484521709967">कॉम्पोनेंट सही तरीके से इंस्टॉल किए गए हैं.</translation>
 <translation id="3413935475507503304">अपडेट करने के लिए 'आगे बढ़ें' पर क्लिक करें.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">सुरक्षा</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">पुराना पासवर्ड</translation>
 <translation id="4453205916657964690">सबनेट मास्क</translation>
 <translation id="4454245904991689773">स्कैन की हुई फ़ाइल यहां सेव करें</translation>
-<translation id="4472575034687746823">शुरू करें</translation>
 <translation id="4479639480957787382">ईथरनेट</translation>
 <translation id="4483049906298469269">ऐसे नेटवर्क गेटवे को पिंग नहीं किया जा सका जो डिफ़ॉल्ट के तौर पर सेट नहीं है</translation>
 <translation id="4500213108254186382">लिड एक्सलरोमीटर</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">'राइट प्रोटेक्ट' अब भी बंद है. आगे बढ़ने के लिए, 'राइट प्रोटेक्ट' को चालू करें.</translation>
 <translation id="8075838845814659848">इतने प्रतिशत चार्ज होना बाकी है</translation>
 <translation id="8082366717211101304">Android ऐप्लिकेशन से डीएनएस की समस्या ठीक नहीं की जा सकती</translation>
-<translation id="8083281199617904460">यह रिपेयर प्रोसेस, किसी प्रशिक्षित रिपेयर टेक्नीशियन के लिए है. खराब कॉम्पोनेंट बदलने के बाद ही प्रोसेस शुरू करें.</translation>
 <translation id="808894953321890993">पासवर्ड बदलें</translation>
 <translation id="8104083085214006426">आप एक ओपन नेटवर्क का इस्तेमाल कर रहे हैं जो सुरक्षित नहीं है</translation>
 <translation id="8109786307828817014">क्या आपको कॉम्पोनेंट को कैलिब्रेट किए बिना आगे बढ़ना है?</translation>
diff --git a/chromeos/strings/chromeos_strings_hr.xtb b/chromeos/strings/chromeos_strings_hr.xtb
index 0ee5f6e..743d675 100644
--- a/chromeos/strings/chromeos_strings_hr.xtb
+++ b/chromeos/strings/chromeos_strings_hr.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Završna točka</translation>
 <translation id="3069085583900247081">Test nije uspio</translation>
-<translation id="3076243757415932261">Validacija komponenti...</translation>
 <translation id="3083667275341675831">Dijagnostika veze</translation>
 <translation id="3084958266922136097">Onemogućivanje čuvara zaslona</translation>
 <translation id="3091839911843451378">Nije uspjelo – zaustavljeno</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Jeste li sigurni da želite izbrisati svu povijest ispisa? Zadaci ispisa u tijeku neće se izbrisati.</translation>
 <translation id="3383751554789092165">Po potrebi izmijenite informacije uređaja.</translation>
 <translation id="3404249063913988450">Omogućivanje čuvara zaslona</translation>
-<translation id="3404770484521709967">Komponente su instalirane točno.</translation>
 <translation id="3413935475507503304">Da biste nastavili s ažuriranjem, kliknite Dalje.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Sigurnost</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Stara zaporka</translation>
 <translation id="4453205916657964690">Maska podmreže</translation>
 <translation id="4454245904991689773">Skeniraj u</translation>
-<translation id="4472575034687746823">Početak korištenja</translation>
 <translation id="4479639480957787382">Eternet</translation>
 <translation id="4483049906298469269">Pinganje pristupnika mreže koja nije zadana nije uspjelo</translation>
 <translation id="4500213108254186382">Mjerač ubrzanja u poklopcu</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Zaštita od pisanja još uvijek je isključena. Da biste nastavili, uključite zaštitu od pisanja.</translation>
 <translation id="8075838845814659848">Preostala razina napunjenosti</translation>
 <translation id="8082366717211101304">Razrješavanje DNS-a iz Android aplikacija nije uspjelo</translation>
-<translation id="8083281199617904460">Postupak popravka smiju vršiti samo obučeni tehničari. Pokrenite ga tek nakon zamjene neispravnih komponenti.</translation>
 <translation id="808894953321890993">Promjena zaporke</translation>
 <translation id="8104083085214006426">Upotrebljavate otvorenu i nesigurnu mrežu</translation>
 <translation id="8109786307828817014">Želite li nastaviti s neuspjelim kalibracijama?</translation>
diff --git a/chromeos/strings/chromeos_strings_hu.xtb b/chromeos/strings/chromeos_strings_hu.xtb
index ebd0d66..77c88f1 100644
--- a/chromeos/strings/chromeos_strings_hu.xtb
+++ b/chromeos/strings/chromeos_strings_hu.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">FRISSÍTÉS</translation>
 <translation id="3009958530611748826">Válassza ki a mentés helyét</translation>
 <translation id="3017079585324758401">Háttér</translation>
+<translation id="302435934487327038">A telepítés befejeződött</translation>
 <translation id="3027578600144895987">Kamera bezárása</translation>
 <translation id="3031560714565892478">Az eszköz egy videokamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Befejező pont</translation>
 <translation id="3069085583900247081">Sikertelen teszt</translation>
-<translation id="3076243757415932261">Összetevők ellenőrzése…</translation>
 <translation id="3083667275341675831">Connectivity Diagnostics</translation>
 <translation id="3084958266922136097">Képernyővédő letiltása</translation>
 <translation id="3091839911843451378">Sikertelen – Leállítva</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Biztosan törli a nyomtatási előzményeket? A folyamatban lévő nyomtatási feladatok nem szakadnak meg.</translation>
 <translation id="3383751554789092165">Szükség szerint módosítsa az eszközadatokat.</translation>
 <translation id="3404249063913988450">Képernyővédő engedélyezése</translation>
-<translation id="3404770484521709967">Az összetevők megfelelően vannak telepítve.</translation>
 <translation id="3413935475507503304">A frissítéssel való folytatáshoz kattintson a Tovább lehetőségre.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Biztonság</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Régi jelszó</translation>
 <translation id="4453205916657964690">Alhálózati maszk</translation>
 <translation id="4454245904991689773">Beolvasás ide</translation>
-<translation id="4472575034687746823">Kezdő lépések</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Nem sikerült a nem alapértelmezett hálózati átjáró pingelése</translation>
 <translation id="4500213108254186382">Fedélzeti gyorsulásmérő</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Ellenőrzés folyamatban</translation>
 <translation id="6620487321149975369">A nyomtatási feladatok láthatók az előzmények között, ha nem távolítják el őket manuálisan</translation>
 <translation id="6643016212128521049">Törlés</translation>
+<translation id="6644568396961840069">Nem sikerült menteni a fájlt. Próbálkozzon másik külső tárhely csatlakoztatásával, vagy próbálja újra később.</translation>
 <translation id="6647510110698214773">Titkosítási algoritmus</translation>
 <translation id="6650062777702288430">Kana/alfanumerikus karakterek kapcsolója</translation>
 <translation id="6657585470893396449">Jelszó</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Az Írásvédelem még mindig ki van kapcsolva. A továbblépéshez kapcsolja be az Írásvédelem funkciót.</translation>
 <translation id="8075838845814659848">Töltöttségi szint</translation>
 <translation id="8082366717211101304">Nem sikerült feloldani a DNS-t androidos alkalmazásokról</translation>
-<translation id="8083281199617904460">A javítási folyamat elvégzését szakképzett szerelő számára tervezték. Csak a hibásan működő összetevők cseréje után indítsa el.</translation>
 <translation id="808894953321890993">Jelszó módosítása</translation>
 <translation id="8104083085214006426">Ön nyílt és nem biztonságos hálózatot használ</translation>
 <translation id="8109786307828817014">Folytatja a sikertelen kalibrálásokkal együtt?</translation>
diff --git a/chromeos/strings/chromeos_strings_hy.xtb b/chromeos/strings/chromeos_strings_hy.xtb
index f8838d5a..c2ebf65 100644
--- a/chromeos/strings/chromeos_strings_hy.xtb
+++ b/chromeos/strings/chromeos_strings_hy.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ԹԱՐՄԱՑՆԵԼ</translation>
 <translation id="3009958530611748826">Ընտրեք պանակ, որում պետք է պահել</translation>
 <translation id="3017079585324758401">Ֆոն</translation>
+<translation id="302435934487327038">Տեղադրումն ավարտված է</translation>
 <translation id="3027578600144895987">Փակել տեսախցիկը</translation>
 <translation id="3031560714565892478">Սարքը տեսախցիկ է։</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> մԱ</translation>
 <translation id="3056720590588772262">Վերջնակետ</translation>
 <translation id="3069085583900247081">Փորձարկումը ձախողվեց</translation>
-<translation id="3076243757415932261">Բաղադրիչները ստուգվում են…</translation>
 <translation id="3083667275341675831">Կապի դիագնոստիկա</translation>
 <translation id="3084958266922136097">Անջատել էկրանապահը</translation>
 <translation id="3091839911843451378">Չհաջողվեց տպել – Տպիչի աշխատանքը դադարեցվել է</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Մաքրե՞լ ամբողջ տպման պատմությունը: Ընթացիկ տպման աշխատանքները չեն ջնջվի։</translation>
 <translation id="3383751554789092165">Անհրաժեշտության դեպքում փոխեք սարքի մասին տեղեկությունները։</translation>
 <translation id="3404249063913988450">Միացնել էկրանապահը</translation>
-<translation id="3404770484521709967">Տեղադրված են համատեղելի բաղադրիչներ։</translation>
 <translation id="3413935475507503304">Թարմացումը շարունակելու համար սեղմեք «Առաջ»։</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Անվտանգություն</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Հին գաղտնաբառը</translation>
 <translation id="4453205916657964690">Ենթացանցի դիմակ</translation>
 <translation id="4454245904991689773">Պահել</translation>
-<translation id="4472575034687746823">Սկսել</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Չհաջողվեց փինգ ուղարկել չկանխադրված ցանցի անցախուցին</translation>
 <translation id="4500213108254186382">Արագացման չափիչ (կափարիչի)</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Ստուգումն ընթացքում է</translation>
 <translation id="6620487321149975369">Տպելու առաջադրանքները կցուցադրվեն պատմության մեջ, եթե դրանք ձեռքով չեն հեռացվել</translation>
 <translation id="6643016212128521049">Մաքրել</translation>
+<translation id="6644568396961840069">Չհաջողվեց պահել ֆայլը։ Փորձեք այլ արտաքին հիշողություն միացնել կամ կրկնեք ավելի ուշ։</translation>
 <translation id="6647510110698214773">Գաղտնագրման ալգորիթմ</translation>
 <translation id="6650062777702288430">Կանայի և տառաթվային նիշերի միջև անցում</translation>
 <translation id="6657585470893396449">Գաղտնաբառ</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Write Protect-ը դեռ անջատված է։ Շարունակելու համար միացրեք այն։</translation>
 <translation id="8075838845814659848">Մարտկոցի լիցքը</translation>
 <translation id="8082366717211101304">Չհաջողվեց փոխակերպել DNS-ը Android հավելվածներից</translation>
-<translation id="8083281199617904460">Վերանորոգումը պետք է իրականացվի որակավորված մասնագետի կողմից։ Նախքան սկսելը փոխեք թերի աշխատող բաղադրիչները։</translation>
 <translation id="808894953321890993">Փոխել գաղտնաբառը</translation>
 <translation id="8104083085214006426">Դուք օգտագործում եք բաց և ոչ անվտանգ ցանց</translation>
 <translation id="8109786307828817014">Շարունակե՞լ՝ չնայած որոշ չափաբերումների ձախողմանը</translation>
diff --git a/chromeos/strings/chromeos_strings_id.xtb b/chromeos/strings/chromeos_strings_id.xtb
index 8dab4fb..6b72e6e9 100644
--- a/chromeos/strings/chromeos_strings_id.xtb
+++ b/chromeos/strings/chromeos_strings_id.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">PERBARUI</translation>
 <translation id="3009958530611748826">Pilih folder untuk menyimpan</translation>
 <translation id="3017079585324758401">Latar belakang</translation>
+<translation id="302435934487327038">Penginstalan selesai</translation>
 <translation id="3027578600144895987">Tutup kamera</translation>
 <translation id="3031560714565892478">Perangkat adalah kamera video.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Endpoint</translation>
 <translation id="3069085583900247081">Pengujian gagal</translation>
-<translation id="3076243757415932261">Memvalidasi komponen ...</translation>
 <translation id="3083667275341675831">Diagnostik Konektivitas</translation>
 <translation id="3084958266922136097">Nonaktifkan screen saver</translation>
 <translation id="3091839911843451378">Gagal - Berhenti</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Yakin ingin menghapus semua histori cetak? Pekerjaan cetak yang sedang berlangsung tidak akan dihapus.</translation>
 <translation id="3383751554789092165">Ubah informasi perangkat sesuai kebutuhan.</translation>
 <translation id="3404249063913988450">Aktifkan screen saver</translation>
-<translation id="3404770484521709967">Komponen diinstal dengan benar.</translation>
 <translation id="3413935475507503304">Untuk melanjutkan update, klik Berikutnya.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Keamanan</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Sandi lama</translation>
 <translation id="4453205916657964690">Subnet mask</translation>
 <translation id="4454245904991689773">Pindai ke</translation>
-<translation id="4472575034687746823">Memulai</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Gagal melakukan ping ke gateway jaringan non-default</translation>
 <translation id="4500213108254186382">Penutup Akselerometer</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Sedang berjalan</translation>
 <translation id="6620487321149975369">Tugas pencetakan akan muncul di histori, kecuali dihapus secara manual</translation>
 <translation id="6643016212128521049">Hapus</translation>
+<translation id="6644568396961840069">File tidak dapat disimpan. Coba colokkan penyimpanan eksternal lain, atau coba lagi nanti.</translation>
 <translation id="6647510110698214773">Algoritme enkripsi</translation>
 <translation id="6650062777702288430">Beralih kana/alfanumerik</translation>
 <translation id="6657585470893396449">Sandi</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Proteksi Tulis masih dinonaktifkan. Untuk melanjutkan, aktifkan Proteksi Tulis.</translation>
 <translation id="8075838845814659848">Sisa daya baterai</translation>
 <translation id="8082366717211101304">Tidak dapat me-resolve DNS dari aplikasi Android</translation>
-<translation id="8083281199617904460">Proses perbaikan ini ditujukan untuk teknisi perbaikan terlatih. Hanya mulai perbaikan setelah mengganti komponen yang rusak.</translation>
 <translation id="808894953321890993">Ubah sandi</translation>
 <translation id="8104083085214006426">Anda menggunakan jaringan terbuka dan tidak aman</translation>
 <translation id="8109786307828817014">Lanjutkan dengan kalibrasi yang gagal?</translation>
diff --git a/chromeos/strings/chromeos_strings_is.xtb b/chromeos/strings/chromeos_strings_is.xtb
index 316206f..83eeae5 100644
--- a/chromeos/strings/chromeos_strings_is.xtb
+++ b/chromeos/strings/chromeos_strings_is.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ENDURNÝJA</translation>
 <translation id="3009958530611748826">Veldu möppu til að vista í</translation>
 <translation id="3017079585324758401">Bakgrunnur</translation>
+<translation id="302435934487327038">Uppsetningu lokið</translation>
 <translation id="3027578600144895987">Loka myndavélinni</translation>
 <translation id="3031560714565892478">Tækið er kvikmyndatökuvél.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">Endastaður</translation>
 <translation id="3069085583900247081">Próf mistókst</translation>
-<translation id="3076243757415932261">Íhlutir staðfestir…</translation>
 <translation id="3083667275341675831">Greining á tengigetu</translation>
 <translation id="3084958266922136097">Slökkva á skjávara</translation>
 <translation id="3091839911843451378">Mistókst – stöðvaðist</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Viltu örugglega hreinsa allan prentferil? Prentverk sem eru í gangi verða ekki hreinsuð.</translation>
 <translation id="3383751554789092165">Breyttu upplýsingum um tæki eftir þörfum.</translation>
 <translation id="3404249063913988450">Virkja skjávara</translation>
-<translation id="3404770484521709967">Íhlutir voru settir rétt upp.</translation>
 <translation id="3413935475507503304">Til að halda áfram að uppfæra skaltu smella á „Áfram“.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Öryggi</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Eldra aðgangsorð</translation>
 <translation id="4453205916657964690">Undirnetssía</translation>
 <translation id="4454245904991689773">Skanna í</translation>
-<translation id="4472575034687746823">Hefjast handa</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Ping-prófun ósjálfgefinnar netkerfisgáttar mistókst</translation>
 <translation id="4500213108254186382">Hraðamælir í loki</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Í gangi</translation>
 <translation id="6620487321149975369">Prentverk birtast í ferli nema þau séu fjarlægð handvirkt</translation>
 <translation id="6643016212128521049">Hreinsa</translation>
+<translation id="6644568396961840069">Ekki var hægt að vista skrána. Prófaðu að tengjast við aðra ytri geymslu eða reyndu aftur síðar.</translation>
 <translation id="6647510110698214773">Dulkóðunarreiknirit</translation>
 <translation id="6650062777702288430">Skipta á milli kana/bók- og tölustafa</translation>
 <translation id="6657585470893396449">Aðgangsorð</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Enn er slökkt á skrifvörn. Kveiktu á skrifvörn til að halda áfram.</translation>
 <translation id="8075838845814659848">Hleðsla eftir</translation>
 <translation id="8082366717211101304">Ekki er hægt að leysa úr DNS frá Android forritum</translation>
-<translation id="8083281199617904460">Viðgerðaferlið ætti að vera í höndum þjálfaðs sérfræðings. Ekki hefjast handa fyrr en biluðu íhlutirnir hafa verið fjarlægðir.</translation>
 <translation id="808894953321890993">Breyta aðgangsorði</translation>
 <translation id="8104083085214006426">Þú ert að nota opið og ótraust netkerfi</translation>
 <translation id="8109786307828817014">Halda áfram þrátt fyrir að kvörðun vanti?</translation>
diff --git a/chromeos/strings/chromeos_strings_it.xtb b/chromeos/strings/chromeos_strings_it.xtb
index 2cda2f58..e21abbda 100644
--- a/chromeos/strings/chromeos_strings_it.xtb
+++ b/chromeos/strings/chromeos_strings_it.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Endpoint</translation>
 <translation id="3069085583900247081">Test non riuscito</translation>
-<translation id="3076243757415932261">Convalida dei componenti in corso…</translation>
 <translation id="3083667275341675831">Diagnostica della connettività</translation>
 <translation id="3084958266922136097">Disabilita salvaschermo</translation>
 <translation id="3091839911843451378">Operazione non riuscita - Interruzione</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Vuoi cancellare l'intera cronologia di stampa? I processi di stampa in corso non verranno cancellati.</translation>
 <translation id="3383751554789092165">Modifica le informazioni del dispositivo secondo necessità.</translation>
 <translation id="3404249063913988450">Abilita salvaschermo</translation>
-<translation id="3404770484521709967">I componenti sono installati correttamente.</translation>
 <translation id="3413935475507503304">Per continuare con l'aggiornamento, fai clic su Avanti.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Sicurezza</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Vecchia password</translation>
 <translation id="4453205916657964690">Subnet mask</translation>
 <translation id="4454245904991689773">Salva scansioni in</translation>
-<translation id="4472575034687746823">Come iniziare</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">impossibile eseguire il ping del gateway di rete non predefinito</translation>
 <translation id="4500213108254186382">Accelerometro coperchio</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">La protezione della scrittura è ancora disattivata. Attivala per continuare.</translation>
 <translation id="8075838845814659848">Carica rimanente</translation>
 <translation id="8082366717211101304">Impossibile risolvere la richiesta DNS da app Android</translation>
-<translation id="8083281199617904460">Questa procedura di riparazione deve essere effettuata da un tecnico qualificato. Inizia soltanto dopo aver sostituito i componenti che non funzionano correttamente.</translation>
 <translation id="808894953321890993">Cambia password</translation>
 <translation id="8104083085214006426">Stai usando una rete aperta e non protetta</translation>
 <translation id="8109786307828817014">Vuoi procedere anche se alcune calibrazioni non sono andate a buon fine?</translation>
diff --git a/chromeos/strings/chromeos_strings_iw.xtb b/chromeos/strings/chromeos_strings_iw.xtb
index bf7310b5..d927e00 100644
--- a/chromeos/strings/chromeos_strings_iw.xtb
+++ b/chromeos/strings/chromeos_strings_iw.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">רענון</translation>
 <translation id="3009958530611748826">בחירת תיקייה לשמירה</translation>
 <translation id="3017079585324758401">רקע</translation>
+<translation id="302435934487327038">ההתקנה הושלמה</translation>
 <translation id="3027578600144895987">סגירת המצלמה</translation>
 <translation id="3031560714565892478">המכשיר הוא מצלמת וידאו.</translation>
 <translation id="3054177598518735801">mA<ph name="CURRENT_VALUE" /></translation>
 <translation id="3056720590588772262">‏נקודת קצה (endpoint)</translation>
 <translation id="3069085583900247081">הבדיקה נכשלה</translation>
-<translation id="3076243757415932261">הרכיבים נבדקים…</translation>
 <translation id="3083667275341675831">אבחון קישוריות</translation>
 <translation id="3084958266922136097">השבתת שומר המסך</translation>
 <translation id="3091839911843451378">נכשלה – משימת ההדפסה הופסקה</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">לנקות את כל היסטוריית ההדפסות? משימות ההדפסה הנוכחיות לא יימחקו.</translation>
 <translation id="3383751554789092165">יש לך אפשרות לשנות את פרטי המכשיר לפי הצורך.</translation>
 <translation id="3404249063913988450">הפעלת שומר המסך</translation>
-<translation id="3404770484521709967">הרכיבים הותקנו כמו שצריך.</translation>
 <translation id="3413935475507503304">צריך ללחוץ על 'הבא' כדי להמשיך בעדכון.</translation>
 <translation id="3434107140712555581">‎<ph name="BATTERY_PERCENTAGE" />%‎</translation>
 <translation id="3435738964857648380">אבטחה</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">סיסמה ישנה</translation>
 <translation id="4453205916657964690">מסכה של רשת משנה</translation>
 <translation id="4454245904991689773">מיקום שמירת הסריקה</translation>
-<translation id="4472575034687746823">תחילת העבודה</translation>
 <translation id="4479639480957787382">אתרנט</translation>
 <translation id="4483049906298469269">לא ניתן היה לבצע פינג לשער הרשת שאינה מוגדרת כברירת מחדל.</translation>
 <translation id="4500213108254186382">מד תאוצה – מסך</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">הבדיקה מתבצעת עכשיו</translation>
 <translation id="6620487321149975369">משימות הדפסה יופיעו תחת היסטוריה אלא אם הן הוסרו ידנית</translation>
 <translation id="6643016212128521049">ניקוי</translation>
+<translation id="6644568396961840069">לא ניתן היה לשמור את הקובץ. אפשר לחבר התקן אחסון חיצוני אחר או לנסות שוב מאוחר יותר.</translation>
 <translation id="6647510110698214773">האלגוריתם להצפנה</translation>
 <translation id="6650062777702288430">מתג קאנה/אלפאנומרי</translation>
 <translation id="6657585470893396449">סיסמה</translation>
@@ -722,6 +721,7 @@
 <translation id="7180611975245234373">רענון</translation>
 <translation id="7212734716605298123">עדכוני קושחה למכשירים חיצוניים</translation>
 <translation id="7216409898977639127">ספק שירות סלולרי</translation>
+<translation id="725133483556299729">בחירת אימייל</translation>
 <translation id="7271040990581020067">הסורק נמצא בשימוש כרגע. יש לנסות שוב מאוחר יותר.</translation>
 <translation id="7274587244503383581"><ph name="PRINTED_PAGES_NUMBER" />/<ph name="TOTAL_PAGES_NUMBER" /></translation>
 <translation id="7281209642468917121">יש לבחור רכיב אחד או יותר ולנסות שוב, או לדלג על הכיול</translation>
@@ -808,7 +808,6 @@
 <translation id="8063022551652308521">התכונה 'הגנה מכתיבה' עדיין מושבתת. צריך להפעיל אותה כדי להמשיך.</translation>
 <translation id="8075838845814659848">אחוז הסוללה שנותר לטעון</translation>
 <translation id="8082366717211101304">‏לא ניתן ליצור רזולוציית DNS לאפליקציות ל-Android</translation>
-<translation id="8083281199617904460">תהליך התיקון צריך להתבצע על ידי טכנאי מוסמך. יש להתחיל אותו רק אחרי שמחליפים את הרכיבים שאינם תקינים.</translation>
 <translation id="808894953321890993">שינוי הסיסמה</translation>
 <translation id="8104083085214006426">הרשת שאליה התחברת פתוחה ואינה מאובטחת</translation>
 <translation id="8109786307828817014">להמשיך עם הכיול שנכשל?</translation>
diff --git a/chromeos/strings/chromeos_strings_ja.xtb b/chromeos/strings/chromeos_strings_ja.xtb
index 1bae44c6..7edba3b1 100644
--- a/chromeos/strings/chromeos_strings_ja.xtb
+++ b/chromeos/strings/chromeos_strings_ja.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">エンドポイント</translation>
 <translation id="3069085583900247081">テストに失敗しました</translation>
-<translation id="3076243757415932261">コンポーネントを検証しています...</translation>
 <translation id="3083667275341675831">接続診断</translation>
 <translation id="3084958266922136097">スクリーン セーバーを無効にする</translation>
 <translation id="3091839911843451378">失敗 - 停止中です</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">印刷履歴をすべて削除してもよろしいですか?実行中の印刷ジョブは削除されません。</translation>
 <translation id="3383751554789092165">必要に応じてデバイス情報を変更してください。</translation>
 <translation id="3404249063913988450">スクリーン セーバーを有効にする</translation>
-<translation id="3404770484521709967">コンポーネントは正しくインストールされたものです。</translation>
 <translation id="3413935475507503304">更新を進めるには、[次へ] をクリックしてください。</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">セキュリティ</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">古いパスワード</translation>
 <translation id="4453205916657964690">サブネット マスク</translation>
 <translation id="4454245904991689773">スキャンの保存先</translation>
-<translation id="4472575034687746823">始める</translation>
 <translation id="4479639480957787382">イーサネット</translation>
 <translation id="4483049906298469269">デフォルト以外のネットワーク ゲートウェイに向けた ping が失敗しました</translation>
 <translation id="4500213108254186382">カバー部加速度計</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">書き込み保護はまだオフになっています。続行するには、書き込み保護をオンにしてください。</translation>
 <translation id="8075838845814659848">バッテリー残量</translation>
 <translation id="8082366717211101304">Android アプリから DNS を解決できません</translation>
-<translation id="8083281199617904460">この修復プロセスは、訓練を受けた修復技術者が行うことを想定しています。不具合のあるコンポーネントを交換した後で開始してください。</translation>
 <translation id="808894953321890993">パスワードの変更</translation>
 <translation id="8104083085214006426">保護されていないオープン ネットワークを使用しています</translation>
 <translation id="8109786307828817014">キャリブレーションに失敗しましたが続行しますか?</translation>
diff --git a/chromeos/strings/chromeos_strings_ka.xtb b/chromeos/strings/chromeos_strings_ka.xtb
index c9714914..fe803b5 100644
--- a/chromeos/strings/chromeos_strings_ka.xtb
+++ b/chromeos/strings/chromeos_strings_ka.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">განახლება</translation>
 <translation id="3009958530611748826">აირჩიეთ საქაღალდე, რომელშიც უნდა შეინახოს</translation>
 <translation id="3017079585324758401">ფონი</translation>
+<translation id="302435934487327038">ინსტალაცია დასრულდა</translation>
 <translation id="3027578600144895987">კამერის დახურვა</translation>
 <translation id="3031560714565892478">მოწყობილობა არის ვიდეოკამერა.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> მა</translation>
 <translation id="3056720590588772262">საბოლოო წერტილი</translation>
 <translation id="3069085583900247081">ტესტი წარუმატებლად დასრულდა</translation>
-<translation id="3076243757415932261">მიმდინარეობს კომპონენტების დადასტურება...</translation>
 <translation id="3083667275341675831">კავშირის დიაგნოსტიკა</translation>
 <translation id="3084958266922136097">ეკრანმზოგის გათიშვა</translation>
 <translation id="3091839911843451378">ვერ მოხერხდა — შეწყვიტა მუშაობა</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">ნამდვილად გსურთ ბეჭდვის ისტორიის მთლიანად გასუფთავება? ბეჭდვის მიმდინარე დავალებები არ წაიშლება.</translation>
 <translation id="3383751554789092165">საჭიროებისამებრ შეცვალეთ მოწყობილობის ინფორმაცია.</translation>
 <translation id="3404249063913988450">ეკრანმზოგის ჩართვა</translation>
-<translation id="3404770484521709967">კომპონენტები სწორად დაინსტალირდა.</translation>
 <translation id="3413935475507503304">განახლების გასაგრძელებლად დაწკაპუნებით აირჩიეთ „შემდეგი“.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">უსაფრთხოება</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">ძველი პაროლი</translation>
 <translation id="4453205916657964690">ქვექსელის ნიღაბი</translation>
 <translation id="4454245904991689773">შენახვის ადგილი</translation>
-<translation id="4472575034687746823">დაწყება</translation>
 <translation id="4479639480957787382">ეთერნეთი</translation>
 <translation id="4483049906298469269">არანაგულისხმევი ქსელის გეითვეისთან კავშირის შემოწმება ვერ მოხერხდა</translation>
 <translation id="4500213108254186382">თავსახურის აქსელერომეტრი</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">მიმდინარეობს</translation>
 <translation id="6620487321149975369">ბეჭდვის დავალებები გამოჩნდება ისტორიაში, თუ მათ ხელით არ ამოშლით</translation>
 <translation id="6643016212128521049">გასუფთავება</translation>
+<translation id="6644568396961840069">ფაილის შენახვა ვერ მოხერხდა. ცადეთ სხვა გარე მეხსიერების მიერთება, ან ცადეთ მოგვიანებით.</translation>
 <translation id="6647510110698214773">დაშიფვრის ალგორითმი</translation>
 <translation id="6650062777702288430">კანა/ანბანურ-ციფრული რეჟიმების გადართვა</translation>
 <translation id="6657585470893396449">პაროლი</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">ჩაწერისგან დაცვა ისევ გამორთულია. გასაგრძელებლად ჩართეთ ჩაწერისგან დაცვა.</translation>
 <translation id="8075838845814659848">დარჩენილი მუხტი</translation>
 <translation id="8082366717211101304">DNS-ის დარეგულირება ვერ მოხერხდა Android აპებიდან</translation>
-<translation id="8083281199617904460">აღდგენის ეს პროცესი განკუთვნილია კვალიფიციური შემკეთებლებისთვის. დაიწყეთ მხოლოდ მას შემდეგ, რაც ჩაანაცვლებთ არასწორად მომუშავე კომპონენტებს.</translation>
 <translation id="808894953321890993">პაროლის შეცვლა</translation>
 <translation id="8104083085214006426">თქვენ ღია და არასტაბილური ქსელით სარგებლობთ</translation>
 <translation id="8109786307828817014">გსურთ წარუმატებელი კალიბრაციით გაგრძელება?</translation>
diff --git a/chromeos/strings/chromeos_strings_kk.xtb b/chromeos/strings/chromeos_strings_kk.xtb
index 431c8b11..b01fbb4 100644
--- a/chromeos/strings/chromeos_strings_kk.xtb
+++ b/chromeos/strings/chromeos_strings_kk.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Соңғы нүкте</translation>
 <translation id="3069085583900247081">Тексерілмеді.</translation>
-<translation id="3076243757415932261">Құрамдастар тексеріліп жатыр...</translation>
 <translation id="3083667275341675831">Байланыс диагностикасы</translation>
 <translation id="3084958266922136097">Скринсейверді өшіру</translation>
 <translation id="3091839911843451378">Сәтсіз: тоқтатылды</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Басып шығару тарихын шынымен толығымен тазалағыңыз келе ме? Қазір орындалып жатқан басып шығару жұмысының деректері сақталады.</translation>
 <translation id="3383751554789092165">Құрылғы ақпаратын қажетінше өзгертіңіз.</translation>
 <translation id="3404249063913988450">Скринсейверді қосу</translation>
-<translation id="3404770484521709967">Құрамдастар дұрыс орнатылды.</translation>
 <translation id="3413935475507503304">Жаңартуды жалғастыру үшін "Келесі" түймесін басыңыз.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Қауіпсіздік</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Ескі құпия сөз</translation>
 <translation id="4453205916657964690">Қосалқы желі маскасы</translation>
 <translation id="4454245904991689773">Сақтау орны</translation>
-<translation id="4472575034687746823">Іске кірісу</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Әдепкі емес желі шлюзінің байланысы тексерілмеді.</translation>
 <translation id="4500213108254186382">Қақпақ акселерометрі</translation>
@@ -810,7 +807,6 @@
 <translation id="8063022551652308521">Write Protect функциясы әлі өшірулі. Жалғастыру үшін оны қосыңыз.</translation>
 <translation id="8075838845814659848">Қалған заряд</translation>
 <translation id="8082366717211101304">Android қолданбаларынан DNS-ті анықтау мүмкін емес.</translation>
-<translation id="8083281199617904460">Бұл жөндеу жұмысын арнайы техник маман жүргізуі керек. Жұмыс істемей тұрған құрамдастарды ауыстырғаннан кейін ғана іске қосыңыз.</translation>
 <translation id="808894953321890993">Кұпия сөзді өзгерту</translation>
 <translation id="8104083085214006426">Ашық әрі қауіпті желіні қолданып жатырсыз.</translation>
 <translation id="8109786307828817014">Калибрленбеген құрамдастармен жалғастыра бересіз бе?</translation>
diff --git a/chromeos/strings/chromeos_strings_km.xtb b/chromeos/strings/chromeos_strings_km.xtb
index 5915466..cbdfb52 100644
--- a/chromeos/strings/chromeos_strings_km.xtb
+++ b/chromeos/strings/chromeos_strings_km.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">Endpoint</translation>
 <translation id="3069085583900247081">ការធ្វើតេស្ត​​មិនបានសម្រេចទេ</translation>
-<translation id="3076243757415932261">កំពុងបញ្ជាក់​សុពលភាព​សមាសភាគ...</translation>
 <translation id="3083667275341675831">ការវិភាគអំពីការតភ្ជាប់</translation>
 <translation id="3084958266922136097">បិទធាតុរក្សាអេក្រង់</translation>
 <translation id="3091839911843451378">មិនបានសម្រេច - ​​​ម៉ាស៊ីន​បោះពុម្ពបានឈប់</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">តើអ្នក​ពិតជាចង់​សម្អាត​ប្រវត្តិបោះពុម្ព​ទាំងអស់​មែនឬ? ការងារ​បោះពុម្ព​របស់អ្នកដែល​កំពុងដំណើរការ​នឹងមិនត្រូវបាន​សម្អាតទេ។</translation>
 <translation id="3383751554789092165">ផ្លាស់ប្ដូរព័ត៌មានឧបករណ៍តាមភាពចាំបាច់។</translation>
 <translation id="3404249063913988450">បើកធាតុរក្សាអេក្រង់</translation>
-<translation id="3404770484521709967">សមាសភាគ​ត្រូវបាន​ដំឡើង​ត្រឹមត្រូវ។</translation>
 <translation id="3413935475507503304">ដើម្បីបន្តការដំឡើងកំណែ សូមចុច "បន្ទាប់"។</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">សុវត្ថិភាព</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">ពាក្យ​សម្ងាត់​ចាស់</translation>
 <translation id="4453205916657964690">របាំងបណ្តាញរង</translation>
 <translation id="4454245904991689773">រក្សាទុកការស្កេនទៅក្នុង</translation>
-<translation id="4472575034687746823">ចាប់ផ្ដើម</translation>
 <translation id="4479639480957787382">ខ្សែអ៊ីនធឺណិត</translation>
 <translation id="4483049906298469269">មិនអាចភីងច្រកបណ្ដាញមិនមែនលំនាំដើមបានទេ</translation>
 <translation id="4500213108254186382">ឧបករណ៍វាស់​បំរែបំរួលល្បឿន​ផ្នែក​គម្រប</translation>
@@ -810,7 +807,6 @@
 <translation id="8063022551652308521">មុខងារ​ទប់ស្កាត់​ការសរសេរ​នៅតែ​ត្រូវបាន​បិទ។ ដើម្បីបន្ត សូម​បើក​មុខងារ​ទប់ស្កាត់​ការសរសេរ។</translation>
 <translation id="8075838845814659848">ការសាកថ្ម​ដែលនៅសល់</translation>
 <translation id="8082366717211101304">មិនអាចដោះស្រាយ DNS ពីកម្មវិធី Android បានទេ</translation>
-<translation id="8083281199617904460">ដំណើរការ​ជួសជុល​នេះ​ត្រូវបាន​បង្កើតឡើង​សម្រាប់​អ្នកបច្ចេកទេស​ជួសជុល​ដែលបានទទួលការបណ្ដុះបណ្ដាល។ ចាប់ផ្ដើម​បន្ទាប់ពី​ការជំនួស​សមាសភាគ​ដែល​ដំណើរការ​ខុសប្រក្រតី​ប៉ុណ្ណោះ។</translation>
 <translation id="808894953321890993">ប្ដូរ​ពាក្យ​សម្ងាត់</translation>
 <translation id="8104083085214006426">អ្នកកំពុងប្រើបណ្ដាញចំហ និងគ្មានសុវត្ថិភាព</translation>
 <translation id="8109786307828817014">បន្ដការកែតម្រូវដែលមិនបានសម្រេចឬ?</translation>
diff --git a/chromeos/strings/chromeos_strings_kn.xtb b/chromeos/strings/chromeos_strings_kn.xtb
index fe0bd4e..8167f48 100644
--- a/chromeos/strings/chromeos_strings_kn.xtb
+++ b/chromeos/strings/chromeos_strings_kn.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">ಅಂತಿಮ ಬಿಂದು</translation>
 <translation id="3069085583900247081">ಪರೀಕ್ಷೆ ವಿಫಲವಾಗಿದೆ</translation>
-<translation id="3076243757415932261">ಕಾಂಪೋನೆಂಟ್‌ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಲಾಗುತ್ತಿದೆ...</translation>
 <translation id="3083667275341675831">ಕನೆಕ್ಟಿವಿಟಿ ಡಯಾಗ್ನಾಸ್ಟಿಕ್ಸ್</translation>
 <translation id="3084958266922136097">ಸ್ಕ್ರೀನ್ ಸೇವರ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ</translation>
 <translation id="3091839911843451378">ವಿಫಲವಾಗಿದೆ - ನಿಲ್ಲಿಸಲಾಗಿದೆ</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">ಎಲ್ಲಾ ಪ್ರಿಂಟ್ ಇತಿಹಾಸವನ್ನು ತೆರವುಗೊಳಿಸಲು ನೀವು ಬಯಸುವಿರಾ? ಪ್ರಸ್ತುತ ಚಾಲನೆಯಲ್ಲಿರುವ ನಿಮ್ಮ ಪ್ರಿಂಟ್ ಕಾರ್ಯವನ್ನು ತೆರವುಗೊಳಿಸುವುದಿಲ್ಲ.</translation>
 <translation id="3383751554789092165">ಅಗತ್ಯವಿರುವಂತೆ ಸಾಧನದ ಮಾಹಿತಿಯನ್ನು ಬದಲಾಯಿಸಿ.</translation>
 <translation id="3404249063913988450">ಸ್ಕ್ರೀನ್ ಸೇವರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ</translation>
-<translation id="3404770484521709967">ಕಾಂಪೋನೆಂಟ್‌ಗಳನ್ನು ಸರಿಯಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ.</translation>
 <translation id="3413935475507503304">ಅಪ್‌ಡೇಟ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮುಂದುವರಿಸಲು, ಮುಂದಿನದು ಕ್ಲಿಕ್ ಮಾಡಿ.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">ಭದ್ರತೆ</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">ಹಳೆಯ ಪಾಸ್‌ವರ್ಡ್‌</translation>
 <translation id="4453205916657964690">ಸಬ್‌ನೆಟ್‌ ಮಾಸ್ಕ್‌</translation>
 <translation id="4454245904991689773">ಇದರಲ್ಲಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಿ</translation>
-<translation id="4472575034687746823">ಪ್ರಾರಂಭಿಸಿ</translation>
 <translation id="4479639480957787382">ಈಥರ್ನೆಟ್</translation>
 <translation id="4483049906298469269">ಡೀಫಾಲ್ಟ್ ಅಲ್ಲದ ನೆಟ್‌ವರ್ಕ್ ಗೇಟ್‌ವೇಗೆ ಪಿಂಗ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ</translation>
 <translation id="4500213108254186382">ಲಿಡ್ ವೇಗೋತ್ಕರ್ಷಕ ಮಾಪಕ</translation>
@@ -810,7 +807,6 @@
 <translation id="8063022551652308521">ರೈಟ್ ಪ್ರೊಟೆಕ್ಟ್ ಅನ್ನು ಈಗಲೂ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ಮುಂದುವರೆಯಲು, ರೈಟ್ ಪ್ರೊಟೆಕ್ಟ್ ಆನ್ ಮಾಡಿ.</translation>
 <translation id="8075838845814659848">ಉಳಿದಿರುವ ಚಾರ್ಜ್</translation>
 <translation id="8082366717211101304">Android ಆ್ಯಪ್‌ಗಳ ಮೂಲಕ DNS ಅನ್ನು ಬಗೆಹರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ</translation>
-<translation id="8083281199617904460">ಈ ರಿಪೇರಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ತರಬೇತಿ ಪಡೆದ ರಿಪೇರಿ ಮಾಡುವ ತಂತ್ರಜ್ಞರಿಗೆ ಮಾಡುವಂತೆ ತಿಳಿಸಲಾಗಿದೆ. ಸಮರ್ಪಕವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದ ಕಾಂಪೋನೆಂಟ್‌ಗಳನ್ನು ಬದಲಿಸಿದ ನಂತರವೇ ಪ್ರಾರಂಭಿಸಿ.</translation>
 <translation id="808894953321890993">ಪಾಸ್‌ವರ್ಡ್ ಬದಲಿಸಿ</translation>
 <translation id="8104083085214006426">ನೀವು ಓಪನ್ ಮತ್ತು ಸುರಕ್ಷಿತವಲ್ಲದ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸುತ್ತಿರುವಿರಿ</translation>
 <translation id="8109786307828817014">ವಿಫಲವಾದ ಕ್ಯಾಲಿಬ್ರೇಶನ್‌ಗಳ ಮೂಲಕ ಮುಂದುವರಿಯುವುದೇ?</translation>
diff --git a/chromeos/strings/chromeos_strings_ko.xtb b/chromeos/strings/chromeos_strings_ko.xtb
index d42d629..722c50c 100644
--- a/chromeos/strings/chromeos_strings_ko.xtb
+++ b/chromeos/strings/chromeos_strings_ko.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">새로고침</translation>
 <translation id="3009958530611748826">저장 폴더 선택</translation>
 <translation id="3017079585324758401">배경</translation>
+<translation id="302435934487327038">설치 완료</translation>
 <translation id="3027578600144895987">카메라 종료</translation>
 <translation id="3031560714565892478">비디오 카메라 기기입니다.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">엔드포인트</translation>
 <translation id="3069085583900247081">테스트 실패</translation>
-<translation id="3076243757415932261">구성요소 확인 중...</translation>
 <translation id="3083667275341675831">연결 진단</translation>
 <translation id="3084958266922136097">화면 보호기 사용 중지</translation>
 <translation id="3091839911843451378">실패 - 중지됨</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">모든 인쇄 기록을 삭제하시겠습니까? 진행 중인 인쇄 작업은 삭제되지 않습니다.</translation>
 <translation id="3383751554789092165">필요하면 기기 정보를 변경합니다.</translation>
 <translation id="3404249063913988450">화면 보호기 사용</translation>
-<translation id="3404770484521709967">구성요소가 제대로 설치되었습니다.</translation>
 <translation id="3413935475507503304">업데이트를 계속하려면 다음을 클릭하세요.</translation>
 <translation id="3434107140712555581">배터리 <ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">보안</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">이전 비밀번호</translation>
 <translation id="4453205916657964690">서브넷 마스크</translation>
 <translation id="4454245904991689773">스캔 파일 저장 위치</translation>
-<translation id="4472575034687746823">시작하기</translation>
 <translation id="4479639480957787382">이더넷</translation>
 <translation id="4483049906298469269">기본이 아닌 네트워크 게이트웨이를 핑할 수 없습니다.</translation>
 <translation id="4500213108254186382">리드 가속도계</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">실행 중</translation>
 <translation id="6620487321149975369">수동으로 삭제하지 않으면 인쇄 작업이 기록에 나타납니다.</translation>
 <translation id="6643016212128521049">삭제</translation>
+<translation id="6644568396961840069">파일을 저장할 수 없습니다. 다른 외부 저장소에 연결해 보거나 나중에 다시 시도해 주세요.</translation>
 <translation id="6647510110698214773">암호화 알고리즘</translation>
 <translation id="6650062777702288430">가나/영숫자 전환</translation>
 <translation id="6657585470893396449">비밀번호</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">쓰기 방지가 여전히 사용 중지되어 있습니다. 계속하려면 쓰기 방지를 사용 설정하세요.</translation>
 <translation id="8075838845814659848">배터리 잔량</translation>
 <translation id="8082366717211101304">Android 앱에서 DNS를 변환할 수 없습니다.</translation>
-<translation id="8083281199617904460">전문 기술자가 수리해야 합니다. 반드시 고장 난 구성요소를 교체한 후 시작하세요.</translation>
 <translation id="808894953321890993">비밀번호 변경</translation>
 <translation id="8104083085214006426">안전하지 않은 개방형 네트워크를 사용하고 있습니다.</translation>
 <translation id="8109786307828817014">보정에 실패해도 계속할까요?</translation>
diff --git a/chromeos/strings/chromeos_strings_ky.xtb b/chromeos/strings/chromeos_strings_ky.xtb
index ae532b6e..cd60109 100644
--- a/chromeos/strings/chromeos_strings_ky.xtb
+++ b/chromeos/strings/chromeos_strings_ky.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />мА</translation>
 <translation id="3056720590588772262">Аяктоо чекити</translation>
 <translation id="3069085583900247081">Сыналган жок</translation>
-<translation id="3076243757415932261">Курамдык бөлүктөр текшерилүүдө...</translation>
 <translation id="3083667275341675831">Байланыштагы мүчүлүштүктөрдү аныктоо</translation>
 <translation id="3084958266922136097">Көшөгөнү өчүрүү</translation>
 <translation id="3091839911843451378">Басылып чыгарылган жок - Принтер токтоп калды</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Басып чыгаруу тарыхын өчүрөсүзбү? Учурда басылып жаткан документтериңиз өчүрүлбөйт.</translation>
 <translation id="3383751554789092165">Зарыл болгондо түзмөк тууралуу маалыматты өзгөртүңүз.</translation>
 <translation id="3404249063913988450">Көшөгөнү иштетүү</translation>
-<translation id="3404770484521709967">Курамдык бөлүктөр туура орнотулду.</translation>
 <translation id="3413935475507503304">Жаңыртуу үчүн "Кийинки" баскычын басыңыз.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Коопсуздук</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Эски сырсөз</translation>
 <translation id="4453205916657964690">Көмөкчү тармактын маскасы</translation>
 <translation id="4454245904991689773">Төмөнкүгө скандоо:</translation>
-<translation id="4472575034687746823">Баштоо</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Демейкиден башка тармактын шлюзуна ping сурамы жөнөтүлгөн жок</translation>
 <translation id="4500213108254186382">Капкактын акселерометри</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Жазуудан коргоо дагы эле өчүк. Улантуу үчүн аны күйгүзүңүз.</translation>
 <translation id="8075838845814659848">Батареянын кубаты</translation>
 <translation id="8082366717211101304">Android колдонмолорунан DNS чечилбей жатат</translation>
-<translation id="8083281199617904460">Муну оңдоо боюнча адис техник аткарышы керек. Туура иштебеген курамдык бөлүктөр алмаштырылгандан кийин гана оңдоп баштаңыз.</translation>
 <translation id="808894953321890993">Сызсөздү өзгөртүү</translation>
 <translation id="8104083085214006426">Ачык жана кооптуу тармакты колдонуп жатасыз</translation>
 <translation id="8109786307828817014">Курамдык бөлүктөр калибрленсинби?</translation>
diff --git a/chromeos/strings/chromeos_strings_lo.xtb b/chromeos/strings/chromeos_strings_lo.xtb
index 00680ed..ff768ac 100644
--- a/chromeos/strings/chromeos_strings_lo.xtb
+++ b/chromeos/strings/chromeos_strings_lo.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ໂຫຼດຂໍ້ມູນໃໝ່</translation>
 <translation id="3009958530611748826">ເລືອກໂຟນເດີທີ່ຈະບັນທຶກໄວ້ໃນ</translation>
 <translation id="3017079585324758401">ພາບພື້ນຫຼັງ</translation>
+<translation id="302435934487327038">ຕິດຕັ້ງສຳເລັດແລ້ວ</translation>
 <translation id="3027578600144895987">ປິດກ້ອງຖ່າຍຮູບ</translation>
 <translation id="3031560714565892478">ອຸປະກອນແມ່ນກ້ອງຖ່າຍວິດີໂອ.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">ຈຸດສິ້ນສຸດ</translation>
 <translation id="3069085583900247081">ທົດສອບບໍ່ສຳເລັດ</translation>
-<translation id="3076243757415932261">ກຳລັງກວດສອບອົງປະກອບ...</translation>
 <translation id="3083667275341675831">ການວິນິໄສການເຊື່ອມຕໍ່</translation>
 <translation id="3084958266922136097">ປິດການນຳໃຊ້ສກຣີນເຊັບເວີ</translation>
 <translation id="3091839911843451378">ບໍ່ສຳເລັດ, ຢຸດແລ້ວ</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">ທ່ານແນ່ໃຈບໍ່ວ່າທ່ານຕ້ອງການລຶບປະຫວັດການພິມທັງໝົດ? ວຽກການພິມທີ່ພວມດຳເນີນຢູ່ຂອງທ່ານຈະບໍ່ຖືກລຶບລ້າງ.</translation>
 <translation id="3383751554789092165">ປ່ຽນຂໍ້​ມູນ​ອຸ​ປະ​ກອນຕາມຄວາມຕ້ອງການ.</translation>
 <translation id="3404249063913988450">ເປີດການນຳໃຊ້ສະກຣີນເຊັບເວີແລ້ວ</translation>
-<translation id="3404770484521709967">ຕິດຕັ້ງອົງປະກອບຢ່າງຖືກຕ້ອງແລ້ວ.</translation>
 <translation id="3413935475507503304">ເພື່ອດຳເນີນການຕໍ່ກັບອັບເດດ, ໃຫ້ຄລິກຕໍ່ໄປ</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">ຄວາມ​ປອດ​ໄພ</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">ລະຫັດຜ່ານເກົ່າ</translation>
 <translation id="4453205916657964690">Subnet Mask</translation>
 <translation id="4454245904991689773">ສະແກນເພື່ອ</translation>
-<translation id="4472575034687746823">ເລີ່ມຕົ້ນ</translation>
 <translation id="4479639480957787382">ອີເທີເນັດ</translation>
 <translation id="4483049906298469269">ໃຊ້ຄຳສັ່ງ ping ກັບເກດເວເຄືອຂ່າຍທີ່ບໍ່ແມ່ນຄ່າເລີ່ມຕົ້ນບໍ່ໄດ້</translation>
 <translation id="4500213108254186382">ຕົວວັດແທກຄວາມເລັ່ງຝາ</translation>
@@ -665,6 +663,7 @@
 <translation id="6618744767048954150">ກຳລັງເປີດ</translation>
 <translation id="6620487321149975369">ວຽກພິມຈະປາກົດໃນປະຫວັດ ເວັ້ນເສຍແຕ່ຜູ້ໃຊ້ຈະລຶບພວກມັນອອກດ້ວຍຕົນເອງ</translation>
 <translation id="6643016212128521049">ລຶບ</translation>
+<translation id="6644568396961840069">ບໍ່ສາມາດບັນທຶກໄຟລ໌ໄດ້. ລອງປລັກອິນບ່ອນຈັດເກັບຂໍ້ມູນພາຍນອກອື່ນ ຫຼື ລອງໃໝ່ພາຍຫຼັງ.</translation>
 <translation id="6647510110698214773">ອະກໍຣິທຶມການເຂົ້າລະຫັດ</translation>
 <translation id="6650062777702288430">ປຸ່ມ Kana/ຕົວອັກສອນ ແລະ ຕົວເລກ</translation>
 <translation id="6657585470893396449">ລະຫັດຜ່ານ</translation>
@@ -811,7 +810,6 @@
 <translation id="8063022551652308521">Write Protect ຍັງຄົງປິດຢູ່. ເພື່ອສືບຕໍ່, ໃຫ້ເປີດໃຊ້ Write Protect ກ່ອນ.</translation>
 <translation id="8075838845814659848">ການສາກທີ່ເຫຼືອ</translation>
 <translation id="8082366717211101304">ບໍ່ສາມາດລະບຸ DNS ຈາກແອັບ Android ໄດ້</translation>
-<translation id="8083281199617904460">ຂັ້ນຕອນການສ້ອມແປງນີ້ແມ່ນສຳລັບຊ່າງສ້ອມແປງທີ່ໄດ້ຮັບການເຝິກມາແລ້ວ. ໃຫ້ເລີ່ມສະເພາະຫຼັງຈາກການປ່ຽນອົງປະກອບທີ່ເສຍຫາຍເທົ່ານັ້ນ.</translation>
 <translation id="808894953321890993">ປ່ຽນລະຫັດຜ່ານ</translation>
 <translation id="8104083085214006426">ທ່ານກຳລັງໃຊ້ເຄືອຂ່າຍເປີດ ແລະ ບໍ່ປອດໄພຢູ່</translation>
 <translation id="8109786307828817014">ສືບຕໍ່ໂດຍມີການປັບທຽບທີ່ບໍ່ສຳເລັດບໍ?</translation>
diff --git a/chromeos/strings/chromeos_strings_lt.xtb b/chromeos/strings/chromeos_strings_lt.xtb
index 3e4a9cb9..d6d0c7f 100644
--- a/chromeos/strings/chromeos_strings_lt.xtb
+++ b/chromeos/strings/chromeos_strings_lt.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Galutinis taškas</translation>
 <translation id="3069085583900247081">Bandymas nepavyko</translation>
-<translation id="3076243757415932261">Tvirtinami komponentai...</translation>
 <translation id="3083667275341675831">Ryšio diagnostika</translation>
 <translation id="3084958266922136097">Išjungti ekrano užsklandą</translation>
 <translation id="3091839911843451378">Nepavyko – sustabdyta</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Ar tikrai norite išvalyti visą spausdinimo istoriją? Vykdomos spausdinimo užduotys nebus išvalytos.</translation>
 <translation id="3383751554789092165">Keiskite įrenginio informaciją pagal poreikį.</translation>
 <translation id="3404249063913988450">Įgalinti ekrano užsklandą</translation>
-<translation id="3404770484521709967">Komponentai įdiegti tinkamai.</translation>
 <translation id="3413935475507503304">Jei norite tęsti atnaujinimo procesą, spustelėkite „Kitas“.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> proc.</translation>
 <translation id="3435738964857648380">Sauga</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Senas slaptažodis</translation>
 <translation id="4453205916657964690">Potinklio kaukė</translation>
 <translation id="4454245904991689773">Nuskaityti į</translation>
-<translation id="4472575034687746823">Pradėkite</translation>
 <translation id="4479639480957787382">Eternetas</translation>
 <translation id="4483049906298469269">Nepavyko patikrinti ryšio su nenumatytuoju tinklų sietuvu</translation>
 <translation id="4500213108254186382">Dangčio akcelerometras</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Įrašymo apsauga vis dar išjungta. Jei norite tęsti, įjunkite įrašymo apsaugą.</translation>
 <translation id="8075838845814659848">Likusio įkrovimo rodiklis</translation>
 <translation id="8082366717211101304">Nepavyko pateikti DNS iš „Android“ programų</translation>
-<translation id="8083281199617904460">Taisymo procesą turi vykdyti kvalifikuotas taisymo specialistas. Pradėkite tik pakeitę netinkamai veikiančius komponentus.</translation>
 <translation id="808894953321890993">Keisti slaptažodį</translation>
 <translation id="8104083085214006426">Naudojate atvirąjį ir nesaugų tinklą</translation>
 <translation id="8109786307828817014">Tęsti naudojant nesukalibruotus komponentus?</translation>
diff --git a/chromeos/strings/chromeos_strings_lv.xtb b/chromeos/strings/chromeos_strings_lv.xtb
index 26c1caa..ee1449c 100644
--- a/chromeos/strings/chromeos_strings_lv.xtb
+++ b/chromeos/strings/chromeos_strings_lv.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ATSVAIDZINĀT</translation>
 <translation id="3009958530611748826">Atlasiet mapi, kurā saglabāt failus</translation>
 <translation id="3017079585324758401">Fons</translation>
+<translation id="302435934487327038">Instalēšana pabeigta</translation>
 <translation id="3027578600144895987">Aizvērt kameru</translation>
 <translation id="3031560714565892478">Ierīce ir videokamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Beigu punkts</translation>
 <translation id="3069085583900247081">Testēšana neizdevās</translation>
-<translation id="3076243757415932261">Notiek komponentu validēšana…</translation>
 <translation id="3083667275341675831">Savienojamības diagnostika</translation>
 <translation id="3084958266922136097">Atspējot ekrānsaudzētāju</translation>
 <translation id="3091839911843451378">Neizdevās — darbība apturēta</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Vai tiešām vēlaties notīrīt visu drukāšanas vēsturi? Netiks notīrīti drukas uzdevumi, kas tiek izpildīti.</translation>
 <translation id="3383751554789092165">Pēc vajadzības varat mainīt informāciju par ierīci.</translation>
 <translation id="3404249063913988450">Iespējot ekrānsaudzētāju</translation>
-<translation id="3404770484521709967">Komponenti ir instalēti pareizi.</translation>
 <translation id="3413935475507503304">Lai veiktu atjaunināšanu, noklikšķiniet uz “Tālāk”.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Drošība</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Iepriekšējā parole</translation>
 <translation id="4453205916657964690">Apakštīkla maska</translation>
 <translation id="4454245904991689773">Skenēto attēlu saglabāšanas vieta</translation>
-<translation id="4472575034687746823">Sākt darbu</translation>
 <translation id="4479639480957787382">tīkls Ethernet</translation>
 <translation id="4483049906298469269">Neizdevās ehotestēt tīkla vārteju, kas nav noklusējuma vārteja</translation>
 <translation id="4500213108254186382">Vāka akselerometrs</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Notiek pārbaude</translation>
 <translation id="6620487321149975369">Drukas uzdevumi būs redzami vēsturē, ja vien tie netiks noņemti manuāli</translation>
 <translation id="6643016212128521049">Notīrīt</translation>
+<translation id="6644568396961840069">Nevarēja saglabāt failu. Pievienojiet citu ārējo atmiņu vai vēlāk mēģiniet vēlreiz.</translation>
 <translation id="6647510110698214773">Šifrēšanas algoritms</translation>
 <translation id="6650062777702288430">Kana/burtciparu slēdzis</translation>
 <translation id="6657585470893396449">Parole</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Aizsardzība pret rakstīšanu joprojām ir izslēgta. Lai turpinātu, ieslēdziet aizsardzību pret rakstīšanu.</translation>
 <translation id="8075838845814659848">Atlikusī akumulatora enerģija</translation>
 <translation id="8082366717211101304">Nevar atrast DNS no Android lietotnēm</translation>
-<translation id="8083281199617904460">Šāda veida labošana ir jāveic apmācītam labošanas speciālistam. Pirms sākšanas nomainiet komponentus, kuri nedarbojas pareizi.</translation>
 <translation id="808894953321890993">Mainīt paroli</translation>
 <translation id="8104083085214006426">Jūs izmantojat atvērtu un nedrošu tīklu</translation>
 <translation id="8109786307828817014">Vai turpināt, neņemot vērā kalibrēšanas kļūmes?</translation>
diff --git a/chromeos/strings/chromeos_strings_mk.xtb b/chromeos/strings/chromeos_strings_mk.xtb
index c2f353d..f78bcd48 100644
--- a/chromeos/strings/chromeos_strings_mk.xtb
+++ b/chromeos/strings/chromeos_strings_mk.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">Тип</translation>
 <translation id="2461822463642141190">Моментално</translation>
 <translation id="2480034874476596812">Рачно исклучи</translation>
+<translation id="248546197012830854">Уредот е офлајн. Поврзете се на Wi-Fi мрежа за да ги видите содржините за помош.</translation>
 <translation id="2491955442992294626">Копчињата не се тестираат кога користите друг прозорец</translation>
 <translation id="2493126929778606526">Вашите најдобри фотографии, избрани автоматски</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -241,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Крајна точка</translation>
 <translation id="3069085583900247081">Тестот не успеа</translation>
-<translation id="3076243757415932261">Компонентите се потврдуваат…</translation>
 <translation id="3083667275341675831">Дијагностика на поврзливоста</translation>
 <translation id="3084958266922136097">Оневозможете го заштитникот на екранот</translation>
 <translation id="3091839911843451378">Неуспешно - запрено</translation>
@@ -276,7 +276,6 @@
 <translation id="3369013195428705271">Дали сте сигурни дека сакате да ја исчистите сета историја на печатење? Тековните задачи за печатење нема да бидат избришани.</translation>
 <translation id="3383751554789092165">Променете ги податоците за уредот ако е потребно.</translation>
 <translation id="3404249063913988450">Овозможете го заштитникот на екранот</translation>
-<translation id="3404770484521709967">Компонентите се инсталирани правилно.</translation>
 <translation id="3413935475507503304">За да продолжите со ажурирањето, кликнете „Следно“.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Безбедност</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">Стара лозинка</translation>
 <translation id="4453205916657964690">Подмрежна маска</translation>
 <translation id="4454245904991689773">Скенирај во</translation>
-<translation id="4472575034687746823">Започнете</translation>
 <translation id="4479639480957787382">Етернет</translation>
 <translation id="4483049906298469269">Не успеа да се пингува нестандардниот мрежен портал</translation>
 <translation id="4500213108254186382">Акцелерометар во капакот</translation>
@@ -664,6 +662,7 @@
 <translation id="6611280807952151149">Излези од поправката на <ph name="DEVICE_TYPE" /></translation>
 <translation id="6618744767048954150">Се извршува</translation>
 <translation id="6620487321149975369">Задачите за печатење ќе се појавуваат во историјата, освен ако не се отстранат рачно</translation>
+<translation id="6624819909909965616">Не може да се прикачи датотека поголема од 10 MB</translation>
 <translation id="6643016212128521049">Исчисти</translation>
 <translation id="6644568396961840069">Не можеше да се зачува датотеката. Пробајте со друг екстерен капацитет или пробајте повторно подоцна.</translation>
 <translation id="6647510110698214773">Алгоритам за шифрирање</translation>
@@ -699,6 +698,7 @@
 <translation id="6965382102122355670">Во ред</translation>
 <translation id="6977381486153291903">Ревизија на фирмвер</translation>
 <translation id="6995564396478647735">Погрижете се „Заштитата од пишување“ да е вклучена</translation>
+<translation id="7005833343836210400">Уредот е офлајн</translation>
 <translation id="7028979494427204405"><ph name="MANAGER" /> управува со уредов и има пристап до целата активност на корисникот, вклучувајќи ги и посетените веб-страници, лозинките и е-поштата.</translation>
 <translation id="7040230719604914234">Оператор</translation>
 <translation id="7041549558901442110">Уредот не е поврзан.</translation>
@@ -811,8 +811,8 @@
 <translation id="8063022551652308521">„Заштитата од пишување“ уште е исклучена. За да продолжите, вклучете ја „Заштитата од пишување“.</translation>
 <translation id="8075838845814659848">Преостанато полнење</translation>
 <translation id="8082366717211101304">Не може да се одреди со DNS од апликации на Android</translation>
-<translation id="8083281199617904460">Процесов на поправање е наменет за обучен техничар за поправки. Започнете само по замена на дефектните компоненти.</translation>
 <translation id="808894953321890993">Промени лозинка</translation>
+<translation id="8094062939584182041">Дозволете Google да ви праќа е-пораки за проблемов</translation>
 <translation id="8104083085214006426">Користите отворена и небезбедна мрежа</translation>
 <translation id="8109786307828817014">Да се продолжи со неуспешните калибрации?</translation>
 <translation id="811820734797650957">(Android) Може да се испрати пинг до порталот</translation>
diff --git a/chromeos/strings/chromeos_strings_ml.xtb b/chromeos/strings/chromeos_strings_ml.xtb
index 263c759..b767ddf 100644
--- a/chromeos/strings/chromeos_strings_ml.xtb
+++ b/chromeos/strings/chromeos_strings_ml.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">എൻഡ്പോയിന്റ്</translation>
 <translation id="3069085583900247081">ടെസ്റ്റ് പരാജയപ്പെട്ടു</translation>
-<translation id="3076243757415932261">ഘടകങ്ങൾ പരിശോധിക്കുന്നു...</translation>
 <translation id="3083667275341675831">കണക്റ്റിവിറ്റി തകരാർ കണ്ടെത്തൽ</translation>
 <translation id="3084958266922136097">സ്ക്രീൻ സേവർ പ്രവർത്തനരഹിതമാക്കുക</translation>
 <translation id="3091839911843451378">പ്രിന്റ് ചെയ്യാനായില്ല - പ്രവർത്തനം നിർത്തി</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">എല്ലാ പ്രിന്റ് ചരിത്രവും മായ്‌ക്കണമെന്ന് തീർച്ചയാണോ? നിങ്ങളുടെ പുരോഗതിയിലുള്ള പ്രിന്റ് ജോലികൾ മായ്ക്കില്ല.</translation>
 <translation id="3383751554789092165">ഉപകരണ വിവരങ്ങൾ ആവശ്യാനുസരണം മാറ്റുക.</translation>
 <translation id="3404249063913988450">സ്ക്രീൻ സേവർ പ്രവർത്തനക്ഷമമാക്കുക</translation>
-<translation id="3404770484521709967">ഘടകങ്ങൾ ശരിയായിട്ടാണ് ഇൻസ്റ്റാൾ ചെയ്തിരിക്കുന്നത്.</translation>
 <translation id="3413935475507503304">അപ്‌ഡേറ്റുമായി മുന്നോട്ട് പോകാൻ, 'അടുത്തത്' ക്ലിക്ക് ചെയ്യുക.</translation>
 <translation id="3434107140712555581">ബാറ്ററി: <ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">സുരക്ഷ</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">പഴയ പാസ്‌വേഡ്</translation>
 <translation id="4453205916657964690">സബ്‌നെറ്റ് മാസ്‌ക്</translation>
 <translation id="4454245904991689773">ഇതിലേക്ക് സ്‌കാൻ ചെയ്ത് സംരക്ഷിക്കുക</translation>
-<translation id="4472575034687746823">ആരംഭിക്കാം</translation>
 <translation id="4479639480957787382">എതെര്‍‌നെറ്റ്</translation>
 <translation id="4483049906298469269">നോൺ-ഡിഫോൾട്ട് നെറ്റ്‌വർക്ക് ഗേറ്റ്‍വേ പിംഗ് ചെയ്യാനായില്ല</translation>
 <translation id="4500213108254186382">ലിഡ് ആക്‌സിലറോമീറ്റർ</translation>
@@ -810,7 +807,6 @@
 <translation id="8063022551652308521">റൈറ്റ് പരിരക്ഷ ഇപ്പോഴും ഓഫാണ്. തുടരാൻ റൈറ്റ് പരിരക്ഷ ഓണാക്കുക.</translation>
 <translation id="8075838845814659848">ശേഷിക്കുന്ന ചാർജ്</translation>
 <translation id="8082366717211101304">Android ആപ്പുകളിൽ നിന്ന് DNS പരിഹരിക്കാനാകില്ല</translation>
-<translation id="8083281199617904460">ഈ റിപ്പയർ പ്രക്രിയ, പരിശീലനം ലഭിച്ച റിപ്പയർ ടെക്‌നീഷ്യന് വേണ്ടി രൂപകൽപ്പന ചെയ്തതാണ്. തകരാറുള്ള ഘടകങ്ങൾ മാറ്റിയ ശേഷം മാത്രം ആരംഭിക്കുക.</translation>
 <translation id="808894953321890993">പാസ്‌വേഡ് മാറ്റുക</translation>
 <translation id="8104083085214006426">ഓപ്പണും സുരക്ഷിതമല്ലാത്തതുമായ നെറ്റ്‌വർക്ക് ആണ് നിങ്ങൾ ഉപയോഗിക്കുന്നത്</translation>
 <translation id="8109786307828817014">പരാജയപ്പെട്ട കാലിബ്രേഷനുകളുമായി മുന്നോട്ടുപോകണോ?</translation>
diff --git a/chromeos/strings/chromeos_strings_mn.xtb b/chromeos/strings/chromeos_strings_mn.xtb
index 41588a53..201d795 100644
--- a/chromeos/strings/chromeos_strings_mn.xtb
+++ b/chromeos/strings/chromeos_strings_mn.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />мA</translation>
 <translation id="3056720590588772262">Төгсгөлийн цэг</translation>
 <translation id="3069085583900247081">Туршилт амжилтгүй боллоо</translation>
-<translation id="3076243757415932261">Бүрэлдэхүүн хэсгүүдийг баталгаажуулж байна...</translation>
 <translation id="3083667275341675831">Холболтын оношилгоо</translation>
 <translation id="3084958266922136097">Дэлгэц амраагчийг идэвхгүй болгох</translation>
 <translation id="3091839911843451378">Амжилтгүй болсон - Зогссон</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Та хэвлэлийн бүх түүхийг арилгахдаа итгэлтэй байна уу? Таны хийж буй хэвлэлийн ажлуудыг арилгахгүй.</translation>
 <translation id="3383751554789092165">Шаардлагатай бол төхөөрөмжийн мэдээллийг өөрчилнө үү.</translation>
 <translation id="3404249063913988450">Дэлгэц амраагчийг идэвхжүүлэх</translation>
-<translation id="3404770484521709967">Бүрэлдэхүүн хэсгүүдийг зөв суулгасан.</translation>
 <translation id="3413935475507503304">Шинэчлэлтийг үргэлжлүүлэхийн тулд Дараах дээр товшино уу.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Нууцлал</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Хуучин нууц үг</translation>
 <translation id="4453205916657964690">Дэд сүлжээний маск</translation>
 <translation id="4454245904991689773">Дараах руу скан хийх</translation>
-<translation id="4472575034687746823">Эхлүүлэх</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Сүлжээний өгөгдмөл бус гэйтвэйд пин илгээж чадсангүй</translation>
 <translation id="4500213108254186382">Тагийн хурдатгал хэмжигч</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Write Protect унтраалттай хэвээр байна. Үргэлжлүүлэхийн тулд Write Protect-г асаана уу.</translation>
 <translation id="8075838845814659848">Үлдсэн цэнэг</translation>
 <translation id="8082366717211101304">Android аппуудаас DNS-г шийдвэрлэх боломжгүй</translation>
-<translation id="8083281199617904460">Энэ засварын явц нь бэлтгэгдсэн засварын техникчид зориулагдсан. Зөвхөн гэмтэлтэй бүрэлдэхүүн хэсгүүдийг сольсныхоо дараа эхэлнэ үү.</translation>
 <translation id="808894953321890993">Нууц үгийг солих</translation>
 <translation id="8104083085214006426">Та нээлттэй бөгөөд найдваргүй сүлжээ ашиглаж байна</translation>
 <translation id="8109786307828817014">Амжилтгүй болсон тохируулгаар үргэлжлүүлэх үү?</translation>
diff --git a/chromeos/strings/chromeos_strings_mr.xtb b/chromeos/strings/chromeos_strings_mr.xtb
index 15679e6..cddeaa6 100644
--- a/chromeos/strings/chromeos_strings_mr.xtb
+++ b/chromeos/strings/chromeos_strings_mr.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">प्रकार</translation>
 <translation id="2461822463642141190">सद्य</translation>
 <translation id="2480034874476596812">मॅन्युअली बंद करा</translation>
+<translation id="248546197012830854">डिव्हाइस ऑफलाइन आहे. मदत आशय पाहण्यासाठी वाय-फायशी कनेक्ट करा.</translation>
 <translation id="2491955442992294626">तुम्ही दुसरी विंडो वापरत असताना, कीची चाचणी केली जात नाही</translation>
 <translation id="2493126929778606526">तुमचे सर्वोत्तम फोटो, आपोआप निवडले</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -241,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">एंडपॉइंट</translation>
 <translation id="3069085583900247081">चाचणी करता आली नाही</translation>
-<translation id="3076243757415932261">घटकांची पडताळणी करत आहे...</translation>
 <translation id="3083667275341675831">कनेक्टिव्हिटी निदान</translation>
 <translation id="3084958266922136097">स्क्रीन सेव्हर बंद करा</translation>
 <translation id="3091839911843451378">अयशस्वी झाले - थांबले आहे</translation>
@@ -276,7 +276,6 @@
 <translation id="3369013195428705271">तुम्हाला तुमचा सर्व प्रिंट इतिहास नक्की साफ करायचा आहे का? तुमची सुरू असलेली प्रिंट कार्ये साफ केली जाणार नाहीत.</translation>
 <translation id="3383751554789092165">आवश्यकतेनुसार डिव्हाइसची माहिती बदला.</translation>
 <translation id="3404249063913988450">स्क्रीन सेव्हर सुरू करा</translation>
-<translation id="3404770484521709967">घटक योग्यरीत्या इंस्टॉल केले आहेत.</translation>
 <translation id="3413935475507503304">अपडेटसह पुढे सुरू ठेवण्यासाठी, पुढील वर क्लिक करा.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">सुरक्षितता</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">जुना पासवर्ड</translation>
 <translation id="4453205916657964690">सबनेट मास्क</translation>
 <translation id="4454245904991689773">येथे स्कॅन करा</translation>
-<translation id="4472575034687746823">सुरुवात करा</translation>
 <translation id="4479639480957787382">इथरनेट</translation>
 <translation id="4483049906298469269">डीफॉल्ट नसलेला नेटवर्क गेटवे पिंग करता आला नाही</translation>
 <translation id="4500213108254186382">लिड अ‍ॅक्सेलेरोमीटर</translation>
@@ -664,6 +662,7 @@
 <translation id="6611280807952151149"><ph name="DEVICE_TYPE" /> दुरुस्तीमधून बाहेर पडा</translation>
 <translation id="6618744767048954150">रन होत आहे</translation>
 <translation id="6620487321149975369">प्रिंट जॉब मॅन्‍युअली काढून टाकेपर्यंत इतिहासामध्ये दिसतील</translation>
+<translation id="6624819909909965616">१० MB पेक्षा मोठी फाइल अपलोड करू शकत नाही</translation>
 <translation id="6643016212128521049">साफ करा</translation>
 <translation id="6644568396961840069">फाइल सेव्ह करता आली नाही. वेगळ्या बाह्य स्टोरेजमध्ये प्लग इन करण्याचा प्रयत्न करा किंवा नंतर पुन्हा प्रयत्न करा.</translation>
 <translation id="6647510110698214773">एंक्रिप्शन अल्गोरिदम</translation>
@@ -699,6 +698,7 @@
 <translation id="6965382102122355670">ठीक आहे</translation>
 <translation id="6977381486153291903">फर्मवेयर पुनरावृत्ती</translation>
 <translation id="6995564396478647735">राइट प्रोटेक्ट सुरू असल्याची खात्री करा</translation>
+<translation id="7005833343836210400">डिव्हाइस ऑफलाइन आहे</translation>
 <translation id="7028979494427204405">हे डिव्हाइस <ph name="MANAGER" /> व्यवस्थापित करतो आणि भेट दिलेली वेबपेज, पासवर्ड आणि ईमेलसह सर्व वापरकर्ता अ‍ॅक्टिव्हिटीचा त्याला अ‍ॅक्सेस आहे.</translation>
 <translation id="7040230719604914234">ऑपरेटर</translation>
 <translation id="7041549558901442110">डिव्हाइस हे कनेक्ट केलेले नाही.</translation>
@@ -811,8 +811,8 @@
 <translation id="8063022551652308521">राइट प्रोटेक्ट बंद आहे. पुढे सुरू ठेवण्यासाठी, राइट प्रोटेक्ट सुरू करा.</translation>
 <translation id="8075838845814659848">शिल्लक चार्जिंग</translation>
 <translation id="8082366717211101304">Android अ‍ॅप्सवरून DNS चे निराकरण करू शकत नाही</translation>
-<translation id="8083281199617904460">ही दुरुस्ती प्रक्रिया प्रशिक्षित दुरुस्ती तंत्रज्ञांसाठी आहे. खराब झालेले घटक बदलल्यानंतरच सुरू करा.</translation>
 <translation id="808894953321890993">पासवर्ड बदला</translation>
+<translation id="8094062939584182041">या समस्येविषयी तुम्हाला ईमेल पाठवण्याची Google ला अनुमती द्या</translation>
 <translation id="8104083085214006426">तुम्ही खुले आणि असुरक्षित नेटवर्क वापरत आहात</translation>
 <translation id="8109786307828817014">अयशस्वी कॅलिब्रेशनसह पुढे सुरू ठेवायचे का?</translation>
 <translation id="811820734797650957">(Android) गेटवे ला पिंग केले जाऊ शकते</translation>
diff --git a/chromeos/strings/chromeos_strings_ms.xtb b/chromeos/strings/chromeos_strings_ms.xtb
index 5610a7f..bc75ae0 100644
--- a/chromeos/strings/chromeos_strings_ms.xtb
+++ b/chromeos/strings/chromeos_strings_ms.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Titik akhir</translation>
 <translation id="3069085583900247081">Ujian gagal</translation>
-<translation id="3076243757415932261">Mengesahkan komponen...</translation>
 <translation id="3083667275341675831">Diagnostik Ketersambungan</translation>
 <translation id="3084958266922136097">Lumpuhkan penyelamat skrin</translation>
 <translation id="3091839911843451378">Gagal - Dihentikan</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Adakah anda pasti anda ingin mengosongkan semua sejarah cetak? Tugas cetak anda yang masih dijalankan tidak akan dipadamkan.</translation>
 <translation id="3383751554789092165">Tukar maklumat peranti mengikut keperluan.</translation>
 <translation id="3404249063913988450">Dayakan penyelamat skrin</translation>
-<translation id="3404770484521709967">Komponen dipasang dengan betul.</translation>
 <translation id="3413935475507503304">Untuk meneruskan kemaskinian, klik Seterusnya.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Keselamatan</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Kata laluan lama</translation>
 <translation id="4453205916657964690">Topeng subnet</translation>
 <translation id="4454245904991689773">Imbas dan simpan pada</translation>
-<translation id="4472575034687746823">Bermula</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Gagal untuk ping get laluan rangkaian bukan lalai</translation>
 <translation id="4500213108254186382">Akselerometer Penutup</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Write Protect masih dimatikan. Untuk meneruskan, hidupkan Write Protect.</translation>
 <translation id="8075838845814659848">Baki cas</translation>
 <translation id="8082366717211101304">Tidak dapat menyelesaikan DNS daripada apl Android</translation>
-<translation id="8083281199617904460">Proses pembaikan ini adalah untuk juruteknik pembaikan terlatih. Mulakan hanya selepas menggantikan komponen yang tidak berfungsi.</translation>
 <translation id="808894953321890993">Tukar kata laluan</translation>
 <translation id="8104083085214006426">Anda sedang menggunakan rangkaian terbuka dan tidak selamat</translation>
 <translation id="8109786307828817014">Teruskan dengan penentukuran yang gagal?</translation>
diff --git a/chromeos/strings/chromeos_strings_my.xtb b/chromeos/strings/chromeos_strings_my.xtb
index 0fdc49ed..8a249a7 100644
--- a/chromeos/strings/chromeos_strings_my.xtb
+++ b/chromeos/strings/chromeos_strings_my.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">အဆုံးမှတ်</translation>
 <translation id="3069085583900247081">စစ်ဆေးမှု မအောင်မြင်ပါ</translation>
-<translation id="3076243757415932261">ဆက်စပ်ပစ္စည်းများ အတည်ပြုနေသည်…</translation>
 <translation id="3083667275341675831">ချိတ်ဆက်နိုင်မှုဆိုင်ရာ အမှားရှာဖွေမှုများ</translation>
 <translation id="3084958266922136097">ဖန်သားပြင်နားချိန် ပိတ်ရန်</translation>
 <translation id="3091839911843451378">မအောင်မြင်ပါ - ရပ်သွားသည်</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">ပုံနှိပ်မှတ်တမ်း အားလုံးကို ရှင်းထုတ်လိုသည်မှာ သေချာသလား။ ပုံနှိပ်ထုတ်နေသော ဖိုင်များကို ရှင်းထုတ်မည်မဟုတ်ပါ။</translation>
 <translation id="3383751554789092165">ကိရိယာ၏ အချက်အလက်များကို လိုသလို ပြောင်းပါ။</translation>
 <translation id="3404249063913988450">ဖန်သားပြင်နားချိန် ဖွင့်ရန်</translation>
-<translation id="3404770484521709967">ဆက်စပ်ပစ္စည်းများကို မှန်ကန်စွာ ထည့်သွင်းပြီးပါပြီ။</translation>
 <translation id="3413935475507503304">ရှေ့ဆက်၍ အပ်ဒိတ်လုပ်ရန် ‘ရှေ့သို့’ ကို နှိပ်ပါ။</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">လုံခြုံရေး</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">စကားဝှက်အဟောင်း</translation>
 <translation id="4453205916657964690">ကွန်ရက်ခွဲ နံပါတ်</translation>
 <translation id="4454245904991689773">စကင်သိမ်းရန် နေရာ</translation>
-<translation id="4472575034687746823">စကြရအောင်</translation>
 <translation id="4479639480957787382">အီတာနက်</translation>
 <translation id="4483049906298469269">မူရင်းမဟုတ်သည့် ကွန်ရက်ဂိတ်ဝကို ပင်လုပ်၍မရပါ</translation>
 <translation id="4500213108254186382">အရှိန်တိုင်းကိရိယာ အဖုံး</translation>
@@ -810,7 +807,6 @@
 <translation id="8063022551652308521">‘ပြင်ခွင့်မရှိမုဒ်’ ပိတ်ထားသေးသည်။ ရှေ့ဆက်ရန် ‘ပြင်ခွင့်မရှိမုဒ်’ ဖွင့်ရမည်။</translation>
 <translation id="8075838845814659848">ကျန်ရှိသော အားပမာဏ</translation>
 <translation id="8082366717211101304">Android အက်ပ်များမှ DNS ဖြေရှင်း၍မရပါ</translation>
-<translation id="8083281199617904460">ဤပြင်ဆင်ရေးလုပ်ငန်းသည် တက်ကျွမ်းသော နည်းပညာရှင်အတွက်ဖြစ်သည်။ ပျက်နေသည့် ဆက်စပ်ပစ္စည်းများကို လဲလှယ်ပြီးမှသာ စတင်ပါ။</translation>
 <translation id="808894953321890993">စကားဝှက် ပြောင်းရန်</translation>
 <translation id="8104083085214006426">သင်သည် အများသုံးဖြစ်ပြီး မလုံခြုံသောကွန်ရက်ကို သုံးနေသည်</translation>
 <translation id="8109786307828817014">အောင်မြင်မှုမရှိသော ချိန်ညှိမှုများဖြင့် ရှေ့ဆက်မလား။</translation>
diff --git a/chromeos/strings/chromeos_strings_ne.xtb b/chromeos/strings/chromeos_strings_ne.xtb
index e7b65bfb..45d49f187 100644
--- a/chromeos/strings/chromeos_strings_ne.xtb
+++ b/chromeos/strings/chromeos_strings_ne.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">इन्डपोइन्ट</translation>
 <translation id="3069085583900247081">परीक्षण गर्न सकिएन</translation>
-<translation id="3076243757415932261">कम्पोनेन्टहरू पुष्टि गरिँदै छ...</translation>
 <translation id="3083667275341675831">कनेक्टिभिटी डाइगोनेस्टिक्स</translation>
 <translation id="3084958266922136097">स्क्रिन सेभर असक्षम पार्नुहोस्</translation>
 <translation id="3091839911843451378">प्रिन्ट गर्न सकिएन - प्रिन्ट गर्दा गर्दै रोकियो</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">आफूले गरेका प्रिन्टको सबै इतिहास मेटाउन खोज्नुभएकै हो? भइरहेका प्रिन्टिङ कार्यहरू मेटाइने छैनन्।</translation>
 <translation id="3383751554789092165">डिभाइससम्बन्धी जानकारी आवश्यकताअनुसार परिवर्तन गर्नुहोस्।</translation>
 <translation id="3404249063913988450">स्क्रिन सेभर सक्षम पार्नुहोस्</translation>
-<translation id="3404770484521709967">कम्पोनेन्टहरू सही तरिकाले इन्स्टल गरिएका छन्।</translation>
 <translation id="3413935475507503304">तपाईं यो अपडेट प्राप्त गर्न चाहनुहुन्छ भने अर्को नामक बटन क्लिक गर्नुहोस्।</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">सुरक्षा</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">पुरानो पासवर्ड</translation>
 <translation id="4453205916657964690">सबनेट मास्क</translation>
 <translation id="4454245904991689773">स्क्यान गरेर यहाँ सेभ गर्नुहोस्</translation>
-<translation id="4472575034687746823">सुरु गर्नुहोस्</translation>
 <translation id="4479639480957787382">इथरनेट</translation>
 <translation id="4483049906298469269">नेटवर्कको डिफल्ट गेटवेका रूपमा सेट नगरिएको यस गेटवेलाई पिङ गर्न सकिएन</translation>
 <translation id="4500213108254186382">लिड एक्सेलेरोमिटर</translation>
@@ -810,7 +807,6 @@
 <translation id="8063022551652308521">राइट प्रोटेक्ट अझै अफ छ। अघि बढ्न राइट प्रोटेक्ट अन गर्नुहोस्।</translation>
 <translation id="8075838845814659848">बाँकी ब्याट्री</translation>
 <translation id="8082366717211101304">Android एपहरूबाट DNS समाधान गर्न सकिएन</translation>
-<translation id="8083281199617904460">यो मर्मत प्रक्रिया तालिम प्राप्त मर्मत प्राविधिकका लागि तयार पारिएको हो। खराब कम्पोनेन्टहरू बदलेपछि मात्र उक्त प्रक्रिया सुरु गर्नुहोस्।</translation>
 <translation id="808894953321890993">पासवर्ड परिवर्तन गर्नुहोस्‌</translation>
 <translation id="8104083085214006426">तपाईं खुला र असुरक्षित नेटवर्क प्रयोग गर्दै हुनुहुन्छ</translation>
 <translation id="8109786307828817014">क्यालिब्रेट नगरिकन अगाडि बढ्ने हो?</translation>
diff --git a/chromeos/strings/chromeos_strings_nl.xtb b/chromeos/strings/chromeos_strings_nl.xtb
index 212cd81..e58f7bd 100644
--- a/chromeos/strings/chromeos_strings_nl.xtb
+++ b/chromeos/strings/chromeos_strings_nl.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Eindpunt</translation>
 <translation id="3069085583900247081">Test mislukt</translation>
-<translation id="3076243757415932261">Componenten valideren...</translation>
 <translation id="3083667275341675831">Verbindingsdiagnose</translation>
 <translation id="3084958266922136097">Screensaver uitzetten</translation>
 <translation id="3091839911843451378">Mislukt - Gestopt</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Weet je zeker dat je je hele afdrukgeschiedenis wilt verwijderen? Je actieve afdruktaken worden niet verwijderd.</translation>
 <translation id="3383751554789092165">Wijzig zo nodig de apparaatgegevens.</translation>
 <translation id="3404249063913988450">Screensaver aanzetten</translation>
-<translation id="3404770484521709967">Componenten zijn juist geïnstalleerd.</translation>
 <translation id="3413935475507503304">Klik op Volgende om door te gaan met de update.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Beveiliging</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Oud wachtwoord</translation>
 <translation id="4453205916657964690">Subnetmasker</translation>
 <translation id="4454245904991689773">Scannen naar</translation>
-<translation id="4472575034687746823">Aan de slag</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Kan de niet-standaard netwerkgateway niet pingen</translation>
 <translation id="4500213108254186382">Versnellingsmeter in de klep</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Schrijfbeveiliging staat nog steeds uit. Als je wilt doorgaan, zet je schrijfbeveiliging aan.</translation>
 <translation id="8075838845814659848">Resterende batterijlading</translation>
 <translation id="8082366717211101304">Kan DNS niet omzetten vanuit Android-apps</translation>
-<translation id="8083281199617904460">Dit reparatieproces is bedoeld voor een getrainde reparateur. Start pas nadat de componenten die niet goed werken zijn vervangen.</translation>
 <translation id="808894953321890993">Wachtwoord wijzigen</translation>
 <translation id="8104083085214006426">Je gebruikt een open of niet-beveiligd netwerk</translation>
 <translation id="8109786307828817014">Doorgaan met mislukte kalibraties?</translation>
diff --git a/chromeos/strings/chromeos_strings_no.xtb b/chromeos/strings/chromeos_strings_no.xtb
index 3456867..d7b471e08 100644
--- a/chromeos/strings/chromeos_strings_no.xtb
+++ b/chromeos/strings/chromeos_strings_no.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Sluttpunkt</translation>
 <translation id="3069085583900247081">Testen mislyktes</translation>
-<translation id="3076243757415932261">Validerer komponenter …</translation>
 <translation id="3083667275341675831">Tilkoblingsdiagnostikk</translation>
 <translation id="3084958266922136097">Slå av skjermspareren</translation>
 <translation id="3091839911843451378">Mislykket – stoppet</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Er du sikker på at du vil tømme hele utskriftsloggen? Utskriftsjobber som allerede er i gang, fjernes ikke.</translation>
 <translation id="3383751554789092165">Endre enhetsinformasjon etter behov.</translation>
 <translation id="3404249063913988450">Slå på skjermspareren</translation>
-<translation id="3404770484521709967">Komponentene er riktig installert.</translation>
 <translation id="3413935475507503304">For å gå videre med oppdateringen, klikk på Neste.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Sikkerhet</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Gammelt passord</translation>
 <translation id="4453205916657964690">Nettverksmaske</translation>
 <translation id="4454245904991689773">Skann til</translation>
-<translation id="4472575034687746823">Kom i gang</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Kunne ikke pinge gatewayen for ikke-standardnettverket</translation>
 <translation id="4500213108254186382">Lokkakselerometer</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Skrivebeskyttelse er fremdeles avslått. For å fortsette, slå på skrivebeskyttelse.</translation>
 <translation id="8075838845814659848">Gjenværende batteri</translation>
 <translation id="8082366717211101304">Kan ikke foreta DNS-oppslag fra Android-apper</translation>
-<translation id="8083281199617904460">Denne reparasjonsprosessen er beregnet på en kvalifisert reparatør. Den skal kun startes etter at de ikke-fungerende komponentene er byttet ut.</translation>
 <translation id="808894953321890993">Endre passord</translation>
 <translation id="8104083085214006426">Du bruker et åpent og usikret nettverk</translation>
 <translation id="8109786307828817014">Vil du gå videre med de mislykkede kalibreringene?</translation>
diff --git a/chromeos/strings/chromeos_strings_or.xtb b/chromeos/strings/chromeos_strings_or.xtb
index 575adb7..910bc9f 100644
--- a/chromeos/strings/chromeos_strings_or.xtb
+++ b/chromeos/strings/chromeos_strings_or.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ରିଫ୍ରେଶ୍ କରନ୍ତୁ</translation>
 <translation id="3009958530611748826">ଏଥିରେ ସେଭ୍ କରିବାକୁ ଏକ ଫୋଲ୍ଡର୍ ଚୟନ କରନ୍ତୁ</translation>
 <translation id="3017079585324758401">ପୃଷ୍ଠପଟ</translation>
+<translation id="302435934487327038">ଇନଷ୍ଟଲ କରିବା ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଛି</translation>
 <translation id="3027578600144895987">କ୍ୟାମେରା ବନ୍ଦ କରନ୍ତୁ</translation>
 <translation id="3031560714565892478">ଡିଭାଇସଟି ଏକ ଭିଡିଓ କ୍ୟାମେରା ଅଟେ।</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">ଏଣ୍ଡପଏଣ୍ଟ</translation>
 <translation id="3069085583900247081">ଟେଷ୍ଟ ବିଫଳ ହୋଇଛି</translation>
-<translation id="3076243757415932261">କମ୍ପୋନେଣ୍ଟଗୁଡ଼ିକର ବୈଧତା ଯାଞ୍ଚ କରାଯାଉଛି...</translation>
 <translation id="3083667275341675831">ସଂଯୋଗ ଡାଏଗ୍ନୋଷ୍ଟିକ୍ସ</translation>
 <translation id="3084958266922136097">ସ୍କ୍ରିନ୍ ସେଭର୍ ଅକ୍ଷମ କରନ୍ତୁ</translation>
 <translation id="3091839911843451378">ବିଫଳ ହୋଇଛି - ପ୍ରିଣ୍ଟର୍ ବନ୍ଦ ହୋଇଯାଇଛି</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">ଆପଣ ସମସ୍ତ ପ୍ରିଣ୍ଟ ଇତିହାସ ଖାଲି କରିବାକୁ ଚାହୁଁଥିବା ନିଶ୍ଚିତ କି? ଆପଣଙ୍କ ଚାଲୁଥିବା ପ୍ରିଣ୍ଟ କାର୍ଯ୍ୟଗୁଡ଼ିକ ଖାଲି ହେବ ନାହିଁ।</translation>
 <translation id="3383751554789092165">ଆବଶ୍ୟକତା ଅନୁସାରେ ଡିଭାଇସ ସୂଚନାକୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ।</translation>
 <translation id="3404249063913988450">ସ୍କ୍ରିନ୍ ସେଭର୍ ସକ୍ଷମ କରନ୍ତୁ</translation>
-<translation id="3404770484521709967">କମ୍ପୋନେଣ୍ଟଗୁଡ଼ିକୁ ସଠିକ୍ ଭାବେ ଇନଷ୍ଟଲ କରାଯାଇଛି।</translation>
 <translation id="3413935475507503304">ଅପଡେଟ କରିବାକୁ ଆଗକୁ ବଢ଼ିବା ପାଇଁ, "ପରବର୍ତ୍ତୀ"କୁ କ୍ଲିକ କରନ୍ତୁ।</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">ସୁରକ୍ଷା</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">ପୁରୁଣା ପାସ୍‌ୱାର୍ଡ</translation>
 <translation id="4453205916657964690">ସବନେଟ୍ ମାସ୍କ</translation>
 <translation id="4454245904991689773">ସ୍କାନ୍ କରି ଏଠାରେ ସେଭ୍ କରନ୍ତୁ</translation>
-<translation id="4472575034687746823">ଆରମ୍ଭ କରନ୍ତୁ</translation>
 <translation id="4479639480957787382">ଇଥର୍‌ନେଟ୍‌</translation>
 <translation id="4483049906298469269">ଡିଫଲ୍ଟ-ନଥିବା ନେଟୱାର୍କ ଗେଟୱେକୁ ପିଙ୍ଗ୍ କରିବାରେ ବିଫଳ ହୋଇଛି</translation>
 <translation id="4500213108254186382">ଲିଡ ଆକ୍ସିଲେରୋମିଟର</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">ଚାଲୁଛି</translation>
 <translation id="6620487321149975369">ପ୍ରିଣ୍ଟ କାର୍ଯ୍ୟଗୁଡ଼ିକୁ ମାନୁଆଲୀ କାଢ଼ି ନଦିଆଯିବା ପର୍ଯ୍ୟନ୍ତ ସେଗୁଡ଼ିକ ଇତିହାସରେ ଦେଖାଯିବ</translation>
 <translation id="6643016212128521049">ଖାଲି କରନ୍ତୁ</translation>
+<translation id="6644568396961840069">ଫାଇଲ ସେଭ କରାଯାଇପାରିଲା ନାହିଁ। ଏକ ଭିନ୍ନ ଏକ୍ସଟର୍ନଲ ଷ୍ଟୋରେଜରେ ପ୍ଲଗ ଇନ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ କିମ୍ବା ପରେ ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
 <translation id="6647510110698214773">ଏନକ୍ରିପସନ ଆଲଗୋରିଦମ</translation>
 <translation id="6650062777702288430">କାନା/ଆଲଫାନ୍ୟୁମେରିକ ସ୍ୱିଚ</translation>
 <translation id="6657585470893396449">ପାସ୍‌ୱର୍ଡ</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">ରାଇଟ ପ୍ରୋଟେକ୍ଟ ଏବେ ବି ବନ୍ଦ ଅଛି। ଆଗକୁ ବଢ଼ିବା ପାଇଁ ରାଇଟ ପ୍ରୋଟେକ୍ଟକୁ ଚାଲୁ କରନ୍ତୁ।</translation>
 <translation id="8075838845814659848">ବାକି ଥିବା ଚାର୍ଜ</translation>
 <translation id="8082366717211101304">Android ଆପଗୁଡ଼ିକରୁ DNSର ସମାଧାନ କରାଯାଇପାରିବ ନାହିଁ</translation>
-<translation id="8083281199617904460">ଏହି ମରାମତି ପ୍ରକ୍ରିୟା ଜଣେ ତାଲିମପ୍ରାପ୍ତ ମରାମତି ଟେକ୍ନିସିଆନଙ୍କ ପାଇଁ ଉଦ୍ଦିଷ୍ଟ। ସଠିକ୍ କମ୍ପୋନେଣ୍ଟଗୁଡ଼ିକୁ ପରିବର୍ତ୍ତନ କରିବା ପରେ ହିଁ ଆରମ୍ଭ କରନ୍ତୁ।</translation>
 <translation id="808894953321890993">ପାସ୍‌ୱାର୍ଡ ବଦଳାନ୍ତୁ</translation>
 <translation id="8104083085214006426">ଆପଣ ଏକ ଖୋଲା ଏବଂ ଅସୁରକ୍ଷିତ ନେଟୱାର୍କ ବ୍ୟବହାର କରୁଛନ୍ତି</translation>
 <translation id="8109786307828817014">ବିଫଳ ହୋଇଥିବା କାଲିବ୍ରେସନ ସହ ଆଗକୁ ବଢ଼ିବେ?</translation>
diff --git a/chromeos/strings/chromeos_strings_pa.xtb b/chromeos/strings/chromeos_strings_pa.xtb
index f8549465..0809fda 100644
--- a/chromeos/strings/chromeos_strings_pa.xtb
+++ b/chromeos/strings/chromeos_strings_pa.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">ਅਖੀਰਲਾ ਬਿੰਦੂ</translation>
 <translation id="3069085583900247081">ਟੈਸਟ ਅਸਫਲ ਰਿਹਾ</translation>
-<translation id="3076243757415932261">ਹਿੱਸਿਆਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ...</translation>
 <translation id="3083667275341675831">ਕਨੈਕਟੀਵਿਟੀ ਤਸ਼ਖੀਸ</translation>
 <translation id="3084958266922136097">ਸਕ੍ਰੀਨ ਸੇਵਰ ਬੰਦ ਕਰੋ</translation>
 <translation id="3091839911843451378">ਅਸਫਲ ਰਹੀ - ਪ੍ਰਿੰਟਰ ਰੁਕ ਗਿਆ ਹੈ</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">ਕੀ ਤੁਸੀਂ ਪੱਕਾ ਆਪਣਾ ਸਾਰਾ ਪ੍ਰਿੰਟ ਇਤਿਹਾਸ ਕਲੀਅਰ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ? ਤੁਹਾਡੀਆਂ ਚੱਲ ਰਹੀਆਂ ਪ੍ਰਿੰਟ ਜੌਬਾਂ ਨੂੰ ਕਲੀਅਰ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ।</translation>
 <translation id="3383751554789092165">ਲੋੜ ਅਨੁਸਾਰ ਡੀਵਾਈਸ ਜਾਣਕਾਰੀ ਬਦਲੋ।</translation>
 <translation id="3404249063913988450">ਸਕ੍ਰੀਨ ਸੇਵਰ ਚਾਲੂ ਕਰੋ</translation>
-<translation id="3404770484521709967">ਹਿੱਸਿਆਂ ਨੂੰ ਸਹੀ ਤਰ੍ਹਾਂ ਸਥਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ।</translation>
 <translation id="3413935475507503304">ਅੱਪਡੇਟ ਨਾਲ ਜਾਰੀ ਰੱਖਣ ਲਈ, 'ਅੱਗੇ 'ਤੇ ਕਲਿੱਕ ਕਰੋ।</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">ਸੁਰੱਖਿਆ</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">ਪੁਰਾਣਾ ਪਾਸਵਰਡ</translation>
 <translation id="4453205916657964690">ਸਬਨੈੱਟ ਮਾਸਕ</translation>
 <translation id="4454245904991689773">ਇਸ ਵਿੱਚ ਸਕੈਨ ਕਰੋ</translation>
-<translation id="4472575034687746823">ਸ਼ੁਰੂਆਤ ਕਰੋ</translation>
 <translation id="4479639480957787382">ਈਥਰਨੈਟ</translation>
 <translation id="4483049906298469269">ਗੈਰ-ਪੂਰਵ-ਨਿਰਧਾਰਤ ਨੈੱਟਵਰਕ ਗੇਟਵੇ ਨੂੰ ਪਿੰਗ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ</translation>
 <translation id="4500213108254186382">ਲਿਡ ਐਕਸੈੱਲਰੋਮੀਟਰ</translation>
@@ -810,7 +807,6 @@
 <translation id="8063022551652308521">ਲਿਖਣ ਸੰਬੰਧੀ ਸੁਰੱਖਿਆ ਹਾਲੇ ਵੀ ਬੰਦ ਹੈ। ਜਾਰੀ ਰੱਖਣ ਲਈ, ਲਿਖਣ ਸੰਬੰਧੀ ਸੁਰੱਖਿਆ ਨੂੰ ਚਾਲੂ ਕਰੋ।</translation>
 <translation id="8075838845814659848">ਬਾਕੀ ਚਾਰਜ</translation>
 <translation id="8082366717211101304">Android ਐਪਾਂ ਤੋਂ DNS ਸੰਬੰਧੀ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ</translation>
-<translation id="8083281199617904460">ਮੁਰੰਮਤ ਦੀ ਇਹ ਪ੍ਰਕਿਰਿਆ ਕਿਸੇ ਮੁਰੰਮਤ ਸੰਬੰਧੀ ਤਕਨੀਕੀ ਮਾਹਰ ਲਈ ਹੈ। ਖਰਾਬੀ ਵਾਲੇ ਹਿੱਸਿਆਂ ਨੂੰ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਹੀ ਸ਼ੁਰੂ ਕਰੋ।</translation>
 <translation id="808894953321890993">ਪਾਸਵਰਡ ਬਦਲੋ</translation>
 <translation id="8104083085214006426">ਤੁਸੀਂ ਕੋਈ ਖੁੱਲ੍ਹਾ ਅਤੇ ਅਸੁਰੱਖਿਅਤ ਨੈੱਟਵਰਕ ਵਰਤ ਰਹੇ ਹੋ</translation>
 <translation id="8109786307828817014">ਕੀ ਅਸਫਲ ਕੈਲੀਬਰੇਸ਼ਨਾਂ ਨਾਲ ਅੱਗੇ ਵਧਣਾ ਹੈ?</translation>
diff --git a/chromeos/strings/chromeos_strings_pl.xtb b/chromeos/strings/chromeos_strings_pl.xtb
index f59f13d..ee58775 100644
--- a/chromeos/strings/chromeos_strings_pl.xtb
+++ b/chromeos/strings/chromeos_strings_pl.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Punkt końcowy</translation>
 <translation id="3069085583900247081">Niepowodzenie testu</translation>
-<translation id="3076243757415932261">Weryfikowanie komponentów…</translation>
 <translation id="3083667275341675831">Diagnostyka problemów z łącznością</translation>
 <translation id="3084958266922136097">Wyłącz wygaszacz ekranu</translation>
 <translation id="3091839911843451378">Niepowodzenie – drukarka została zatrzymana</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Czy na pewno chcesz usunąć całą historię drukowania? Bieżące zadania drukowania nie zostaną usunięte.</translation>
 <translation id="3383751554789092165">W razie potrzeby zmień informacje o urządzeniu.</translation>
 <translation id="3404249063913988450">Włącz wygaszacz ekranu</translation>
-<translation id="3404770484521709967">Komponenty zostały zainstalowane poprawnie.</translation>
 <translation id="3413935475507503304">Aby rozpocząć aktualizację, kliknij Dalej.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Bezpieczeństwo</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Stare hasło</translation>
 <translation id="4453205916657964690">Maska podsieci</translation>
 <translation id="4454245904991689773">Skanuj do</translation>
-<translation id="4472575034687746823">Rozpocznij</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Nie udało się sprawdzić pingiem bramy sieciowej innej niż domyślna</translation>
 <translation id="4500213108254186382">Akcelerometr pokrywy</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Zabezpieczenie przed zapisem jest wciąż wyłączone. Włącz je, aby chronić dane.</translation>
 <translation id="8075838845814659848">Stan naładowania</translation>
 <translation id="8082366717211101304">Nie udało się znaleźć DNS w aplikacjach na Androida</translation>
-<translation id="8083281199617904460">Proces naprawy powinien zostać przeprowadzony przez wykwalifikowanego specjalistę. Przed rozpoczęciem wymień wadliwe komponenty.</translation>
 <translation id="808894953321890993">Zmień hasło</translation>
 <translation id="8104083085214006426">Używasz niezabezpieczonej sieci otwartej</translation>
 <translation id="8109786307828817014">Kontynuować mimo braku kalibracji?</translation>
diff --git a/chromeos/strings/chromeos_strings_pt-BR.xtb b/chromeos/strings/chromeos_strings_pt-BR.xtb
index d113aea..c0ede01 100644
--- a/chromeos/strings/chromeos_strings_pt-BR.xtb
+++ b/chromeos/strings/chromeos_strings_pt-BR.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Endpoint</translation>
 <translation id="3069085583900247081">Falha no teste</translation>
-<translation id="3076243757415932261">Validando componentes…</translation>
 <translation id="3083667275341675831">Diagnósticos de conectividade</translation>
 <translation id="3084958266922136097">Desativar o protetor de tela</translation>
 <translation id="3091839911843451378">Falha - Ação interrompida</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Tem certeza de que quer limpar todo o histórico? Os trabalhos de impressão atuais não serão apagados.</translation>
 <translation id="3383751554789092165">Mude as informações do dispositivo conforme necessário.</translation>
 <translation id="3404249063913988450">Ativar o protetor de tela</translation>
-<translation id="3404770484521709967">Os componentes foram instalados corretamente.</translation>
 <translation id="3413935475507503304">Para continuar com a atualização, clique em "Próxima".</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Segurança</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Senha antiga</translation>
 <translation id="4453205916657964690">Máscara de sub-rede</translation>
 <translation id="4454245904991689773">Salvar em</translation>
-<translation id="4472575034687746823">Vamos começar</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Falha no ping do gateway de rede não padrão</translation>
 <translation id="4500213108254186382">Acelerômetro da tampa</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">A proteção contra gravação ainda está desativada. Ative para continuar.</translation>
 <translation id="8075838845814659848">Carga restante</translation>
 <translation id="8082366717211101304">Não foi possível resolver o DNS em apps Android</translation>
-<translation id="8083281199617904460">Este processo de reparo precisa ser feito por um técnico treinado. Só comece depois de substituir os componentes com problemas.</translation>
 <translation id="808894953321890993">Alterar senha</translation>
 <translation id="8104083085214006426">Você está usando uma rede aberta e não segura</translation>
 <translation id="8109786307828817014">Continuar com as calibragens que falharam?</translation>
diff --git a/chromeos/strings/chromeos_strings_pt-PT.xtb b/chromeos/strings/chromeos_strings_pt-PT.xtb
index 9e6ec9aa..1a51af4 100644
--- a/chromeos/strings/chromeos_strings_pt-PT.xtb
+++ b/chromeos/strings/chromeos_strings_pt-PT.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">Tipo</translation>
 <translation id="2461822463642141190">Atual</translation>
 <translation id="2480034874476596812">Desativar manualmente</translation>
+<translation id="248546197012830854">O dispositivo está offline. Ligue-se à rede Wi-Fi para ver o conteúdo de ajuda.</translation>
 <translation id="2491955442992294626">As teclas não são testadas quando está a usar outra janela</translation>
 <translation id="2493126929778606526">As suas melhores fotos selecionadas automaticamente.</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -241,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Ponto final</translation>
 <translation id="3069085583900247081">O teste falhou</translation>
-<translation id="3076243757415932261">A validar os componentes…</translation>
 <translation id="3083667275341675831">Diagnóstico de conetividade</translation>
 <translation id="3084958266922136097">Desativar proteção de ecrã</translation>
 <translation id="3091839911843451378">Falha – Parou</translation>
@@ -276,7 +276,6 @@
 <translation id="3369013195428705271">Tem a certeza de que pretende limpar todo o histórico de impressões? As suas tarefas de impressão em curso não serão limpas.</translation>
 <translation id="3383751554789092165">Altere as informações do dispositivo conforme necessário.</translation>
 <translation id="3404249063913988450">Ativar proteção de ecrã</translation>
-<translation id="3404770484521709967">Os componentes foram instalados corretamente.</translation>
 <translation id="3413935475507503304">Para prosseguir com a atualização, clique em Seguinte.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Segurança</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">Palavra-passe antiga</translation>
 <translation id="4453205916657964690">Máscara de sub-rede</translation>
 <translation id="4454245904991689773">Digitalizar para</translation>
-<translation id="4472575034687746823">Começar</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Falha ao enviar ping ao gateway da rede não predefinida.</translation>
 <translation id="4500213108254186382">Acelerómetro da tampa</translation>
@@ -664,6 +662,7 @@
 <translation id="6611280807952151149">Sair da reparação do dispositivo <ph name="DEVICE_TYPE" /></translation>
 <translation id="6618744767048954150">Em execução</translation>
 <translation id="6620487321149975369">As tarefas de impressão serão apresentadas no histórico, exceto se forem removidas manualmente.</translation>
+<translation id="6624819909909965616">Não é possível carregar um ficheiro com mais de 10 MB</translation>
 <translation id="6643016212128521049">Limpar</translation>
 <translation id="6644568396961840069">Não foi possível guardar o ficheiro. Experimente ligar um armazenamento externo diferente ou tente novamente mais tarde.</translation>
 <translation id="6647510110698214773">Algoritmo de encriptação</translation>
@@ -699,6 +698,7 @@
 <translation id="6965382102122355670">OK</translation>
 <translation id="6977381486153291903">Revisão de firmware</translation>
 <translation id="6995564396478647735">Certifique-se de que a proteção contra escrita está ativada</translation>
+<translation id="7005833343836210400">O dispositivo está offline</translation>
 <translation id="7028979494427204405"><ph name="MANAGER" /> gere este dispositivo e tem acesso a todas as atividades do utilizador, incluindo páginas Web visitadas, palavras-passe e emails.</translation>
 <translation id="7040230719604914234">Operador</translation>
 <translation id="7041549558901442110">O dispositivo não está ligado.</translation>
@@ -811,8 +811,8 @@
 <translation id="8063022551652308521">A proteção contra escrita ainda está desativada. Para continuar, ative a proteção contra escrita.</translation>
 <translation id="8075838845814659848">Carregamento restante</translation>
 <translation id="8082366717211101304">Não é possível resolver o DNS a partir de apps Android</translation>
-<translation id="8083281199617904460">O processo de reparação deve ser realizado por um técnico de reparação qualificado. Comece apenas depois de substituir os componentes que estão a funcionar incorretamente.</translation>
 <translation id="808894953321890993">Alterar palavra-passe</translation>
+<translation id="8094062939584182041">Permitir que a Google lhe envie um email acerca deste problema</translation>
 <translation id="8104083085214006426">Está a utilizar uma rede aberta e insegura</translation>
 <translation id="8109786307828817014">Prosseguir com as calibrações com falha?</translation>
 <translation id="811820734797650957">(Android) É possível enviar ping ao gateway</translation>
diff --git a/chromeos/strings/chromeos_strings_ro.xtb b/chromeos/strings/chromeos_strings_ro.xtb
index e0adca10..89dc9e7 100644
--- a/chromeos/strings/chromeos_strings_ro.xtb
+++ b/chromeos/strings/chromeos_strings_ro.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Punct final</translation>
 <translation id="3069085583900247081">Testul nu a reușit</translation>
-<translation id="3076243757415932261">Se validează componentele…</translation>
 <translation id="3083667275341675831">Diagnosticare pentru conectivitate</translation>
 <translation id="3084958266922136097">Dezactivează screensaverul</translation>
 <translation id="3091839911843451378">Nereușită – Oprită</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Sigur vrei să ștergi tot istoricul printărilor? Sarcinile de printare în curs nu vor fi șterse.</translation>
 <translation id="3383751554789092165">Schimbă informațiile dispozitivului după caz.</translation>
 <translation id="3404249063913988450">Activează screensaverul</translation>
-<translation id="3404770484521709967">Componentele sunt instalate corect.</translation>
 <translation id="3413935475507503304">Ca să continui cu actualizarea, dă clic pe Înainte.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Securitate</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Parolă veche</translation>
 <translation id="4453205916657964690">Mască de subrețea</translation>
 <translation id="4454245904991689773">Scanează către</translation>
-<translation id="4472575034687746823">Începeți</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Nu s-a putut da ping către gateway-ul de rețea care nu este prestabilit</translation>
 <translation id="4500213108254186382">Accelerometrul capacului</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Protecția la scriere este încă dezactivată. Pentru a continua, activeaz-o.</translation>
 <translation id="8075838845814659848">Nivel de încărcare rămas</translation>
 <translation id="8082366717211101304">Nu se poate rezolva solicitarea DNS din aplicații pentru Android</translation>
-<translation id="8083281199617904460">Procesul de reparare este menit pentru un tehnician specializat. Începe numai după ce înlocuiești componentele care nu funcționează.</translation>
 <translation id="808894953321890993">Schimbă parola</translation>
 <translation id="8104083085214006426">Folosești o rețea deschisă și nesigură</translation>
 <translation id="8109786307828817014">Continui cu calibrările nereușite?</translation>
diff --git a/chromeos/strings/chromeos_strings_ru.xtb b/chromeos/strings/chromeos_strings_ru.xtb
index cf5317f..0b687af 100644
--- a/chromeos/strings/chromeos_strings_ru.xtb
+++ b/chromeos/strings/chromeos_strings_ru.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ОБНОВИТЬ</translation>
 <translation id="3009958530611748826">Выберите папку для сохранения</translation>
 <translation id="3017079585324758401">Фон</translation>
+<translation id="302435934487327038">Установка завершена</translation>
 <translation id="3027578600144895987">Закрыть камеру</translation>
 <translation id="3031560714565892478">Это видеокамера.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> мА</translation>
 <translation id="3056720590588772262">Конечная точка</translation>
 <translation id="3069085583900247081">Проверка не пройдена</translation>
-<translation id="3076243757415932261">Проверка компонентов…</translation>
 <translation id="3083667275341675831">Диагностика соединений</translation>
 <translation id="3084958266922136097">Отключить заставку</translation>
 <translation id="3091839911843451378">Сбой: остановка работы</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Очистить историю печати? Текущие задания печати не будут удалены.</translation>
 <translation id="3383751554789092165">При необходимости измените информацию об устройстве.</translation>
 <translation id="3404249063913988450">Включить заставку</translation>
-<translation id="3404770484521709967">Установлены подходящие компоненты.</translation>
 <translation id="3413935475507503304">Чтобы выполнить обновление, нажмите "Далее".</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Безопасность</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Старый пароль</translation>
 <translation id="4453205916657964690">Маска подсети</translation>
 <translation id="4454245904991689773">Место сохранения</translation>
-<translation id="4472575034687746823">Начать</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Не удалось выполнить проверку ping сетевого шлюза, не заданного по умолчанию.</translation>
 <translation id="4500213108254186382">Акселерометр крышки</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Выполняется</translation>
 <translation id="6620487321149975369">Задания печати показываются в истории до тех пор, пока вы их не удалите</translation>
 <translation id="6643016212128521049">Удалить</translation>
+<translation id="6644568396961840069">Не удалось сохранить файл. Подключите другой внешний накопитель или повторите попытку позже.</translation>
 <translation id="6647510110698214773">Алгоритм шифрования</translation>
 <translation id="6650062777702288430">Переключение между кана и буквенно-цифровыми символами</translation>
 <translation id="6657585470893396449">Пароль</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Защита от записи отключена. Чтобы продолжить, включите ее.</translation>
 <translation id="8075838845814659848">Уровень заряда</translation>
 <translation id="8082366717211101304">Не удается выполнить DNS-преобразование в приложениях для Android.</translation>
-<translation id="8083281199617904460">Ремонт должен выполнять квалифицированный специалист. Прежде чем начать, замените неисправные компоненты.</translation>
 <translation id="808894953321890993">Сменить пароль</translation>
 <translation id="8104083085214006426">Вы используете открытую небезопасную сеть.</translation>
 <translation id="8109786307828817014">Некоторые компоненты не откалиброваны. Продолжить?</translation>
diff --git a/chromeos/strings/chromeos_strings_si.xtb b/chromeos/strings/chromeos_strings_si.xtb
index 9d1576c0..4bf819e 100644
--- a/chromeos/strings/chromeos_strings_si.xtb
+++ b/chromeos/strings/chromeos_strings_si.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">නැවුම් කරන්න</translation>
 <translation id="3009958530611748826">සුරැකීමට ෆෝල්ඩරයක් තෝරන්න</translation>
 <translation id="3017079585324758401">පසුබිම</translation>
+<translation id="302435934487327038">ස්ථාපනය කිරීම සම්පූර්ණයි</translation>
 <translation id="3027578600144895987">කැමරාව වසන්න</translation>
 <translation id="3031560714565892478">උපාංගය වීඩියෝ කැමරාවකි.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">අන්ත ලක්ෂ්‍යය</translation>
 <translation id="3069085583900247081">පරීක්ෂණය අසාර්ථක විය</translation>
-<translation id="3076243757415932261">සංරචක වලංගුකරණය කරමින්...</translation>
 <translation id="3083667275341675831">සබැඳුම් හැකියා දෝෂ නිර්ණ</translation>
 <translation id="3084958266922136097">තිර සුරැකුම අබල කරන්න</translation>
 <translation id="3091839911843451378">අසාර්ථක විය - නතර විය</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">ඔබට මුද්‍රණ ඉතිහාස සියල්ල හිස් කිරීමට අවශ්‍ය බව ඔබට තහවුරුද? ඔබේ පවතින මුද්‍රණ වැඩ හිස් නොකෙරේ.</translation>
 <translation id="3383751554789092165">අවශ්‍ය පරිදි උපාංග තොරතුරු වෙනස් කරන්න.</translation>
 <translation id="3404249063913988450">තිර සුරැකුම සබල කරන්න</translation>
-<translation id="3404770484521709967">සංරචක නිවැරදිව ස්ථාපනය කර ඇත.</translation>
 <translation id="3413935475507503304">යාවත්කාලීනය සමග ඉදිරියට යාමට, ඊළඟ ක්ලික් කරන්න.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">ආරක්ෂක</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">පැරණි මුරපදය</translation>
 <translation id="4453205916657964690">අනුජාල ආවරණය</translation>
 <translation id="4454245904991689773">ස්කෑන් කරන්න</translation>
-<translation id="4472575034687746823">අරඹන්න</translation>
 <translation id="4479639480957787382">ඊදර්නෙට්</translation>
 <translation id="4483049906298469269">පෙරනිමි නොවන ජාල වාහල පින්ග් කිරීම අසාර්ථක විය</translation>
 <translation id="4500213108254186382">තිර ත්වරණමානය</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">ධාවන වේ</translation>
 <translation id="6620487321149975369">මුද්‍රණ කාර්ය අතින් ඉවත් නොකළහොත් ඉතිහාසයේ දිස්වනු ඇත</translation>
 <translation id="6643016212128521049">මකන්න</translation>
+<translation id="6644568396961840069">ගොනුව සුරැකිය නොහැකි විය. වෙනත් බාහිර ආචයනයක් පේනුගත කිරීමට උත්සාහ කරන්න, නැතහොත් පසුව නැවත උත්සාහ කරන්න.</translation>
 <translation id="6647510110698214773">සංකේතන ඇල්ගොරිතමය</translation>
 <translation id="6650062777702288430">කනා/අක්ෂරාංක මාරුව</translation>
 <translation id="6657585470893396449">මුරපදය</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">ලිවීම් ආරක්ෂාව තවම ක්‍රියාවිරහිතයි. ඉදිරියට යාමට, ලිවීම් ආරක්ෂාව ක්‍රියාත්මක කරන්න.</translation>
 <translation id="8075838845814659848">ඉතිරි ආරෝපණය</translation>
 <translation id="8082366717211101304">Android යෙදුම් වෙතින් DNS විසඳිය නොහැකිය</translation>
-<translation id="8083281199617904460">මෙම අලුත්වැඩියා ක්‍රියාවලිය පුහුණු අලුත්වැඩියා කාර්මිකයෙකු සඳහා අදහස් කෙරේ. නිසි පරිදි ක්‍රියා නොකරන සංරචක ප්‍රතිස්ථාපනය කිරීමෙන් පසුව පමණක් ආරම්භ කරන්න.</translation>
 <translation id="808894953321890993">මුරපදය වෙනස් කරන්න</translation>
 <translation id="8104083085214006426">ඔබ විවෘත සහ අනාරක්ෂිත ජාලයක් භාවිත කරමින් සිටියි</translation>
 <translation id="8109786307828817014">අසාර්ථක ක්‍රමාංකන සමඟ ඉදිරියට යන්නද?</translation>
diff --git a/chromeos/strings/chromeos_strings_sk.xtb b/chromeos/strings/chromeos_strings_sk.xtb
index e8b4250..4406a6dc 100644
--- a/chromeos/strings/chromeos_strings_sk.xtb
+++ b/chromeos/strings/chromeos_strings_sk.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Konečný bod</translation>
 <translation id="3069085583900247081">Nepodarilo sa otestovať</translation>
-<translation id="3076243757415932261">Komponenty sa overujú…</translation>
 <translation id="3083667275341675831">Diagnostika pripojenia</translation>
 <translation id="3084958266922136097">Deaktivovať šetrič obrazovky</translation>
 <translation id="3091839911843451378">Nepodarilo sa – zastavené</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Naozaj chcete vymazať celú históriu tlače? Prebiehajúce tlačové úlohy nebudú vymazané.</translation>
 <translation id="3383751554789092165">Informácie zo zariadení podľa potreby zmeňte.</translation>
 <translation id="3404249063913988450">Aktivovať šetrič obrazovky</translation>
-<translation id="3404770484521709967">Komponenty boli nainštalované správne.</translation>
 <translation id="3413935475507503304">Ak chcete pokračovať v aktualizácii, kliknite na Ďalej.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Bezpečnosť</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Staré heslo</translation>
 <translation id="4453205916657964690">Maska podsiete</translation>
 <translation id="4454245904991689773">Adresár na skenovanie</translation>
-<translation id="4472575034687746823">Začíname</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Nepredvolenú bránu siete sa nepodarilo otestovať</translation>
 <translation id="4500213108254186382">Akcelerometer v kryte</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Ochrana proti zápisu je stále vypnutá. Ak chcete pokračovať, zapnite ju.</translation>
 <translation id="8075838845814659848">Zostávajúca úroveň batérie</translation>
 <translation id="8082366717211101304">DNS sa nedá preložiť v aplikáciách pre Android</translation>
-<translation id="8083281199617904460">Túto opravu môže vykonať iba školený technik. Začnite iba po výmene chybných komponentov.</translation>
 <translation id="808894953321890993">Zmeniť heslo</translation>
 <translation id="8104083085214006426">Používate otvorenú a nezabezpečenú sieť</translation>
 <translation id="8109786307828817014">Chcete pokračovať bez týchto kalibrácií?</translation>
diff --git a/chromeos/strings/chromeos_strings_sl.xtb b/chromeos/strings/chromeos_strings_sl.xtb
index 67ee03c..5f0a143 100644
--- a/chromeos/strings/chromeos_strings_sl.xtb
+++ b/chromeos/strings/chromeos_strings_sl.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">OSVEŽI</translation>
 <translation id="3009958530611748826">Izberite mapo za shranjevanje</translation>
 <translation id="3017079585324758401">Ozadje</translation>
+<translation id="302435934487327038">Namestitev je končana</translation>
 <translation id="3027578600144895987">Zapri kamero</translation>
 <translation id="3031560714565892478">Naprava je videokamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Končna točka</translation>
 <translation id="3069085583900247081">Preizkus ni uspel</translation>
-<translation id="3076243757415932261">Preverjanje komponent …</translation>
 <translation id="3083667275341675831">Diagnosticiranje povezav</translation>
 <translation id="3084958266922136097">Onemogočanje ohranjevalnika zaslona</translation>
 <translation id="3091839911843451378">Napaka – ustavljeno</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Ali ste prepričani, da želite izbrisati vso zgodovino tiskanja? Tiskalna opravila, ki potekajo, ne bodo izbrisana.</translation>
 <translation id="3383751554789092165">Po potrebi spremenite podatke o napravi.</translation>
 <translation id="3404249063913988450">Omogočanje ohranjevalnika zaslona</translation>
-<translation id="3404770484521709967">Komponente so pravilno nameščene.</translation>
 <translation id="3413935475507503304">Če želite nadaljevati posodobitev, kliknite Naprej.</translation>
 <translation id="3434107140712555581">Akumulator: <ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Varnost</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Staro geslo</translation>
 <translation id="4453205916657964690">Maska podomrežja</translation>
 <translation id="4454245904991689773">Skeniraj v</translation>
-<translation id="4472575034687746823">Kako začeti</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Ni bilo mogoče preveriti prehoda omrežja, ki ni privzet</translation>
 <translation id="4500213108254186382">Merilnik pospeška v pokrovu</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Preverjanje poteka</translation>
 <translation id="6620487321149975369">Tiskalna opravila bodo prikazana v zgodovini, razen če jih ročno odstranite</translation>
 <translation id="6643016212128521049">Izbriši</translation>
+<translation id="6644568396961840069">Datoteke ni bilo mogoče shraniti. Poskusite priključiti drugo zunanjo shrambo ali poskusite znova pozneje.</translation>
 <translation id="6647510110698214773">Algoritem šifriranja</translation>
 <translation id="6650062777702288430">Preklop med tipkovnico kana/alfanumerično tipkovnico</translation>
 <translation id="6657585470893396449">Geslo</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Zaščita pred pisanjem je še vedno izklopljena. Če želite nadaljevati, jo vklopite.</translation>
 <translation id="8075838845814659848">Preostanek polnjenja</translation>
 <translation id="8082366717211101304">Iz aplikacij za Android ni mogoče razrešiti DNS-ja.</translation>
-<translation id="8083281199617904460">Ta postopek popravila je namenjen za usposobljenega serviserja. Začnite šele po zamenjavi okvarjenih komponent.</translation>
 <translation id="808894953321890993">Sprememba gesla</translation>
 <translation id="8104083085214006426">Uporabljate odprto omrežje, ki ni varno.</translation>
 <translation id="8109786307828817014">Želite nadaljevati z neuspešnimi umerjanji?</translation>
diff --git a/chromeos/strings/chromeos_strings_sq.xtb b/chromeos/strings/chromeos_strings_sq.xtb
index 684d272..c0331dad 100644
--- a/chromeos/strings/chromeos_strings_sq.xtb
+++ b/chromeos/strings/chromeos_strings_sq.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">RIFRESKO</translation>
 <translation id="3009958530611748826">Zgjidh një dosje për ruajtje</translation>
 <translation id="3017079585324758401">Sfondi</translation>
+<translation id="302435934487327038">Instalimi përfundoi</translation>
 <translation id="3027578600144895987">Mbylle kamerën</translation>
 <translation id="3031560714565892478">Pajisja është një video-kamerë.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Pika përfundimtare</translation>
 <translation id="3069085583900247081">Testi dështoi</translation>
-<translation id="3076243757415932261">Komponentët po verifikohen...</translation>
 <translation id="3083667275341675831">Diagnostikimi i lidhshmërisë</translation>
 <translation id="3084958266922136097">Çaktivizo mbrojtësin e ekranit</translation>
 <translation id="3091839911843451378">Dështoi - Ndaloi</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Je i sigurt që do ta pastrosh të gjithë historikun e printimit? Printimet e tua në vazhdim nuk do të pastrohen.</translation>
 <translation id="3383751554789092165">Ndrysho informacionet e pajisjes sipas nevojës.</translation>
 <translation id="3404249063913988450">Aktivizo mbrojtësin e ekranit</translation>
-<translation id="3404770484521709967">Komponentët janë instaluar si duhet.</translation>
 <translation id="3413935475507503304">Kliko "Para" për të vazhduar me përditësimin.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Siguria</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Fjalëkalimi i vjetër</translation>
 <translation id="4453205916657964690">Maska e nënrrjetit</translation>
 <translation id="4454245904991689773">Skano te</translation>
-<translation id="4472575034687746823">Fillo</translation>
 <translation id="4479639480957787382">Eternet</translation>
 <translation id="4483049906298469269">Dështoi verifikimi "ping" për portën jo të parazgjedhur të kalimit</translation>
 <translation id="4500213108254186382">Përshpejtuesi i kapakut</translation>
@@ -663,6 +661,7 @@
 <translation id="6618744767048954150">Në ekzekutim</translation>
 <translation id="6620487321149975369">Printimet do të shfaqen te historiku, përveçse kur hiqen manualisht</translation>
 <translation id="6643016212128521049">Pastro</translation>
+<translation id="6644568396961840069">Skedari nuk mund të ruhej. Provo të lidhësh një tjetër hapësirë ruajtëse të jashtme ose provo përsëri më vonë.</translation>
 <translation id="6647510110698214773">Algoritmi i enkriptimit</translation>
 <translation id="6650062777702288430">Kalimi në tastierën kana/alfanumerike</translation>
 <translation id="6657585470893396449">Fjalëkalimi</translation>
@@ -808,7 +807,6 @@
 <translation id="8063022551652308521">"Mbrojtja nga shkrimi" është akoma e çaktivizuar. Për të vazhduar, aktivizo "Mbrojtjen nga shkrimi".</translation>
 <translation id="8075838845814659848">Karikimi i mbetur</translation>
 <translation id="8082366717211101304">DNS-ja nuk mund të zgjidhet nga aplikacionet për Android</translation>
-<translation id="8083281199617904460">Ky proces riparimi duhet të kryhet nga një teknik i trajnuar për riparimin. Fillo vetëm pas zëvendësimit të komponentëve që nuk funksionojnë mirë.</translation>
 <translation id="808894953321890993">Ndrysho fjalëkalimin</translation>
 <translation id="8104083085214006426">Po përdor një rrjet të hapur dhe të pasigurt</translation>
 <translation id="8109786307828817014">Të vazhdohet me kalibrimet e dështuara?</translation>
diff --git a/chromeos/strings/chromeos_strings_sr-Latn.xtb b/chromeos/strings/chromeos_strings_sr-Latn.xtb
index cde7100a..0dbf6dbb 100644
--- a/chromeos/strings/chromeos_strings_sr-Latn.xtb
+++ b/chromeos/strings/chromeos_strings_sr-Latn.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">OSVEŽI</translation>
 <translation id="3009958530611748826">Izaberite folder za čuvanje</translation>
 <translation id="3017079585324758401">Pozadina</translation>
+<translation id="302435934487327038">Instaliranje je završeno</translation>
 <translation id="3027578600144895987">Zatvorite kameru</translation>
 <translation id="3031560714565892478">Uređaj je video kamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Krajnja tačka</translation>
 <translation id="3069085583900247081">Test nije uspeo</translation>
-<translation id="3076243757415932261">Validiraju se komponente…</translation>
 <translation id="3083667275341675831">Dijagnostika povezivosti</translation>
 <translation id="3084958266922136097">Onemogućite čuvar ekrana</translation>
 <translation id="3091839911843451378">Nije uspelo – zaustavljeno je</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Želite li stvarno da obrišete svu istoriju štampanja? Zadaci štampanja koji su u toku se ne brišu.</translation>
 <translation id="3383751554789092165">Menjajte informacije o uređaju prema potrebi.</translation>
 <translation id="3404249063913988450">Omogućite čuvar ekrana</translation>
-<translation id="3404770484521709967">Komponente su pravilno montirane.</translation>
 <translation id="3413935475507503304">Da biste nastavili sa ažuriranjem, kliknite na Dalje.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Bezbednost</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Stara lozinka</translation>
 <translation id="4453205916657964690">Maska podmreže</translation>
 <translation id="4454245904991689773">Skeniraj u:</translation>
-<translation id="4472575034687746823">Započnimo</translation>
 <translation id="4479639480957787382">Eternet</translation>
 <translation id="4483049906298469269">Pingovanje mrežnog prolaza koji nije podrazumevan nije uspelo</translation>
 <translation id="4500213108254186382">Akcelerometar za poklopac</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">U toku je</translation>
 <translation id="6620487321149975369">Zadaci štampanja će se pojaviti u istoriji ako ih ne uklonite ručno</translation>
 <translation id="6643016212128521049">Obriši</translation>
+<translation id="6644568396961840069">Čuvanje fajla nije uspelo. Priključite drugu spoljnu memoriju ili probajte ponovo kasnije.</translation>
 <translation id="6647510110698214773">Algoritam šifrovanja</translation>
 <translation id="6650062777702288430">Prekidač za kana/alfanumeričke znakove</translation>
 <translation id="6657585470893396449">Lozinka</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Zaštita od upisivanja je i dalje isključena. Da biste nastavili, uključite zaštitu od upisivanja.</translation>
 <translation id="8075838845814659848">Preostali nivo napunjenosti baterije</translation>
 <translation id="8082366717211101304">DNS ne može da se razreši iz Android aplikacija</translation>
-<translation id="8083281199617904460">Ovaj proces popravke smeju da obavljaju samo obučeni serviseri. Pokrenite ga samo posle zamene neispravnih komponenti.</translation>
 <translation id="808894953321890993">Promeni lozinku</translation>
 <translation id="8104083085214006426">Koristite otvorenu i neobezbeđenu mrežu</translation>
 <translation id="8109786307828817014">Želite da nastavite sa kalibracijom koja nije uspela?</translation>
diff --git a/chromeos/strings/chromeos_strings_sr.xtb b/chromeos/strings/chromeos_strings_sr.xtb
index 44d5441e..19727af 100644
--- a/chromeos/strings/chromeos_strings_sr.xtb
+++ b/chromeos/strings/chromeos_strings_sr.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ОСВЕЖИ</translation>
 <translation id="3009958530611748826">Изаберите фолдер за чување</translation>
 <translation id="3017079585324758401">Позадина</translation>
+<translation id="302435934487327038">Инсталирање је завршено</translation>
 <translation id="3027578600144895987">Затворите камеру</translation>
 <translation id="3031560714565892478">Уређај је видео камера.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Крајња тачка</translation>
 <translation id="3069085583900247081">Тест није успео</translation>
-<translation id="3076243757415932261">Валидирају се компоненте…</translation>
 <translation id="3083667275341675831">Дијагностика повезивости</translation>
 <translation id="3084958266922136097">Онемогућите чувар екрана</translation>
 <translation id="3091839911843451378">Није успело – заустављено је</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Желите ли стварно да обришете сву историју штампања? Задаци штампања који су у току се не бришу.</translation>
 <translation id="3383751554789092165">Мењајте информације о уређају према потреби.</translation>
 <translation id="3404249063913988450">Омогућите чувар екрана</translation>
-<translation id="3404770484521709967">Компоненте су правилно монтиране.</translation>
 <translation id="3413935475507503304">Да бисте наставили са ажурирањем, кликните на Даље.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Безбедност</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Стара лозинка</translation>
 <translation id="4453205916657964690">Маска подмреже</translation>
 <translation id="4454245904991689773">Скенирај у:</translation>
-<translation id="4472575034687746823">Започнимо</translation>
 <translation id="4479639480957787382">Етернет</translation>
 <translation id="4483049906298469269">Пинговање мрежног пролаза који није подразумеван није успело</translation>
 <translation id="4500213108254186382">Акцелерометар за поклопац</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">У току је</translation>
 <translation id="6620487321149975369">Задаци штампања ће се појавити у историји ако их не уклоните ручно</translation>
 <translation id="6643016212128521049">Обриши</translation>
+<translation id="6644568396961840069">Чување фајла није успело. Прикључите другу спољну меморију или пробајте поново касније.</translation>
 <translation id="6647510110698214773">Алгоритам шифровања</translation>
 <translation id="6650062777702288430">Прекидач за кана/алфанумеричке знакове</translation>
 <translation id="6657585470893396449">Лозинка</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Заштита од уписивања је и даље искључена. Да бисте наставили, укључите заштиту од уписивања.</translation>
 <translation id="8075838845814659848">Преостали ниво напуњености батерије</translation>
 <translation id="8082366717211101304">DNS не може да се разреши из Android апликација</translation>
-<translation id="8083281199617904460">Овај процес поправке смеју да обављају само обучени сервисери. Покрените га само после замене неисправних компоненти.</translation>
 <translation id="808894953321890993">Промени лозинку</translation>
 <translation id="8104083085214006426">Користите отворену и необезбеђену мрежу</translation>
 <translation id="8109786307828817014">Желите да наставите са калибрацијом која није успела?</translation>
diff --git a/chromeos/strings/chromeos_strings_sv.xtb b/chromeos/strings/chromeos_strings_sv.xtb
index 071301e..fb128606b 100644
--- a/chromeos/strings/chromeos_strings_sv.xtb
+++ b/chromeos/strings/chromeos_strings_sv.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">UPPDATERA</translation>
 <translation id="3009958530611748826">Välj vilken mapp du vill spara i</translation>
 <translation id="3017079585324758401">Bakgrund</translation>
+<translation id="302435934487327038">Installationen är slutförd</translation>
 <translation id="3027578600144895987">Stäng kameran</translation>
 <translation id="3031560714565892478">Enheten är en videokamera.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Slutpunkt</translation>
 <translation id="3069085583900247081">Testet misslyckades</translation>
-<translation id="3076243757415932261">Validerar komponenter …</translation>
 <translation id="3083667275341675831">Anslutningsdiagnostik</translation>
 <translation id="3084958266922136097">Inaktivera skärmsläckare</translation>
 <translation id="3091839911843451378">Misslyckades – skrivaren har stannat</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Vill du rensa all utskriftshistorik? De pågående utskriftsjobben rensas inte.</translation>
 <translation id="3383751554789092165">Ändra enhetsinformation efter behov.</translation>
 <translation id="3404249063913988450">Aktivera skärmsläckare</translation>
-<translation id="3404770484521709967">Komponenterna har installerats korrekt.</translation>
 <translation id="3413935475507503304">Klicka på Nästa om du vill fortsätta med uppdateringen.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" /> %</translation>
 <translation id="3435738964857648380">Säkerhet</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Gammalt lösenord</translation>
 <translation id="4453205916657964690">Delnätsmask</translation>
 <translation id="4454245904991689773">Skanningar sparas i</translation>
-<translation id="4472575034687746823">Kom igång</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Det gick inte att pinga gateway för nätverket som inte är standard</translation>
 <translation id="4500213108254186382">Accelerometer i lock</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Körs</translation>
 <translation id="6620487321149975369">Utskriftsjobb visas i historiken såvida de inte tas bort manuellt</translation>
 <translation id="6643016212128521049">Rensa</translation>
+<translation id="6644568396961840069">Det gick inte att spara filen. Testa att ansluta ett annat externt lagringsutrymme eller försök igen senare.</translation>
 <translation id="6647510110698214773">Krypteringsalgoritm</translation>
 <translation id="6650062777702288430">Tangenten som byter mellan kana/alfanumeriska tecken</translation>
 <translation id="6657585470893396449">Lösenord</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Skrivskyddet är fortfarande inaktiverat. Aktivera skrivskyddet för att fortsätta.</translation>
 <translation id="8075838845814659848">Batteritid som återstår</translation>
 <translation id="8082366717211101304">Det gick inte att matcha DNS från Android-appar</translation>
-<translation id="8083281199617904460">Den här reparationsprocessen är avsedd för utbildade reparationstekniker. Starta den endast när komponenterna som inte fungerar har bytts ut.</translation>
 <translation id="808894953321890993">Ändra lösenord</translation>
 <translation id="8104083085214006426">Du använder ett öppet och osäkert nätverk</translation>
 <translation id="8109786307828817014">Vill du fortsätta med misslyckade kalibreringar?</translation>
diff --git a/chromeos/strings/chromeos_strings_sw.xtb b/chromeos/strings/chromeos_strings_sw.xtb
index 2fe08d0..dee7d296 100644
--- a/chromeos/strings/chromeos_strings_sw.xtb
+++ b/chromeos/strings/chromeos_strings_sw.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ONYESHA UPYA</translation>
 <translation id="3009958530611748826">Chagua folda utakapohifadhi</translation>
 <translation id="3017079585324758401">Mandhari ya nyuma</translation>
+<translation id="302435934487327038">Usakinishaji umekamilika</translation>
 <translation id="3027578600144895987">Funga kamera</translation>
 <translation id="3031560714565892478">Kifaa hiki ni kamera ya video.</translation>
 <translation id="3054177598518735801">mA <ph name="CURRENT_VALUE" /></translation>
 <translation id="3056720590588772262">Anwani halisi</translation>
 <translation id="3069085583900247081">Jaribio halijafaulu</translation>
-<translation id="3076243757415932261">Inathibitisha vipengele...</translation>
 <translation id="3083667275341675831">Uchunguzi wa Muunganisho</translation>
 <translation id="3084958266922136097">Zima taswira ya skrini</translation>
 <translation id="3091839911843451378">Haijakamilika - Imesimamisha</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Una uhakika kuwa ungependa kufuta historia yote ya kuchapisha? Kazi unazoendelea kuchapisha hazitafutwa.</translation>
 <translation id="3383751554789092165">Badilisha maelezo ya kifaa kulingana na uhitaji.</translation>
 <translation id="3404249063913988450">Washa taswira ya skrini</translation>
-<translation id="3404770484521709967">Vipengele vimewekwa kwa usahihi.</translation>
 <translation id="3413935475507503304">Ili uendelee na sasisho, bofya Inayofuata.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Usalama</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Nenosiri la awali</translation>
 <translation id="4453205916657964690">Kichujio cha mtandao mdogo</translation>
 <translation id="4454245904991689773">Hifadhi faili iliyochanganuliwa kwenye</translation>
-<translation id="4472575034687746823">Anza</translation>
 <translation id="4479639480957787382">Ethaneti</translation>
 <translation id="4483049906298469269">Imeshindwa kuita lango la mtandao usio chaguomsingi</translation>
 <translation id="4500213108254186382">Kipima mchapuko cha kifuniko</translation>
@@ -663,6 +661,7 @@
 <translation id="6618744767048954150">Inakagua</translation>
 <translation id="6620487321149975369">Kazi za kuchapisha zitaonekana katika historia usipoziondoa mwenyewe</translation>
 <translation id="6643016212128521049">Futa</translation>
+<translation id="6644568396961840069">Faili imeshindwa kuhifadhiwa. Jaribu kuunganisha hifadhi nyingine ya nje au jaribu tena baadaye.</translation>
 <translation id="6647510110698214773">Algoriti ya usimbaji fiche</translation>
 <translation id="6650062777702288430">Swichi ya kana au herufi na nambari</translation>
 <translation id="6657585470893396449">Nenosiri</translation>
@@ -808,7 +807,6 @@
 <translation id="8063022551652308521">Kipengele cha Write Protect bado hakijawashwa. Ili uendelee, washa Write Protect.</translation>
 <translation id="8075838845814659848">Chaji iliyosalia</translation>
 <translation id="8082366717211101304">Imeshindwa kusuluhisha DNS kutoka kwenye programu za Android</translation>
-<translation id="8083281199617904460">Mchakato wa marekebisho unalenga mafundi waliopewa mafunzo tu Anza baada tu ya kubadilisha vipengele vyenye hitilafu.</translation>
 <translation id="808894953321890993">Badilisha nenosiri</translation>
 <translation id="8104083085214006426">Unatumia mtandao usio salama unaoweza kutumiwa na mtu yeyote</translation>
 <translation id="8109786307828817014">Ungependa kuendelea bila marekebisho ya vipengele?</translation>
diff --git a/chromeos/strings/chromeos_strings_ta.xtb b/chromeos/strings/chromeos_strings_ta.xtb
index 6799fa1..e118421 100644
--- a/chromeos/strings/chromeos_strings_ta.xtb
+++ b/chromeos/strings/chromeos_strings_ta.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">எண்ட்பாயிண்ட்</translation>
 <translation id="3069085583900247081">சோதனை தோல்வியடைந்தது</translation>
-<translation id="3076243757415932261">காம்பனென்ட்களைச் சரிபார்க்கிறது...</translation>
 <translation id="3083667275341675831">இணைப்புநிலையைக் கண்டறிதல்</translation>
 <translation id="3084958266922136097">ஸ்கிரீன் சேவரை முடக்குதல்</translation>
 <translation id="3091839911843451378">பிரிண்டர் நிறுத்தப்பட்டதால் அச்சிட முடியவில்லை</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">இதுவரையிலான அச்சுப் பணிகள் அனைத்தையும் அழிக்கவா? செயல்பாட்டில் இருக்கும் அச்சுப் பணிகள் அழிக்கப்படாது.</translation>
 <translation id="3383751554789092165">தேவைக்கேற்ப சாதனத் தகவலை மாற்றவும்.</translation>
 <translation id="3404249063913988450">ஸ்கிரீன் சேவரை இயக்குதல்</translation>
-<translation id="3404770484521709967">காம்பனென்ட்கள் சரியாக நிறுவப்பட்டுள்ளன.</translation>
 <translation id="3413935475507503304">புதுப்பிப்பைத் தொடர, அடுத்து என்பதைக் கிளிக் செய்யவும்.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">பாதுகாப்பு</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">தற்போதைய கடவுச்சொல்</translation>
 <translation id="4453205916657964690">சப்நெட் மாஸ்க்</translation>
 <translation id="4454245904991689773">இதில் சேமி</translation>
-<translation id="4472575034687746823">தொடங்குக</translation>
 <translation id="4479639480957787382">ஈத்தர்நெட்</translation>
 <translation id="4483049906298469269">இயல்புநிலையற்ற நெட்வொர்க் கேட்வேயைப் பிங் செய்ய முடியவில்லை</translation>
 <translation id="4500213108254186382">லிட் ஆக்சலரோமீட்டர்</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">திருத்துவதைத் தடுக்கும் அம்சம் முடக்கப்பட்டுள்ளது. தொடர, திருத்துவதைத் தடுக்கும் அம்சத்தை இயக்கவும்.</translation>
 <translation id="8075838845814659848">மீதமுள்ள சார்ஜ்</translation>
 <translation id="8082366717211101304">Android ஆப்ஸில் இருந்து DNS கோரிக்கையைத் தீர்க்க முடியவில்லை</translation>
-<translation id="8083281199617904460">இந்த ரிப்பேர் வழிமுறைகள், பயிற்சி பெற்ற ரிப்பேர் டெக்னீஷியனுக்கானது. சரியாகச் செயல்படாத காம்பனென்ட்களை மாற்றிய பிறகே தொடங்கவும்.</translation>
 <translation id="808894953321890993">கடவுச்சொல்லை மாற்று</translation>
 <translation id="8104083085214006426">பொதுவான, பாதுகாப்பற்ற நெட்வொர்க்கைப் பயன்படுத்துகிறீர்கள்</translation>
 <translation id="8109786307828817014">சரிசெய்யப்படாத காம்பனென்ட்டுகளுடன் தொடரவா?</translation>
diff --git a/chromeos/strings/chromeos_strings_te.xtb b/chromeos/strings/chromeos_strings_te.xtb
index 79a9e68..e53b7ab 100644
--- a/chromeos/strings/chromeos_strings_te.xtb
+++ b/chromeos/strings/chromeos_strings_te.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">రకం</translation>
 <translation id="2461822463642141190">ప్రస్తుత</translation>
 <translation id="2480034874476596812">మాన్యువల్‌గా ఆఫ్ చేయండి</translation>
+<translation id="248546197012830854">పరికరం ఆఫ్‌లైన్‌లో ఉంది. Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ చేసి, సహాయక కంటెంట్‌ను చూడండి.</translation>
 <translation id="2491955442992294626">మీరు మరొక విండోను ఉపయోగిస్తున్నప్పుడు కీలను టెస్ట్ చేయలేరు</translation>
 <translation id="2493126929778606526">ఆటోమేటిక్‌గా ఎంపిక చేసిన మీ ఉత్తమ ఫోటోలు</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -241,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">ముగింపుపాయింట్</translation>
 <translation id="3069085583900247081">పరీక్ష విఫలమైంది</translation>
-<translation id="3076243757415932261">భాగాలను వెరిఫై చేస్తోంది...</translation>
 <translation id="3083667275341675831">కనెక్టివిటీ సమస్య విశ్లేషణ</translation>
 <translation id="3084958266922136097">స్క్రీన్ సేవర్‌ను డిజేబుల్ చేయి</translation>
 <translation id="3091839911843451378">విఫలమైంది - ఆగిపోయింది</translation>
@@ -276,7 +276,6 @@
 <translation id="3369013195428705271">మీరు ఖచ్చితంగా ప్రింట్ చరిత్ర మొత్తాన్ని క్లియర్ చేయాలనుకుంటున్నారా? మీ కొనసాగుతున్న ప్రింట్ టాస్క్‌లు క్లియర్ చేయబడవు.</translation>
 <translation id="3383751554789092165">అవసరానికి తగినట్లు పరికర సమాచారాన్ని మార్చండి.</translation>
 <translation id="3404249063913988450">స్క్రీన్ సేవర్‌ను ఎనేబుల్ చేయి</translation>
-<translation id="3404770484521709967">భాగాలు సరిగ్గా ఇన్‌స్టాల్ చేయబడ్డాయి.</translation>
 <translation id="3413935475507503304">అప్‌డేట్ చేయడాన్ని కొనసాగించడానికి, 'తర్వాత'ను క్లిక్ చేయండి.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">భద్రత</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">పాత పాస్‌వర్డ్</translation>
 <translation id="4453205916657964690">సబ్‌నెట్ మాస్క్</translation>
 <translation id="4454245904991689773">స్కాన్ చేసి ఇక్కడ సేవ్ చేయండి</translation>
-<translation id="4472575034687746823">ప్రారంభించండి</translation>
 <translation id="4479639480957787382">ఈథర్నెట్</translation>
 <translation id="4483049906298469269">డిఫాల్ట్-యేతర నెట్‌వర్క్ గేట్‌వేను పింగ్ చేయడంలో విఫలమైంది</translation>
 <translation id="4500213108254186382">లిడ్ యాక్సిలెరోమీటర్</translation>
@@ -663,6 +661,7 @@
 <translation id="6611280807952151149"><ph name="DEVICE_TYPE" /> రిపేర్ నుండి నిష్క్రమించండి</translation>
 <translation id="6618744767048954150">రన్ అవుతున్నాయి</translation>
 <translation id="6620487321149975369">ప్రింట్ టాస్క్‌లను మాన్యువల్‌గా తీసివేసేంత వరకు అవి హిస్టరీలో అలాగే ఉంటాయి</translation>
+<translation id="6624819909909965616">10 MB కంటే పెద్ద ఫైల్‌ను అప్‌లోడ్ చేయడం సాధ్యం కాదు</translation>
 <translation id="6643016212128521049">క్లియర్ చేయండి</translation>
 <translation id="6644568396961840069">ఫైల్‌ను సేవ్ చేయడం సాధ్యపడదు. వేరే బాహ్య స్టోరేజ్‌లో ప్లగ్-ఇన్ చేయడానికి ట్రై చేయండి, లేదా తర్వాత మళ్లీ ట్రై చేయండి.</translation>
 <translation id="6647510110698214773">ఎన్‌క్రిప్షన్ అల్గారిథమ్</translation>
@@ -698,6 +697,7 @@
 <translation id="6965382102122355670">సరే</translation>
 <translation id="6977381486153291903">ఫర్మ్‌వేర్ పునర్విమర్శ</translation>
 <translation id="6995564396478647735">ఎడిటింగ్ అనుమతించని రక్షణ ఆన్‌లో ఉందని నిర్ధారించుకోండి</translation>
+<translation id="7005833343836210400">పరికరం ఆఫ్‌లైన్‌లో ఉంది</translation>
 <translation id="7028979494427204405"><ph name="MANAGER" /> ఈ పరికరాన్ని మేనేజ్ చేస్తుంది, అలాగే సందర్శించిన వెబ్ పేజీలు, పాస్‌వర్డ్‌లు, ఈమెయిళ్లతో సహా యూజర్ యాక్టివిటీకి యాక్సెస్‌ను కలిగి ఉంటుంది.</translation>
 <translation id="7040230719604914234">ఆపరేటర్</translation>
 <translation id="7041549558901442110">పరికరం కనెక్ట్ కాలేదు.</translation>
@@ -810,8 +810,8 @@
 <translation id="8063022551652308521">ఎడిటింగ్ అనుమతించని రక్షణ ఇంకా ఆఫ్‌లో ఉంది. కొనసాగించడానికి, ఎడిటింగ్ అనుమతించని రక్షణను ఆన్ చేయండి.</translation>
 <translation id="8075838845814659848">మిగిలిన ఛార్జ్</translation>
 <translation id="8082366717211101304">Android యాప్‌ల నుండి DNSను పరిష్కరించడం సాధ్యపడదు</translation>
-<translation id="8083281199617904460">ఈ రిపేర్ ప్రాసెస్ శిక్షణ పొందిన రిపేర్ టెక్నీషియన్ కోసం ఉద్దేశించబడింది. సరిగ్గా పని చేయని భాగాలను రీప్లేస్ చేసిన తర్వాత మాత్రమే ప్రారంభించండి.</translation>
 <translation id="808894953321890993">పాస్‌వర్డ్‌ను మార్చు</translation>
+<translation id="8094062939584182041">ఈ సమస్యకు గురించి మీకు ఈమెయిల్ చేయడానికి Googleకు అనుమతినివ్వండి</translation>
 <translation id="8104083085214006426">మీరు ఓపెన్, అసురక్షిత నెట్‌వర్క్‌ను ఉపయోగిస్తున్నారు</translation>
 <translation id="8109786307828817014">క్యాలిబ్రేట్ చేయడం విఫలం అయిన వాటితో కొనసాగమంటారా?</translation>
 <translation id="811820734797650957">(Android) గేట్‌వేను పింగ్ చేయవచ్చు</translation>
diff --git a/chromeos/strings/chromeos_strings_th.xtb b/chromeos/strings/chromeos_strings_th.xtb
index 88e56de..c02ed287 100644
--- a/chromeos/strings/chromeos_strings_th.xtb
+++ b/chromeos/strings/chromeos_strings_th.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">ประเภท</translation>
 <translation id="2461822463642141190">ปัจจุบัน</translation>
 <translation id="2480034874476596812">ปิดด้วยตัวเอง</translation>
+<translation id="248546197012830854">อุปกรณ์ออฟไลน์อยู่ เชื่อมต่อกับเครือข่าย Wi-Fi เพื่อดูเนื้อหาช่วยเหลือ</translation>
 <translation id="2491955442992294626">แป้นจะไม่ได้รับการทดสอบเมื่อใช้หน้าต่างอื่น</translation>
 <translation id="2493126929778606526">รูปภาพที่ดีที่สุดซึ่งเลือกสรรมาให้คุณโดยอัตโนมัติ</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -241,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">ปลายทาง</translation>
 <translation id="3069085583900247081">การทดสอบไม่สำเร็จ</translation>
-<translation id="3076243757415932261">กำลังตรวจสอบความถูกต้องของคอมโพเนนต์...</translation>
 <translation id="3083667275341675831">การวินิจฉัยการเชื่อมต่อ</translation>
 <translation id="3084958266922136097">ปิดใช้โปรแกรมรักษาหน้าจอ</translation>
 <translation id="3091839911843451378">ไม่สำเร็จ - หยุดทำงาน</translation>
@@ -276,7 +276,6 @@
 <translation id="3369013195428705271">คุณแน่ใจไหมว่าต้องการล้างประวัติการพิมพ์ทั้งหมด ทั้งนี้ ระบบจะไม่ล้างงานพิมพ์ที่กำลังดำเนินอยู่</translation>
 <translation id="3383751554789092165">เปลี่ยนข้อมูลอุปกรณ์ตามความจำเป็น</translation>
 <translation id="3404249063913988450">เปิดใช้โปรแกรมรักษาหน้าจอ</translation>
-<translation id="3404770484521709967">คอมโพเนนต์ติดตั้งอย่างถูกต้อง</translation>
 <translation id="3413935475507503304">คลิก "ถัดไป" เพื่อดำเนินการอัปเดตต่อ</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">ความปลอดภัย</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">รหัสผ่านเดิม</translation>
 <translation id="4453205916657964690">ซับเน็ตมาสก์</translation>
 <translation id="4454245904991689773">สแกนแล้วบันทึกไว้ใน</translation>
-<translation id="4472575034687746823">เริ่มต้น</translation>
 <translation id="4479639480957787382">อีเทอร์เน็ต</translation>
 <translation id="4483049906298469269">ใช้คำสั่ง ping กับเกตเวย์เครือข่ายที่ไม่ใช่ค่าเริ่มต้นไม่สำเร็จ</translation>
 <translation id="4500213108254186382">ตัวตรวจวัดความเร่งในส่วนฝา</translation>
@@ -664,6 +662,7 @@
 <translation id="6611280807952151149">ออกจากการซ่อม <ph name="DEVICE_TYPE" /></translation>
 <translation id="6618744767048954150">กำลังดำเนินการ</translation>
 <translation id="6620487321149975369">งานพิมพ์จะปรากฏในประวัติการพิมพ์ เว้นแต่จะมีผู้ใช้นำออกไปด้วยตนเอง</translation>
+<translation id="6624819909909965616">อัปโหลดไฟล์ที่ขนาดใหญ่กว่า 10 MB ไม่ได้</translation>
 <translation id="6643016212128521049">ล้าง</translation>
 <translation id="6644568396961840069">บันทึกไฟล์ไม่ได้ ลองเสียบที่จัดเก็บข้อมูลภายนอกอื่น หรือลองอีกครั้งในภายหลัง</translation>
 <translation id="6647510110698214773">อัลกอริทึมการเข้ารหัส</translation>
@@ -699,6 +698,7 @@
 <translation id="6965382102122355670">ตกลง</translation>
 <translation id="6977381486153291903">การแก้ไขเฟิร์มแวร์</translation>
 <translation id="6995564396478647735">ตรวจสอบว่า Write Protect เปิดอยู่</translation>
+<translation id="7005833343836210400">อุปกรณ์ออฟไลน์อยู่</translation>
 <translation id="7028979494427204405"><ph name="MANAGER" /> จัดการอุปกรณ์นี้และมีสิทธิ์เข้าถึงกิจกรรมทั้งหมดของผู้ใช้ ซึ่งรวมถึงหน้าเว็บที่เข้าชม รหัสผ่าน และอีเมล</translation>
 <translation id="7040230719604914234">โอเปอเรเตอร์</translation>
 <translation id="7041549558901442110">อุปกรณ์ไม่ได้เชื่อมต่ออยู่</translation>
@@ -811,8 +811,8 @@
 <translation id="8063022551652308521">Write Protect ยังปิดอยู่ โปรดเปิด Write Protect เพื่อดำเนินการต่อ</translation>
 <translation id="8075838845814659848">การชาร์จที่เหลือ</translation>
 <translation id="8082366717211101304">ไม่สามารถแปลง DNS จากแอป Android</translation>
-<translation id="8083281199617904460">ขั้นตอนการซ่อมนี้มีไว้สำหรับช่างซ่อมที่ผ่านการฝึกฝน โดยจะเริ่มหลังจากแทนที่คอมโพเนนต์ที่ทำงานผิดพลาดแล้วเท่านั้น</translation>
 <translation id="808894953321890993">เปลี่ยนรหัสผ่าน</translation>
+<translation id="8094062939584182041">อนุญาตให้ Google ส่งอีเมลถึงคุณเกี่ยวกับปัญหานี้</translation>
 <translation id="8104083085214006426">คุณกำลังใช้เครือข่ายแบบเปิดที่ไม่ปลอดภัย</translation>
 <translation id="8109786307828817014">ดำเนินการต่อแม้ว่าจะปรับเทียบไม่สำเร็จใช่ไหม</translation>
 <translation id="811820734797650957">(Android) ปิงเกตเวย์ได้</translation>
diff --git a/chromeos/strings/chromeos_strings_tr.xtb b/chromeos/strings/chromeos_strings_tr.xtb
index 4e862ea..6fba70c 100644
--- a/chromeos/strings/chromeos_strings_tr.xtb
+++ b/chromeos/strings/chromeos_strings_tr.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Uç nokta</translation>
 <translation id="3069085583900247081">Test başarısız oldu</translation>
-<translation id="3076243757415932261">Bileşenler doğrulanıyor...</translation>
 <translation id="3083667275341675831">Bağlantı Teşhisi</translation>
 <translation id="3084958266922136097">Ekran koruyucuyu devre dışı bırak</translation>
 <translation id="3091839911843451378">İşlem başarısız - Durdu</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Tüm yazdırma geçmişini temizlemek istediğinizden emin misiniz? Devam eden yazdırma işleriniz silinmez.</translation>
 <translation id="3383751554789092165">Cihaz bilgilerini gerektiği şekilde değiştirin.</translation>
 <translation id="3404249063913988450">Ekran koruyucuyu etkinleştir</translation>
-<translation id="3404770484521709967">Bileşenler doğru şekilde yüklendi.</translation>
 <translation id="3413935475507503304">Güncelleme işlemine devam etmek için İleri'yi tıklayın.</translation>
 <translation id="3434107140712555581">%<ph name="BATTERY_PERCENTAGE" /></translation>
 <translation id="3435738964857648380">Güvenlik</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Eski şifre</translation>
 <translation id="4453205916657964690">Alt ağ maskesi</translation>
 <translation id="4454245904991689773">Taramayı şuraya kaydet:</translation>
-<translation id="4472575034687746823">Başlayın</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Varsayılan olmayan ağ geçidi pinglenemedi</translation>
 <translation id="4500213108254186382">Kapaktaki İvme Ölçer</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Yazma koruması hâlâ devre dışı. Devam etmek için yazma korumasını etkinleştirin.</translation>
 <translation id="8075838845814659848">Kalan şarj seviyesi</translation>
 <translation id="8082366717211101304">Android uygulamalarından DNS çözümlenemiyor</translation>
-<translation id="8083281199617904460">Bu onarım işlemini eğitimli bir onarım teknisyeninin yapması gerekir. Sadece arızalı bileşenleri değiştirdikten sonra başlayın.</translation>
 <translation id="808894953321890993">Şifreyi değiştir</translation>
 <translation id="8104083085214006426">Açık ve güvenli olmayan bir ağ kullanıyorsunuz</translation>
 <translation id="8109786307828817014">Başarısız kalibrasyonlarla devam edilsin mi?</translation>
diff --git a/chromeos/strings/chromeos_strings_uk.xtb b/chromeos/strings/chromeos_strings_uk.xtb
index 2e2eb55..85489ea 100644
--- a/chromeos/strings/chromeos_strings_uk.xtb
+++ b/chromeos/strings/chromeos_strings_uk.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">ОНОВИТИ</translation>
 <translation id="3009958530611748826">Виберіть, у якій папці зберегти</translation>
 <translation id="3017079585324758401">Фон</translation>
+<translation id="302435934487327038">Встановлення завершено</translation>
 <translation id="3027578600144895987">Закрити камеру</translation>
 <translation id="3031560714565892478">Це відеокамера.</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> мА</translation>
 <translation id="3056720590588772262">Кінцева точка</translation>
 <translation id="3069085583900247081">Перевірку не пройдено</translation>
-<translation id="3076243757415932261">Перевірка компонентів…</translation>
 <translation id="3083667275341675831">Діагностика з'єднання</translation>
 <translation id="3084958266922136097">Деактивувати заставку</translation>
 <translation id="3091839911843451378">Не надруковано – друк зупинено</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">Видалити всю історію друку? Поточні завдання друку збережуться.</translation>
 <translation id="3383751554789092165">За потреби відредагуйте інформацію про пристрій.</translation>
 <translation id="3404249063913988450">Активувати заставку</translation>
-<translation id="3404770484521709967">Компоненти встановлено правильно.</translation>
 <translation id="3413935475507503304">Щоб оновити, натисніть "Далі".</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Безпека</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">Старий пароль</translation>
 <translation id="4453205916657964690">Маска підмережі</translation>
 <translation id="4454245904991689773">Зберегти зіскановані файли в</translation>
-<translation id="4472575034687746823">Початок роботи</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Не вдалося надіслати запит ping шлюзу мережі не за умовчанням</translation>
 <translation id="4500213108254186382">Акселерометр кришки</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">Виконується</translation>
 <translation id="6620487321149975369">Завдання друку відображатимуться в історії, доки ви не вилучите їх вручну</translation>
 <translation id="6643016212128521049">Очистити</translation>
+<translation id="6644568396961840069">Не вдалося зберегти файл. Підключіть інший зовнішній носій або спробуйте пізніше.</translation>
 <translation id="6647510110698214773">Алгоритм шифрування</translation>
 <translation id="6650062777702288430">Перемикач між розкладками кана й буквено-цифровою</translation>
 <translation id="6657585470893396449">Пароль</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">Захист від запису все ще вимкнено. Щоб продовжити, увімкніть цю функцію.</translation>
 <translation id="8075838845814659848">Рівень заряду</translation>
 <translation id="8082366717211101304">Не вдається перетворити DNS із додатків для Android</translation>
-<translation id="8083281199617904460">Ремонт має провести кваліфікований спеціаліст. Перш ніж почати ремонт, замініть несправні компоненти.</translation>
 <translation id="808894953321890993">Змінити пароль</translation>
 <translation id="8104083085214006426">Ви використовуєте відкриту та незахищену мережу</translation>
 <translation id="8109786307828817014">Продовжити з невдалим калібруванням?</translation>
diff --git a/chromeos/strings/chromeos_strings_ur.xtb b/chromeos/strings/chromeos_strings_ur.xtb
index 926e084..11d0b7d 100644
--- a/chromeos/strings/chromeos_strings_ur.xtb
+++ b/chromeos/strings/chromeos_strings_ur.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">قسم</translation>
 <translation id="2461822463642141190">حالیہ</translation>
 <translation id="2480034874476596812">دستی طور پر آف کریں</translation>
+<translation id="248546197012830854">‏آلہ آف لائن ہے۔ مدد کا مواد دیکھنے کے لیے Wi-Fi نیٹ ورک سے منسلک ہوں۔</translation>
 <translation id="2491955442992294626">آپ کے دوسری ونڈو کا استعمال کرنے کے دوران کلیدوں کی جانچ نہیں کی جاتی ہیں</translation>
 <translation id="2493126929778606526">آپ کی بہترین تصاویر، خودکار طور پر منتخب کی گئیں</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -241,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">اینڈ پوائنٹ</translation>
 <translation id="3069085583900247081">ٹیسٹ ناکام ہو گیا</translation>
-<translation id="3076243757415932261">اجزاء کی توثیق کی جا رہی ہے...</translation>
 <translation id="3083667275341675831">کنیکٹویٹی ڈائيگناسٹکس</translation>
 <translation id="3084958266922136097">اسکرین سیور غیر فعال کریں</translation>
 <translation id="3091839911843451378">ناکام ہو گیا - رک گیا</translation>
@@ -276,7 +276,6 @@
 <translation id="3369013195428705271">کیا آپ واقعی پرنٹ کی تمام سرگزشت کو صاف کرنا چاہتے ہیں؟ آپ کی جاری پرنٹ جابز کو صاف نہیں کیا جائے گا۔</translation>
 <translation id="3383751554789092165">ضرورت کے مطابق آلہ کی معلومات تبدیل کریں۔</translation>
 <translation id="3404249063913988450">اسکرین سیور فعال کریں</translation>
-<translation id="3404770484521709967">اجزاء صحیح طریقے سے انسٹال ہیں۔</translation>
 <translation id="3413935475507503304">اپ ڈیٹ کے ساتھ آگے بڑھنے کے لیے اگلے پر کلک کریں۔</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">سیکیورٹی</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">پرانا پاس ورڈ</translation>
 <translation id="4453205916657964690">سب نیٹ ماسک</translation>
 <translation id="4454245904991689773">اس میں اسکین کریں</translation>
-<translation id="4472575034687746823">شروع کریں</translation>
 <translation id="4479639480957787382">ایتھرنیٹ</translation>
 <translation id="4483049906298469269">غیر ڈیفالٹ نیٹ ورک گیٹ وے کو پنگ کرنے میں ناکام</translation>
 <translation id="4500213108254186382">لِڈ ایکسلیرومیٹر</translation>
@@ -663,6 +661,7 @@
 <translation id="6611280807952151149"><ph name="DEVICE_TYPE" /> مرمت سے باہر نکلیں</translation>
 <translation id="6618744767048954150">جاری ہے</translation>
 <translation id="6620487321149975369">پرنٹ جابز سرگزشت میں ظاہر ہوں گی جب تک کہ انہیں دستی طور پر ہٹا نہیں دیا جاتا</translation>
+<translation id="6624819909909965616">‏10‎ MB سے بڑی فائل اپ لوڈ نہیں کی جا سکتی</translation>
 <translation id="6643016212128521049">صاف کریں</translation>
 <translation id="6644568396961840069">فائل محفوظ نہیں ہو سکی۔ ایک مختلف بیرونی اسٹوریج میں پلگ ان کرنے کی کوشش کریں یا بعد میں دوبارہ کوشش کریں۔</translation>
 <translation id="6647510110698214773">مرموز کاری الگورتھم</translation>
@@ -698,6 +697,7 @@
 <translation id="6965382102122355670">ٹھیک ہے</translation>
 <translation id="6977381486153291903">فرم ویئر نظر ثانی</translation>
 <translation id="6995564396478647735">یقینی بنائیں کہ 'رائٹ پروٹیکٹ' آن ہے</translation>
+<translation id="7005833343836210400">آلہ آف لائن ہے</translation>
 <translation id="7028979494427204405"><ph name="MANAGER" /> اس آلے کا نظم کرتا ہے اور ملاحظہ کردہ ویب صفحات، پاس ورڈز اور ای میل سمیت صارف کی تمام سرگرمی تک رسائی حاصل کر سکتا ہے۔</translation>
 <translation id="7040230719604914234">آپریٹر</translation>
 <translation id="7041549558901442110">آلہ منسلک نہیں ہے۔</translation>
@@ -810,8 +810,8 @@
 <translation id="8063022551652308521">'رائٹ پروٹیکٹ' ابھی بھی آف ہے۔ آگے بڑھنے کے لیے، 'رائٹ پروٹیکٹ' کو آن کریں۔</translation>
 <translation id="8075838845814659848">باقی چارج</translation>
 <translation id="8082366717211101304">‏Android ایپس سے DNS کو حل نہیں کیا جا سکتا</translation>
-<translation id="8083281199617904460">مرمت کا یہ عمل تربیت یافتہ مرمت کے ٹیکنیشین کے لیے ہے۔ خرابی والے اجزاء کو تبدیل کرنے کے بعد ہی شروع کریں۔</translation>
 <translation id="808894953321890993">پاس ورڈ تبدیل کریں</translation>
+<translation id="8094062939584182041">‏Google کو اس مسئلے کے بارے میں آپ کو ای میل کرنے کی اجازت دیں</translation>
 <translation id="8104083085214006426">آپ ایک اوپن اور غیر محفوظ نیٹ ورک استعمال کر رہے ہیں</translation>
 <translation id="8109786307828817014">ناکام کیلیبریشنز کے ساتھ آگے بڑھیں؟</translation>
 <translation id="811820734797650957">‏(Android) گیٹ وے کو پنگ کیا جا سکتا ہے</translation>
diff --git a/chromeos/strings/chromeos_strings_uz.xtb b/chromeos/strings/chromeos_strings_uz.xtb
index 8c7815a0..3d40210f 100644
--- a/chromeos/strings/chromeos_strings_uz.xtb
+++ b/chromeos/strings/chromeos_strings_uz.xtb
@@ -197,6 +197,7 @@
 <translation id="2448312741937722512">Turi</translation>
 <translation id="2461822463642141190">Ayni vaqtda</translation>
 <translation id="2480034874476596812">Mustaqil faolsizlantirish</translation>
+<translation id="248546197012830854">Qurilma internetga ulanmagan. Yordam sahifasini ochish uchun Wi-Fi tarmoqqa ulaning.</translation>
 <translation id="2491955442992294626">Tugmalar sinovi boshqa oynalarda bajarilmaydi</translation>
 <translation id="2493126929778606526">Avtomatik tanlangan eng yaxshi rasmlaringiz</translation>
 <translation id="249323605434939166"><ph name="QUERY_TEXT" /> · <ph name="SOURCE_LANGUAGE_NAME" /></translation>
@@ -241,7 +242,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">Oxirgi nuqta</translation>
 <translation id="3069085583900247081">Tekshiruv bajarilmadi</translation>
-<translation id="3076243757415932261">Komponentlar tekshirilmoqda...</translation>
 <translation id="3083667275341675831">Aloqa diagnostikasi</translation>
 <translation id="3084958266922136097">Ekran lavhasini faolsizlantirish</translation>
 <translation id="3091839911843451378">Bajarilmadi - Toʻxtatildi</translation>
@@ -276,7 +276,6 @@
 <translation id="3369013195428705271">Chop etish tarixi tozalansinmi? Joriy chop etish vazifalari oʻchirib tashlanmaydi.</translation>
 <translation id="3383751554789092165">Talab etilgan qurilma axborotini oʻzgartiring</translation>
 <translation id="3404249063913988450">Ekran lavhasini faollashtirish</translation>
-<translation id="3404770484521709967">Komponentlar toʻgʻri oʻrnatilgan.</translation>
 <translation id="3413935475507503304">Yangilashda davom etish uchun Keyingisi tugmasini bosing</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Xavfsizlik</translation>
@@ -396,7 +395,6 @@
 <translation id="445059817448385655">Eski parol</translation>
 <translation id="4453205916657964690">Quyi tarmoq niqobi</translation>
 <translation id="4454245904991689773">Saqlash joyi</translation>
-<translation id="4472575034687746823">Boshlash</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Ikkilamchi tarmoq shlyuzi ping qilinmadi</translation>
 <translation id="4500213108254186382">Qurilma akselerometri</translation>
@@ -664,6 +662,7 @@
 <translation id="6611280807952151149"><ph name="DEVICE_TYPE" /> tuzatish ekranidan chiqish</translation>
 <translation id="6618744767048954150">Bajarilmoqda</translation>
 <translation id="6620487321149975369">Chop etish vazifalari mustaqil olib tashlanmagucha tarix sahifasida chiqadi</translation>
+<translation id="6624819909909965616">10MBdan katta hajmli fayllar yuklanmaydi</translation>
 <translation id="6643016212128521049">Tozalash</translation>
 <translation id="6644568396961840069">Fayl saqlanmadi. Boshqa tashqi xotira omborini ulang yoki keyinroq qayta urining.</translation>
 <translation id="6647510110698214773">Shifrlash algoritmi</translation>
@@ -699,6 +698,7 @@
 <translation id="6965382102122355670">OK</translation>
 <translation id="6977381486153291903">Mikrodastur versiyasi</translation>
 <translation id="6995564396478647735">Yozishdan himoya yoniqligini tekshiring</translation>
+<translation id="7005833343836210400">Qurilma ulanmagan</translation>
 <translation id="7028979494427204405">Bu qurilma va uning foydalanuvchilari harakatlari, ochilgan sahifalar, parollar va emaillar <ph name="MANAGER" /> domenida boshqariladi.</translation>
 <translation id="7040230719604914234">Operator</translation>
 <translation id="7041549558901442110">Qurilma ulanmagan.</translation>
@@ -811,8 +811,8 @@
 <translation id="8063022551652308521">Yozishdan himoya imkoni hali ham yoqilmagan. Davom etish uchun Yozishdan himoyani yoqing.</translation>
 <translation id="8075838845814659848">Batareya quvvati</translation>
 <translation id="8082366717211101304">Android ilovalardan DNS manzil olish imkonsiz</translation>
-<translation id="8083281199617904460">Bu tuzatish jarayoni malakali usta uchun moʻljallangan. Faqat xato ishlaydigan komponentlarni almashtirgandan keyin boshlang.</translation>
 <translation id="808894953321890993">Parolni almashtirish</translation>
+<translation id="8094062939584182041">Bu muammo yuzasidan Google email qaytarishiga ruxsat</translation>
 <translation id="8104083085214006426">Siz ochiq va himoyalanmagan tarmoqdan foydalanyapsiz</translation>
 <translation id="8109786307828817014">Kalibrlamay davom ettirilsinmi?</translation>
 <translation id="811820734797650957">(Android) Shlyuzni tekshirish mumkin</translation>
diff --git a/chromeos/strings/chromeos_strings_vi.xtb b/chromeos/strings/chromeos_strings_vi.xtb
index fa240c8..ebaa644 100644
--- a/chromeos/strings/chromeos_strings_vi.xtb
+++ b/chromeos/strings/chromeos_strings_vi.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">Điểm cuối</translation>
 <translation id="3069085583900247081">Không kiểm tra được</translation>
-<translation id="3076243757415932261">Đang xác thực các thành phần...</translation>
 <translation id="3083667275341675831">Chẩn đoán kết nối</translation>
 <translation id="3084958266922136097">Tắt trình bảo vệ màn hình</translation>
 <translation id="3091839911843451378">Không thành công – Đã dừng</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Bạn có chắc chắn muốn xóa toàn bộ lịch sử in không? Các lệnh in đang thực hiện sẽ không bị xóa.</translation>
 <translation id="3383751554789092165">Thay đổi thông tin thiết bị nếu cần.</translation>
 <translation id="3404249063913988450">Bật trình bảo vệ màn hình</translation>
-<translation id="3404770484521709967">Đã cài đặt các thành phần đúng cách.</translation>
 <translation id="3413935475507503304">Để tiếp tục cập nhật, hãy nhấp vào Tiếp theo.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Bảo mật</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Mật khẩu cũ</translation>
 <translation id="4453205916657964690">Mặt nạ mạng con</translation>
 <translation id="4454245904991689773">Lưu bản quét vào</translation>
-<translation id="4472575034687746823">Bắt đầu</translation>
 <translation id="4479639480957787382">Ethernet</translation>
 <translation id="4483049906298469269">Không ping được cổng của mạng không phải mạng mặc định</translation>
 <translation id="4500213108254186382">Gia tốc kế ở nắp</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">Tính năng Chống ghi vẫn đang tắt. Để tiếp tục, vui lòng bật tính năng Chống ghi.</translation>
 <translation id="8075838845814659848">Mức pin còn lại</translation>
 <translation id="8082366717211101304">Không thể phân giải DNS từ các ứng dụng Android</translation>
-<translation id="8083281199617904460">Đây là quy trình sửa chữa dành cho kỹ thuật viên đã qua đào tạo. Chỉ bắt đầu quy trình này sau khi đã thay thế các thành phần bị trục trặc.</translation>
 <translation id="808894953321890993">Đổi mật khẩu</translation>
 <translation id="8104083085214006426">Bạn đang dùng mạng mở và không an toàn</translation>
 <translation id="8109786307828817014">Tiếp tục kể cả khi có thành phần không hiệu chỉnh được?</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-CN.xtb b/chromeos/strings/chromeos_strings_zh-CN.xtb
index 1070b3b..55197cc 100644
--- a/chromeos/strings/chromeos_strings_zh-CN.xtb
+++ b/chromeos/strings/chromeos_strings_zh-CN.xtb
@@ -235,12 +235,12 @@
 <translation id="3008341117444806826">刷新</translation>
 <translation id="3009958530611748826">选择要保存到的文件夹</translation>
 <translation id="3017079585324758401">背景</translation>
+<translation id="302435934487327038">安装完毕</translation>
 <translation id="3027578600144895987">关闭摄像头</translation>
 <translation id="3031560714565892478">设备类型是摄像机。</translation>
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">端点</translation>
 <translation id="3069085583900247081">测试失败</translation>
-<translation id="3076243757415932261">正在验证组件…</translation>
 <translation id="3083667275341675831">网络连接诊断</translation>
 <translation id="3084958266922136097">停用屏保功能</translation>
 <translation id="3091839911843451378">失败 - 已停止</translation>
@@ -275,7 +275,6 @@
 <translation id="3369013195428705271">确定要清除所有打印记录吗?您正在执行的打印任务不会被清除。</translation>
 <translation id="3383751554789092165">酌情更改设备信息。</translation>
 <translation id="3404249063913988450">启用屏保功能</translation>
-<translation id="3404770484521709967">这些组件已正确安装。</translation>
 <translation id="3413935475507503304">若要继续更新,请点击“下一步”。</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">安全</translation>
@@ -395,7 +394,6 @@
 <translation id="445059817448385655">旧密码</translation>
 <translation id="4453205916657964690">子网掩码</translation>
 <translation id="4454245904991689773">将扫描的文件保存至</translation>
-<translation id="4472575034687746823">开始使用</translation>
 <translation id="4479639480957787382">以太网</translation>
 <translation id="4483049906298469269">未能对非默认网关执行 ping 操作</translation>
 <translation id="4500213108254186382">盖子加速度计</translation>
@@ -664,6 +662,7 @@
 <translation id="6618744767048954150">正在运行</translation>
 <translation id="6620487321149975369">打印任务如未被手动移除,将会显示在历史记录中,</translation>
 <translation id="6643016212128521049">清除</translation>
+<translation id="6644568396961840069">无法保存文件。请尝试插接一部不同的外部存储设备,或稍后重试。</translation>
 <translation id="6647510110698214773">加密算法</translation>
 <translation id="6650062777702288430">假名/字母数字切换</translation>
 <translation id="6657585470893396449">密码</translation>
@@ -809,7 +808,6 @@
 <translation id="8063022551652308521">写保护依然处于关闭状态。若要继续,请开启写保护。</translation>
 <translation id="8075838845814659848">剩余电量</translation>
 <translation id="8082366717211101304">无法从 Android 应用解析 DNS</translation>
-<translation id="8083281199617904460">此维修流程专供训练有素的维修技师执行。请仅在替换了出故障的组件后启动此流程。</translation>
 <translation id="808894953321890993">更改密码</translation>
 <translation id="8104083085214006426">您正在使用不安全的开放网络</translation>
 <translation id="8109786307828817014">继续处理未能成功校准的组件?</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-HK.xtb b/chromeos/strings/chromeos_strings_zh-HK.xtb
index aa0953e..77dae813 100644
--- a/chromeos/strings/chromeos_strings_zh-HK.xtb
+++ b/chromeos/strings/chromeos_strings_zh-HK.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">端點</translation>
 <translation id="3069085583900247081">未通過測試</translation>
-<translation id="3076243757415932261">正在驗證組件…</translation>
 <translation id="3083667275341675831">連接性診斷</translation>
 <translation id="3084958266922136097">停用螢幕保護程式</translation>
 <translation id="3091839911843451378">失敗 - 已停止</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">您確定要清除所有列印記錄嗎?系統不會清除進行中的列印工作。</translation>
 <translation id="3383751554789092165">按需要變更裝置資訊。</translation>
 <translation id="3404249063913988450">啟用螢幕保護程式</translation>
-<translation id="3404770484521709967">組件已正確安裝。</translation>
 <translation id="3413935475507503304">如要繼續進行更新,請按一下 [下一步]。</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">安全性</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">舊密碼</translation>
 <translation id="4453205916657964690">子網絡遮罩</translation>
 <translation id="4454245904991689773">掃瞄儲存位置</translation>
-<translation id="4472575034687746823">開始使用</translation>
 <translation id="4479639480957787382">以太網絡</translation>
 <translation id="4483049906298469269">無法連線偵測非預設的網絡閘道</translation>
 <translation id="4500213108254186382">上蓋加速計</translation>
@@ -665,7 +662,7 @@
 <translation id="6618744767048954150">正在執行</translation>
 <translation id="6620487321149975369">除非您手動移除列印工作,否則列印工作會顯示在記錄中</translation>
 <translation id="6643016212128521049">清除</translation>
-<translation id="6644568396961840069">無法儲存檔案,請接上其他外部儲存裝置,或稍後再試。</translation>
+<translation id="6644568396961840069">無法儲存檔案。請插入其他外部儲存空間,或稍後再試。</translation>
 <translation id="6647510110698214773">加密演算法</translation>
 <translation id="6650062777702288430">假名/英數字元切換</translation>
 <translation id="6657585470893396449">密碼</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">「寫入保護」功能仍然關閉。如要繼續,請開啟該功能。</translation>
 <translation id="8075838845814659848">剩餘電量</translation>
 <translation id="8082366717211101304">無法從 Android 應用程式解析 DNS</translation>
-<translation id="8083281199617904460">此維修程序應由經受訓練的維修技術員執行。需要先更換故障組件後才能開始維修。</translation>
 <translation id="808894953321890993">變更密碼</translation>
 <translation id="8104083085214006426">您正在使用開放且不安全的網絡</translation>
 <translation id="8109786307828817014">要使用無法校正的組件繼續操作嗎?</translation>
diff --git a/chromeos/strings/chromeos_strings_zh-TW.xtb b/chromeos/strings/chromeos_strings_zh-TW.xtb
index d92d2dd..14f1a5e4 100644
--- a/chromeos/strings/chromeos_strings_zh-TW.xtb
+++ b/chromeos/strings/chromeos_strings_zh-TW.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" /> mA</translation>
 <translation id="3056720590588772262">端點</translation>
 <translation id="3069085583900247081">未通過測試</translation>
-<translation id="3076243757415932261">正在驗證元件...</translation>
 <translation id="3083667275341675831">連線診斷工具</translation>
 <translation id="3084958266922136097">停用螢幕保護程式</translation>
 <translation id="3091839911843451378">失敗 - 已停止</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">確定要清除所有列印記錄嗎?系統不會清除進行中的列印工作。</translation>
 <translation id="3383751554789092165">視需要變更裝置資訊。</translation>
 <translation id="3404249063913988450">啟用螢幕保護程式</translation>
-<translation id="3404770484521709967">元件已正確安裝。</translation>
 <translation id="3413935475507503304">如要繼續執行更新作業,請按「下一步」</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">安全性</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">舊密碼</translation>
 <translation id="4453205916657964690">子網路遮罩</translation>
 <translation id="4454245904991689773">掃描檔案儲存位置</translation>
-<translation id="4472575034687746823">開始使用</translation>
 <translation id="4479639480957787382">乙太網路</translation>
 <translation id="4483049906298469269">無法連線偵測非預設的網路閘道</translation>
 <translation id="4500213108254186382">上蓋加速計</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">寫入保護功能仍處於關閉狀態。如要繼續,請開啟該功能。</translation>
 <translation id="8075838845814659848">剩餘電量</translation>
 <translation id="8082366717211101304">無法從 Android 應用程式解析 DNS</translation>
-<translation id="8083281199617904460">這項維修程序僅限受過訓練的維修技師執行。必須先更換故障元件後才能開始維修。</translation>
 <translation id="808894953321890993">變更密碼</translation>
 <translation id="8104083085214006426">你目前使用的是未受保護的開放式網路</translation>
 <translation id="8109786307828817014">要繼續使用無法校正的元件執行作業嗎?</translation>
diff --git a/chromeos/strings/chromeos_strings_zu.xtb b/chromeos/strings/chromeos_strings_zu.xtb
index a6fb2f2..53a7a16 100644
--- a/chromeos/strings/chromeos_strings_zu.xtb
+++ b/chromeos/strings/chromeos_strings_zu.xtb
@@ -241,7 +241,6 @@
 <translation id="3054177598518735801"><ph name="CURRENT_VALUE" />mA</translation>
 <translation id="3056720590588772262">Iphoyinti yokugcina</translation>
 <translation id="3069085583900247081">Ukuhlola akuphumelelanga</translation>
-<translation id="3076243757415932261">Ukuqinisekisa izingxenye...</translation>
 <translation id="3083667275341675831">Ukuxilongwa Kokuxhumana</translation>
 <translation id="3084958266922136097">Khubaza isilondolozi sesikrini</translation>
 <translation id="3091839911843451378">Yehlulekile - Imile</translation>
@@ -276,7 +275,6 @@
 <translation id="3369013195428705271">Uqinisekile ukuthi ufuna ukusula wonke umlando wokuphrinta? Imisebenzi yakho yokuphrinta eqhubekayo ngeke isulwe.</translation>
 <translation id="3383751554789092165">Shintsha ulwazi lwedivayisi njengoba kudingekile.</translation>
 <translation id="3404249063913988450">Nika amandla isilondolozi sesikrini</translation>
-<translation id="3404770484521709967">Izingxenye zifakwe ngendlela efanele.</translation>
 <translation id="3413935475507503304">Ukuze uqhubeke nesibuyekezo, chofoza u-Okulandelayo.</translation>
 <translation id="3434107140712555581"><ph name="BATTERY_PERCENTAGE" />%</translation>
 <translation id="3435738964857648380">Ukuvikela</translation>
@@ -396,7 +394,6 @@
 <translation id="445059817448385655">Iphasiwedi endala</translation>
 <translation id="4453205916657964690">Imaski ye-subnet</translation>
 <translation id="4454245904991689773">Skena ku-</translation>
-<translation id="4472575034687746823">Qalisa</translation>
 <translation id="4479639480957787382">I-Ethernet</translation>
 <translation id="4483049906298469269">Yehlulekile ukuqhweba umasango wenethiwekhi engeyona okuzenzakalelayo</translation>
 <translation id="4500213108254186382">I-Lid Accelerometer</translation>
@@ -811,7 +808,6 @@
 <translation id="8063022551652308521">I-Write Protect isavaliwe. Ukuze uqhubeke, vula i-Write Protect.</translation>
 <translation id="8075838845814659848">Inkokhelo esele</translation>
 <translation id="8082366717211101304">Ayikwazi ukuxazulula i-DNS kusukela kuma-app we-Android</translation>
-<translation id="8083281199617904460">Le nqubo yokulungisa ihloselwe uchwepheshe wokulungisa oqeqeshiwe. Qala kuphela ngemva kokushintsha izingxenye ezingasebenzi kahle.</translation>
 <translation id="808894953321890993">Shintsha iphasiwedi</translation>
 <translation id="8104083085214006426">Usebenzisa inethiwekhi evulekile nengaphephile</translation>
 <translation id="8109786307828817014">Qhubeka nokulinganisa okuhlulekile?</translation>
diff --git a/components/autofill/core/browser/BUILD.gn b/components/autofill/core/browser/BUILD.gn
index 784e76e..f57b25e 100644
--- a/components/autofill/core/browser/BUILD.gn
+++ b/components/autofill/core/browser/BUILD.gn
@@ -603,6 +603,7 @@
     "autofill_test_utils.h",
     "data_model/test_autofill_data_model.cc",
     "data_model/test_autofill_data_model.h",
+    "form_structure_test_api.cc",
     "form_structure_test_api.h",
     "geo/alternative_state_name_map_test_utils.cc",
     "geo/alternative_state_name_map_test_utils.h",
@@ -656,8 +657,6 @@
     "test_event_waiter.h",
     "test_form_data_importer.cc",
     "test_form_data_importer.h",
-    "test_form_structure.cc",
-    "test_form_structure.h",
     "test_inmemory_strike_database.cc",
     "test_inmemory_strike_database.h",
     "test_personal_data_manager.cc",
diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
index 60284cdd..de3a73b 100644
--- a/components/autofill/core/browser/autofill_manager.cc
+++ b/components/autofill/core/browser/autofill_manager.cc
@@ -166,14 +166,14 @@
 
 void AutofillManager::OnLanguageDetermined(
     const translate::LanguageDetectionDetails& details) {
-  if (!base::FeatureList::IsEnabled(features::kAutofillPageLanguageDetection)) {
+  if (!base::FeatureList::IsEnabled(features::kAutofillPageLanguageDetection))
     return;
-  }
   if (details.adopted_language == translate::kUnknownLanguageCode ||
       !driver_->IsInActiveFrame()) {
     return;
   }
 
+  NotifyObservers(&Observer::OnBeforeLanguageDetermined);
   LanguageCode lang(details.adopted_language);
   for (auto& [form_id, form_structure] : form_structures_)
     form_structure->set_current_page_language(lang);
@@ -183,6 +183,7 @@
       form_structure->DetermineHeuristicTypes(form_interactions_ukm_logger(),
                                               log_manager_);
     }
+    NotifyObservers(&Observer::OnAfterLanguageDetermined);
     return;
   }
 
@@ -212,6 +213,7 @@
       return;
     for (auto& [id, form_structure] : form_structures)
       self->form_structures_[id] = std::move(form_structure);
+    self->NotifyObservers(&Observer::OnAfterLanguageDetermined);
   };
 
   // Transfers the cached `form_structures_` to the worker task, which will
diff --git a/components/autofill/core/browser/autofill_manager.h b/components/autofill/core/browser/autofill_manager.h
index 55560f7..dce2d970 100644
--- a/components/autofill/core/browser/autofill_manager.h
+++ b/components/autofill/core/browser/autofill_manager.h
@@ -73,6 +73,9 @@
     virtual void OnAutofillManagerDestroyed() {}
     virtual void OnAutofillManagerReset() {}
 
+    virtual void OnBeforeLanguageDetermined() {}
+    virtual void OnAfterLanguageDetermined() {}
+
     virtual void OnBeforeFormsSeen() {}
     virtual void OnAfterFormsSeen() {}
 
diff --git a/components/autofill/core/browser/autofill_suggestion_generator_unittest.cc b/components/autofill/core/browser/autofill_suggestion_generator_unittest.cc
index 1301f44..b11eab33 100644
--- a/components/autofill/core/browser/autofill_suggestion_generator_unittest.cc
+++ b/components/autofill/core/browser/autofill_suggestion_generator_unittest.cc
@@ -14,8 +14,8 @@
 #include "components/autofill/core/browser/autofill_suggestion_generator.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
 #include "components/autofill/core/browser/data_model/credit_card.h"
+#include "components/autofill/core/browser/form_structure_test_api.h"
 #include "components/autofill/core/browser/test_autofill_client.h"
-#include "components/autofill/core/browser/test_form_structure.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
 #include "components/autofill/core/browser/webdata/autofill_webdata_service.h"
 #include "components/autofill/core/common/autofill_clock.h"
@@ -517,7 +517,7 @@
   // Create a complete form.
   FormData credit_card_form;
   test::CreateTestCreditCardFormData(&credit_card_form, true, false);
-  TestFormStructure form_structure(credit_card_form);
+  FormStructure form_structure(credit_card_form);
   form_structure.DetermineHeuristicTypes(nullptr, nullptr);
   // Clear the heuristic types, and instead set the appropriate server types.
   std::vector<ServerFieldType> heuristic_types, server_types;
@@ -525,7 +525,8 @@
     heuristic_types.push_back(UNKNOWN_TYPE);
     server_types.push_back(form_structure.field(i)->heuristic_type());
   }
-  form_structure.SetFieldTypes(heuristic_types, server_types);
+  FormStructureTestApi(&form_structure)
+      .SetFieldTypes(heuristic_types, server_types);
 
   // Create a server card.
   CreditCard server_card = test::GetMaskedServerCard();
diff --git a/components/autofill/core/browser/browser_autofill_manager_unittest.cc b/components/autofill/core/browser/browser_autofill_manager_unittest.cc
index 052acf1..b8a6d89a 100644
--- a/components/autofill/core/browser/browser_autofill_manager_unittest.cc
+++ b/components/autofill/core/browser/browser_autofill_manager_unittest.cc
@@ -40,6 +40,7 @@
 #include "components/autofill/core/browser/autofill_test_utils.h"
 #include "components/autofill/core/browser/data_model/autofill_profile.h"
 #include "components/autofill/core/browser/data_model/credit_card.h"
+#include "components/autofill/core/browser/form_structure_test_api.h"
 #include "components/autofill/core/browser/geo/alternative_state_name_map_test_utils.h"
 #include "components/autofill/core/browser/metrics/form_events/form_events.h"
 #include "components/autofill/core/browser/mock_autocomplete_history_manager.h"
@@ -56,7 +57,6 @@
 #include "components/autofill/core/browser/test_autofill_tick_clock.h"
 #include "components/autofill/core/browser/test_browser_autofill_manager.h"
 #include "components/autofill/core/browser/test_form_data_importer.h"
-#include "components/autofill/core/browser/test_form_structure.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
 #include "components/autofill/core/browser/ui/popup_item_ids.h"
 #include "components/autofill/core/browser/ui/suggestion.h"
@@ -5930,9 +5930,9 @@
   form.fields.push_back(field);
   // Simulate having seen this form on page load.
   // |form_structure_instance| will be owned by |browser_autofill_manager_|.
-  auto form_structure_instance = std::make_unique<TestFormStructure>(form);
+  auto form_structure_instance = std::make_unique<FormStructure>(form);
   // This pointer is valid as long as autofill manager lives.
-  TestFormStructure* form_structure = form_structure_instance.get();
+  FormStructure* form_structure = form_structure_instance.get();
   form_structure->DetermineHeuristicTypes(nullptr, nullptr);
   browser_autofill_manager_->AddSeenFormStructure(
       std::move(form_structure_instance));
@@ -5950,9 +5950,9 @@
   form2.fields.push_back(field);
   test::CreateTestFormField("Postal Code", "zipcode", "", "text", &field);
   form2.fields.push_back(field);
-  auto form_structure_instance2 = std::make_unique<TestFormStructure>(form2);
+  auto form_structure_instance2 = std::make_unique<FormStructure>(form2);
   // This pointer is valid as long as autofill manager lives.
-  TestFormStructure* form_structure2 = form_structure_instance2.get();
+  FormStructure* form_structure2 = form_structure_instance2.get();
   form_structure2->DetermineHeuristicTypes(nullptr, nullptr);
   browser_autofill_manager_->AddSeenFormStructure(
       std::move(form_structure_instance2));
@@ -6024,12 +6024,11 @@
 
   // Simulate having seen this form on page load.
   // |form_structure| will be owned by |browser_autofill_manager_|.
-  TestFormStructure* form_structure = new TestFormStructure(form);
+  auto form_structure = std::make_unique<FormStructure>(form);
   form_structure->DetermineHeuristicTypes(nullptr, nullptr);
   std::vector<FormSignature> signatures =
       test::GetEncodedSignatures(*form_structure);
-  browser_autofill_manager_->AddSeenFormStructure(
-      std::unique_ptr<TestFormStructure>(form_structure));
+  browser_autofill_manager_->AddSeenFormStructure(std::move(form_structure));
 
   AutofillQueryResponse response;
   auto* form_suggestion = response.add_form_suggestions();
@@ -6084,10 +6083,13 @@
 
   // Simulate having seen this form on page load.
   // |form_structure| will be owned by |browser_autofill_manager_|.
-  TestFormStructure* form_structure = new TestFormStructure(form);
-  form_structure->DetermineHeuristicTypes(nullptr, nullptr);
-  browser_autofill_manager_->AddSeenFormStructure(
-      std::unique_ptr<TestFormStructure>(form_structure));
+  FormStructure* form_structure = [&] {
+    auto form_structure = std::make_unique<FormStructure>(form);
+    FormStructure* ptr = form_structure.get();
+    form_structure->DetermineHeuristicTypes(nullptr, nullptr);
+    browser_autofill_manager_->AddSeenFormStructure(std::move(form_structure));
+    return ptr;
+  }();
 
   AutofillQueryResponse response;
   auto* form_suggestion = response.add_form_suggestions();
@@ -6158,7 +6160,7 @@
 
   // Simulate having seen this form on page load.
   // |form_structure| will be owned by |browser_autofill_manager_|.
-  TestFormStructure* form_structure = new TestFormStructure(form);
+  auto form_structure = std::make_unique<FormStructure>(form);
   form_structure->DetermineHeuristicTypes(nullptr, nullptr);
 
   // Clear the heuristic types, and instead set the appropriate server types.
@@ -6167,9 +6169,9 @@
     heuristic_types.push_back(UNKNOWN_TYPE);
     server_types.push_back(form_structure->field(i)->heuristic_type());
   }
-  form_structure->SetFieldTypes(heuristic_types, server_types);
-  browser_autofill_manager_->AddSeenFormStructure(
-      std::unique_ptr<TestFormStructure>(form_structure));
+  FormStructureTestApi(form_structure.get())
+      .SetFieldTypes(heuristic_types, server_types);
+  browser_autofill_manager_->AddSeenFormStructure(std::move(form_structure));
 
   // Fill the form.
   const char guid[] = "00000000-0000-0000-0000-000000000001";
@@ -8141,7 +8143,7 @@
   test::CreateTestFormField("Field 3", "field3", "", "text", &field);
   form.fields.push_back(field);
 
-  auto form_structure = std::make_unique<TestFormStructure>(form);
+  auto form_structure = std::make_unique<FormStructure>(form);
   form_structure->DetermineHeuristicTypes(nullptr, nullptr);
   // Make sure the form can not be autofilled now.
   ASSERT_EQ(0u, form_structure->autofill_count());
@@ -8154,7 +8156,8 @@
                                                      UNKNOWN_TYPE);
   const std::vector<ServerFieldType> server_types{NAME_FIRST, NAME_MIDDLE,
                                                   NAME_LAST};
-  form_structure->SetFieldTypes(heuristic_types, server_types);
+  FormStructureTestApi(form_structure.get())
+      .SetFieldTypes(heuristic_types, server_types);
   browser_autofill_manager_->AddSeenFormStructure(std::move(form_structure));
 
   // Make sure the form can be autofilled.
@@ -9232,9 +9235,10 @@
     }
   }
   // Override the types and simulate seeing the form on page load.
-  auto form_structure = std::make_unique<TestFormStructure>(form);
+  auto form_structure = std::make_unique<FormStructure>(form);
   form_structure->DetermineHeuristicTypes(nullptr, nullptr);
-  form_structure->SetFieldTypes(heuristic_types, server_types);
+  FormStructureTestApi(form_structure.get())
+      .SetFieldTypes(heuristic_types, server_types);
   browser_autofill_manager_->AddSeenFormStructure(std::move(form_structure));
 
   // Submit the form and verify that all metrics are collected correctly.
diff --git a/components/autofill/core/browser/form_structure.cc b/components/autofill/core/browser/form_structure.cc
index 1adb32ad..617868d8 100644
--- a/components/autofill/core/browser/form_structure.cc
+++ b/components/autofill/core/browser/form_structure.cc
@@ -1921,9 +1921,8 @@
 void FormStructure::RationalizeFieldTypePredictions(LogManager* log_manager) {
   RationalizeCreditCardFieldPredictions(log_manager);
   RationalizeStreetAddressAndAddressLine(log_manager);
-  for (const auto& field : fields_) {
+  for (const auto& field : fields_)
     field->SetTypeTo(field->Type());
-  }
   RationalizeTypeRelationships(log_manager);
 }
 
diff --git a/components/autofill/core/browser/test_form_structure.cc b/components/autofill/core/browser/form_structure_test_api.cc
similarity index 65%
rename from components/autofill/core/browser/test_form_structure.cc
rename to components/autofill/core/browser/form_structure_test_api.cc
index cbf12d6..a1a1b79a 100644
--- a/components/autofill/core/browser/test_form_structure.cc
+++ b/components/autofill/core/browser/form_structure_test_api.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 "components/autofill/core/browser/test_form_structure.h"
+#include "components/autofill/core/browser/form_structure_test_api.h"
 
 #include "components/autofill/core/browser/form_parsing/field_candidates.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -15,39 +15,19 @@
 using ::testing::Each;
 using ::testing::Pair;
 
-TestFormStructure::TestFormStructure(const FormData& form)
-    : FormStructure(form) {}
-
-TestFormStructure::~TestFormStructure() {}
-
-void TestFormStructure::SetFieldTypes(
-    const std::vector<ServerFieldType>& heuristic_types,
-    const std::vector<ServerFieldType>& server_types) {
-  std::vector<std::vector<std::pair<PatternSource, ServerFieldType>>>
-      all_heuristic_types;
-
-  base::ranges::transform(
-      heuristic_types, std::back_inserter(all_heuristic_types),
-      [](ServerFieldType type)
-          -> std::vector<std::pair<PatternSource, ServerFieldType>> {
-        return {{GetActivePatternSource(), type}};
-      });
-
-  SetFieldTypes(all_heuristic_types, server_types);
-}
-
-void TestFormStructure::SetFieldTypes(
+// static
+void FormStructureTestApi::SetFieldTypes(
     const std::vector<std::vector<std::pair<PatternSource, ServerFieldType>>>&
         heuristic_types,
     const std::vector<ServerFieldType>& server_types) {
-  ASSERT_EQ(field_count(), heuristic_types.size());
-  ASSERT_EQ(field_count(), server_types.size());
+  ASSERT_EQ(form_structure_->field_count(), heuristic_types.size());
+  ASSERT_EQ(form_structure_->field_count(), server_types.size());
   ASSERT_THAT(heuristic_types,
               Each(Contains(Pair(GetActivePatternSource(), _))))
       << "There must be a default heuristic prediction for every field.";
 
-  for (size_t i = 0; i < field_count(); ++i) {
-    AutofillField* form_field = field(i);
+  for (size_t i = 0; i < form_structure_->field_count(); ++i) {
+    AutofillField* form_field = form_structure_->field(i);
     ASSERT_TRUE(form_field);
 
     for (const auto& [source, type] : heuristic_types[i])
@@ -58,7 +38,17 @@
     form_field->set_server_predictions({prediction});
   }
 
-  UpdateAutofillCount();
+  form_structure_->UpdateAutofillCount();
+}
+
+void FormStructureTestApi::SetFieldTypes(
+    const std::vector<ServerFieldType>& heuristic_types,
+    const std::vector<ServerFieldType>& server_types) {
+  std::vector<std::vector<std::pair<PatternSource, ServerFieldType>>>
+      all_heuristic_types;
+  for (ServerFieldType type : heuristic_types)
+    all_heuristic_types.push_back({{GetActivePatternSource(), type}});
+  SetFieldTypes(all_heuristic_types, server_types);
 }
 
 }  // namespace autofill
diff --git a/components/autofill/core/browser/form_structure_test_api.h b/components/autofill/core/browser/form_structure_test_api.h
index 0889427..d582651f 100644
--- a/components/autofill/core/browser/form_structure_test_api.h
+++ b/components/autofill/core/browser/form_structure_test_api.h
@@ -42,6 +42,22 @@
     DCHECK(form_structure_);
   }
 
+  // Set the heuristic and server types for each field. The `heuristic_types`
+  // and `server_types` vectors must be aligned with the indices of the fields
+  // in the form. For each field in `heuristic_types` there must be exactly one
+  // `GetActivePatternSource()` prediction and any number of alternative
+  // predictions.
+  void SetFieldTypes(
+      const std::vector<std::vector<std::pair<PatternSource, ServerFieldType>>>&
+          heuristic_types,
+      const std::vector<ServerFieldType>& server_types);
+
+  // Set the heuristic and server types for each field. The `heuristic_types`
+  // and `server_types` vectors must be aligned with the indices of the fields
+  // in the form.
+  void SetFieldTypes(const std::vector<ServerFieldType>& heuristic_types,
+                     const std::vector<ServerFieldType>& server_types);
+
   const std::vector<std::unique_ptr<AutofillField>>& fields() {
     return form_structure_->fields_;
   }
diff --git a/components/autofill/core/browser/merchant_promo_code_manager_unittest.cc b/components/autofill/core/browser/merchant_promo_code_manager_unittest.cc
index 6d78a2f..d433dbb 100644
--- a/components/autofill/core/browser/merchant_promo_code_manager_unittest.cc
+++ b/components/autofill/core/browser/merchant_promo_code_manager_unittest.cc
@@ -6,9 +6,9 @@
 #include "base/test/metrics/histogram_tester.h"
 #include "base/test/scoped_feature_list.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
+#include "components/autofill/core/browser/form_structure.h"
 #include "components/autofill/core/browser/metrics/payments/offers_metrics.h"
 #include "components/autofill/core/browser/suggestions_context.h"
-#include "components/autofill/core/browser/test_form_structure.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
 #include "components/autofill/core/common/autofill_payments_features.h"
 #include "components/autofill/core/common/form_data.h"
@@ -89,7 +89,7 @@
   FormData form_data;
   form_data.main_frame_origin =
       url::Origin::Create(GURL(last_committed_origin_url));
-  TestFormStructure form_structure{form_data};
+  FormStructure form_structure{form_data};
   SuggestionsContext context;
   context.form_structure = &form_structure;
   std::string promo_code = SetUpPromoCodeOffer(
@@ -164,7 +164,7 @@
   FormData form_data;
   form_data.main_frame_origin =
       url::Origin::Create(GURL(last_committed_origin_url));
-  TestFormStructure form_structure{form_data};
+  FormStructure form_structure{form_data};
   SuggestionsContext context;
   context.form_structure = &form_structure;
   merchant_promo_code_manager_->is_off_the_record_ = true;
@@ -207,7 +207,7 @@
   FormData form_data;
   form_data.main_frame_origin =
       url::Origin::Create(GURL(last_committed_origin_url));
-  TestFormStructure form_structure{form_data};
+  FormStructure form_structure{form_data};
   SuggestionsContext context;
   context.form_structure = &form_structure;
   merchant_promo_code_manager_->personal_data_manager_ = nullptr;
@@ -250,7 +250,7 @@
   FormData form_data;
   form_data.main_frame_origin =
       url::Origin::Create(GURL(last_committed_origin_url));
-  TestFormStructure form_structure{form_data};
+  FormStructure form_structure{form_data};
   SuggestionsContext context;
   context.form_structure = &form_structure;
 
@@ -297,7 +297,7 @@
   FormData form_data;
   form_data.main_frame_origin =
       url::Origin::Create(GURL(last_committed_origin_url));
-  TestFormStructure form_structure{form_data};
+  FormStructure form_structure{form_data};
   SuggestionsContext context;
   context.form_structure = &form_structure;
   SetUpPromoCodeOffer(last_committed_origin_url,
@@ -363,7 +363,7 @@
   FormData form_data;
   form_data.main_frame_origin =
       url::Origin::Create(GURL(last_committed_origin_url));
-  TestFormStructure form_structure{form_data};
+  FormStructure form_structure{form_data};
   SuggestionsContext context;
   context.form_structure = &form_structure;
   SetUpPromoCodeOffer(last_committed_origin_url,
diff --git a/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc b/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc
index d4e0825..6a24632 100644
--- a/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc
+++ b/components/autofill/core/browser/metrics/autofill_metrics_unittest.cc
@@ -35,6 +35,7 @@
 #include "components/autofill/core/browser/autofill_test_utils.h"
 #include "components/autofill/core/browser/data_model/credit_card.h"
 #include "components/autofill/core/browser/field_types.h"
+#include "components/autofill/core/browser/form_structure_test_api.h"
 #include "components/autofill/core/browser/metrics/autofill_metrics_test_base.h"
 #include "components/autofill/core/browser/metrics/form_events/address_form_event_logger.h"
 #include "components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.h"
@@ -50,7 +51,6 @@
 #include "components/autofill/core/browser/test_autofill_tick_clock.h"
 #include "components/autofill/core/browser/test_browser_autofill_manager.h"
 #include "components/autofill/core/browser/test_form_data_importer.h"
-#include "components/autofill/core/browser/test_form_structure.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
 #include "components/autofill/core/browser/ui/popup_item_ids.h"
 #include "components/autofill/core/browser/ui/popup_types.h"
@@ -2783,9 +2783,9 @@
   field.autocomplete_attribute = "";
   form.fields.push_back(field);
 
-  std::unique_ptr<TestFormStructure> form_structure =
-      std::make_unique<TestFormStructure>(form);
-  TestFormStructure* form_structure_ptr = form_structure.get();
+  std::unique_ptr<FormStructure> form_structure =
+      std::make_unique<FormStructure>(form);
+  FormStructure* form_structure_ptr = form_structure.get();
   form_structure->DetermineHeuristicTypes(nullptr, nullptr);
   ASSERT_TRUE(
       autofill_manager()
diff --git a/components/autofill/core/browser/payments/credit_card_save_manager_unittest.cc b/components/autofill/core/browser/payments/credit_card_save_manager_unittest.cc
index 86b87de..93bb8bf 100644
--- a/components/autofill/core/browser/payments/credit_card_save_manager_unittest.cc
+++ b/components/autofill/core/browser/payments/credit_card_save_manager_unittest.cc
@@ -998,7 +998,8 @@
   CreateTestCreditCardFormData(&credit_card_form,
                                CreditCardFormOptions().with_split_names(true));
   // Use the two same forms for FormsSeen to mock the dynamic change forms.
-  FormsSeen(std::vector<FormData>(2, credit_card_form));
+  FormsSeen({credit_card_form});
+  FormsSeen({credit_card_form});
 
   // Edit the data, and submit.
   credit_card_form.fields[0].value = u"Jane";
@@ -1030,7 +1031,8 @@
   CreateTestCreditCardFormData(&credit_card_form,
                                CreditCardFormOptions().with_split_names(true));
   // Use the two same forms for FormsSeen to mock the dynamic change forms.
-  FormsSeen(std::vector<FormData>(2, credit_card_form));
+  FormsSeen({credit_card_form});
+  FormsSeen({credit_card_form});
 
   // Edit the data, and submit.
   credit_card_form.fields[0].value = u"Jane";
@@ -1072,7 +1074,8 @@
   CreateTestCreditCardFormData(&credit_card_form,
                                CreditCardFormOptions().with_split_names(true));
   // Use the two same forms for FormsSeen to mock the dynamic change forms.
-  FormsSeen(std::vector<FormData>(2, credit_card_form));
+  FormsSeen({credit_card_form});
+  FormsSeen({credit_card_form});
 
   // Edit the data, and submit.
   credit_card_form.fields[0].value = u"Jane";
@@ -1110,7 +1113,8 @@
   CreateTestCreditCardFormData(&credit_card_form,
                                CreditCardFormOptions().with_split_names(true));
   // Use the two same forms for FormsSeen to mock the dynamic change forms.
-  FormsSeen(std::vector<FormData>(2, credit_card_form));
+  FormsSeen({credit_card_form});
+  FormsSeen({credit_card_form});
 
   // Edit the data, and submit.
   credit_card_form.fields[0].value = u"Jane";
diff --git a/components/autofill/core/browser/personal_data_manager_unittest.cc b/components/autofill/core/browser/personal_data_manager_unittest.cc
index e1beddd5..09c59ba 100644
--- a/components/autofill/core/browser/personal_data_manager_unittest.cc
+++ b/components/autofill/core/browser/personal_data_manager_unittest.cc
@@ -3191,8 +3191,8 @@
   ASSERT_EQ(0U, card_to_suggest.size());
 }
 
-// Test that local profiles are not added if |kAutofillProfileEnabled| is set to
-// |false|.
+// Test that local credit cards are not added if |kAutofillCreditCardEnabled| is
+// set to |false|.
 TEST_F(PersonalDataManagerTest,
        GetCreditCardsToSuggest_NoCreditCardsAddedIfDisabled) {
   // Disable Profile autofill.
@@ -3206,7 +3206,7 @@
                           "1");
   personal_data_->AddCreditCard(credit_card);
 
-  // Expect no profile values or suggestions were added.
+  // Expect no credit card values or suggestions were added.
   EXPECT_EQ(0U, personal_data_->GetCreditCards().size());
 }
 
diff --git a/components/autofill/core/browser/single_field_form_fill_router_unittest.cc b/components/autofill/core/browser/single_field_form_fill_router_unittest.cc
index 618d6e44..9bde5855 100644
--- a/components/autofill/core/browser/single_field_form_fill_router_unittest.cc
+++ b/components/autofill/core/browser/single_field_form_fill_router_unittest.cc
@@ -6,10 +6,10 @@
 #include "base/test/scoped_feature_list.h"
 #include "base/test/task_environment.h"
 #include "components/autofill/core/browser/autofill_test_utils.h"
+#include "components/autofill/core/browser/form_structure.h"
 #include "components/autofill/core/browser/mock_autocomplete_history_manager.h"
 #include "components/autofill/core/browser/mock_merchant_promo_code_manager.h"
 #include "components/autofill/core/browser/suggestions_context.h"
-#include "components/autofill/core/browser/test_form_structure.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
 #include "components/autofill/core/browser/webdata/mock_autofill_webdata_service.h"
 #include "components/autofill/core/common/autofill_features.h"
@@ -120,7 +120,7 @@
 #endif  // !BUILDFLAG(IS_IOS)
 
   form_data.fields = fields;
-  TestFormStructure form_structure{form_data};
+  FormStructure form_structure{form_data};
 
   // Set the first |number_of_fields_for_testing| fields to be autocomplete
   // fields.
diff --git a/components/autofill/core/browser/test_browser_autofill_manager.cc b/components/autofill/core/browser/test_browser_autofill_manager.cc
index da912c1..0b84174 100644
--- a/components/autofill/core/browser/test_browser_autofill_manager.cc
+++ b/components/autofill/core/browser/test_browser_autofill_manager.cc
@@ -11,8 +11,8 @@
 #include "components/autofill/core/browser/mock_single_field_form_fill_router.h"
 #include "components/autofill/core/browser/test_autofill_client.h"
 #include "components/autofill/core/browser/test_autofill_driver.h"
-#include "components/autofill/core/browser/test_form_structure.h"
 #include "components/autofill/core/browser/test_personal_data_manager.h"
+#include "form_structure_test_api.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
@@ -134,10 +134,10 @@
     field.value = std::u16string();
   }
 
-  std::unique_ptr<TestFormStructure> form_structure =
-      std::make_unique<TestFormStructure>(
-          preserve_values_in_form_structure ? form : form_with_empty_fields);
-  form_structure->SetFieldTypes(heuristic_types, server_types);
+  auto form_structure = std::make_unique<FormStructure>(
+      preserve_values_in_form_structure ? form : form_with_empty_fields);
+  FormStructureTestApi(form_structure.get())
+      .SetFieldTypes(heuristic_types, server_types);
   form_structure->identify_sections_for_testing();
   AddSeenFormStructure(std::move(form_structure));
 
diff --git a/components/autofill/core/browser/test_event_waiter.h b/components/autofill/core/browser/test_event_waiter.h
index b3d4ded43..b9e228a 100644
--- a/components/autofill/core/browser/test_event_waiter.h
+++ b/components/autofill/core/browser/test_event_waiter.h
@@ -11,7 +11,6 @@
 #include "base/run_loop.h"
 #include "base/threading/thread_task_runner_handle.h"
 #include "base/time/time.h"
-#include "testing/gtest/include/gtest/gtest.h"
 
 namespace autofill {
 
diff --git a/components/autofill/core/browser/test_form_structure.h b/components/autofill/core/browser/test_form_structure.h
deleted file mode 100644
index b4fd025..0000000
--- a/components/autofill/core/browser/test_form_structure.h
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_FORM_STRUCTURE_H_
-#define COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_FORM_STRUCTURE_H_
-
-#include <vector>
-
-#include "components/autofill/core/browser/form_parsing/field_candidates.h"
-#include "components/autofill/core/browser/form_structure.h"
-
-namespace autofill {
-
-class TestFormStructure : public FormStructure {
- public:
-  explicit TestFormStructure(const FormData& form);
-
-  TestFormStructure(const TestFormStructure&) = delete;
-  TestFormStructure& operator=(const TestFormStructure&) = delete;
-
-  ~TestFormStructure() override;
-
-  // Set the heuristic and server types for each field. The `heuristic_types`
-  // and `server_types` vectors must be aligned with the indices of the fields
-  // in the form.
-  void SetFieldTypes(const std::vector<ServerFieldType>& heuristic_types,
-                     const std::vector<ServerFieldType>& server_types);
-
-  // Set the heuristic and server types for each field. The `heuristic_types`
-  // and `server_types` vectors must be aligned with the indices of the fields
-  // in the form. For each field in `heuristic_types` there must be exactly one
-  // `GetActivePatternSource()` prediction and any number of alternative
-  // predictions.
-  void SetFieldTypes(
-      const std::vector<std::vector<std::pair<PatternSource, ServerFieldType>>>&
-          heuristic_types,
-      const std::vector<ServerFieldType>& server_types);
-};
-
-}  // namespace autofill
-
-#endif  // COMPONENTS_AUTOFILL_CORE_BROWSER_TEST_FORM_STRUCTURE_H_
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_am.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_am.xtb
index bfe07c7..b66a914 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_am.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_am.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">ቪዲዮ ላይ ድምጸ-ከል አድርግ</translation>
 <translation id="3596414637720633074">ማንነትን በማያሳውቅ ሁነታ ሦስተኛ ወገን ኩኪዎች ያግዱ</translation>
 <translation id="3600792891314830896">ድምጽን በሚያጫውቱ ጣቢያዎች ላይ ድምጸ-ከል አድርግ</translation>
+<translation id="3628308229821498208">የተጠቆሙ ፍለጋዎች</translation>
 <translation id="3744111561329211289">የዳራ ስምረት</translation>
 <translation id="3763247130972274048">10 ሴ ለመዝለል ቪዲዮ ወደ ግራ ወይም ቀኝ ላይ ሁለቴ መታ ያድርጉ</translation>
 <translation id="3797520601150691162">ለተወሰነ ጣቢያ ጨለማ ገጽታ አትጠቀም</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">የሦስተኛ ወገን ኩኪዎችን አግድ</translation>
 <translation id="6216432067784365534">የ<ph name="NAME_OF_LIST_ITEM" /> አማራጮች</translation>
 <translation id="6231752747840485235">«<ph name="APP_NAME" />» ይራገፍ?</translation>
+<translation id="6262191102408817757">በእርስዎ የመጨረሻ ትር ላይ በመመስረት</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> እና <ph name="PERMISSION_2" /> ታግደዋል</translation>
 <translation id="6270391203985052864">ጣቢያዎች ማሳወቂያዎችን ለመላክ መጠየቅ ይችላሉ</translation>
 <translation id="6295158916970320988">ሁሉም ጣቢያዎች</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ar.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ar.xtb
index e542956..eee7b437 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ar.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ar.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">كتم صوت الفيديو</translation>
 <translation id="3596414637720633074">حظر ملفات تعريف الارتباط التابعة لجهات خارجية في وضع التصفّح المتخفي</translation>
 <translation id="3600792891314830896">كتم صوت المواقع الإلكترونية التي تشغّل الصوت</translation>
+<translation id="3628308229821498208">عمليات البحث المُقترَحة</translation>
 <translation id="3744111561329211289">المزامنة في الخلفية</translation>
 <translation id="3763247130972274048">يُرجى النقر بشكل مزدوج على الفيديو يمينًا أو يسارًا لتخطّي 10 ثوانٍ.</translation>
 <translation id="3797520601150691162">عدم تطبيق "المظهر الداكن" على موقع إلكتروني معيَّن</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">حظر ملفات تعريف الارتباط للجهات الخارجية</translation>
 <translation id="6216432067784365534">خيارات <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">هل تريد إلغاء تثبيت "<ph name="APP_NAME" />"؟</translation>
+<translation id="6262191102408817757">استنادًا إلى علامة التبويب الأخيرة</translation>
 <translation id="6262279340360821358">تم حظر <ph name="PERMISSION_1" /> و<ph name="PERMISSION_2" />.</translation>
 <translation id="6270391203985052864">السماح للمواقع الإلكترونية بطلب إرسال إشعارات</translation>
 <translation id="6295158916970320988">جميع المواقع الإلكترونية</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_az.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_az.xtb
index 0fadcc5c..656b7473 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_az.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_az.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Videonu səssiz rejimə keçirin</translation>
 <translation id="3596414637720633074">Anonim rejimdə üçüncü tərəf kukilərini bloklayın</translation>
 <translation id="3600792891314830896">Səs oxudan saytları səssiz rejimə keçirin</translation>
+<translation id="3628308229821498208">Təklif edilən axtarışlar</translation>
 <translation id="3744111561329211289">Arxa fon sinx</translation>
 <translation id="3763247130972274048">10 saniyə keçmək üçün videonun sol və ya sağına iki dəfə toxunun</translation>
 <translation id="3797520601150691162">Müəyyən sayta tünd tema tətbiq etməyin</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Üçüncü tərəf kukiləri blok edin</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> Seçimləri</translation>
 <translation id="6231752747840485235">"<ph name="APP_NAME" />" sistemdən silinsin?</translation>
+<translation id="6262191102408817757">Son tabınıza əsasən</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> və <ph name="PERMISSION_2" /> bloklanıb</translation>
 <translation id="6270391203985052864">Saytlar bildiriş göndərilməsini tələb edə bilər</translation>
 <translation id="6295158916970320988">Bütün saytlar</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_be.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_be.xtb
index f12f4ec..a8d3e8e 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_be.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_be.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Выключыць гук відэа</translation>
 <translation id="3596414637720633074">Блакіраваць староннія файлы cookie у рэжыме інкогніта</translation>
 <translation id="3600792891314830896">Выключыць гук на сайтах, якія прайграюць гукі</translation>
+<translation id="3628308229821498208">Прапанаваныя пошукавыя запыты</translation>
 <translation id="3744111561329211289">Фонавая сінхранізацыя</translation>
 <translation id="3763247130972274048">Каб пераматаць відэа на 10 с назад або наперад, двойчы націсніце на яго з правага або левага боку</translation>
 <translation id="3797520601150691162">Не прымяняць цёмную тэму да канкрэтнага сайта</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Блакіраваць староннія файлы cookie</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" />: параметры</translation>
 <translation id="6231752747840485235">Выдаліць "<ph name="APP_NAME" />"?</translation>
+<translation id="6262191102408817757">На падставе даных вашай апошняй укладкі</translation>
 <translation id="6262279340360821358">Заблакіравана: <ph name="PERMISSION_1" /> і <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Сайтам дазволена запытваць дазвол на паказ апавяшчэнняў</translation>
 <translation id="6295158916970320988">Усе сайты</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_bg.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_bg.xtb
index f5a29a3..3f189a1 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_bg.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_bg.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Без образ</translation>
 <translation id="3596414637720633074">Блокиране на „бисквитките“ на трети страни в режим „инкогнито“</translation>
 <translation id="3600792891314830896">Спиране на звука, възпроизвеждан от сайтовете</translation>
+<translation id="3628308229821498208">Предложени търсения</translation>
 <translation id="3744111561329211289">Синхронизиране на заден план</translation>
 <translation id="3763247130972274048">Докоснете два пъти левия или десния край на прозореца с видеоклипа, за да пропуснете 10 сек</translation>
 <translation id="3797520601150691162">Без прилагане на тъмната тема към конкретен сайт</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Блокиране на „бисквитките“ на трети страни</translation>
 <translation id="6216432067784365534">Опции за <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Да се деинсталира ли <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Въз основа на последния ви раздел</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> и <ph name="PERMISSION_2" /> са блокирани</translation>
 <translation id="6270391203985052864">Сайтовете могат да извеждат подкани за изпращане на известия</translation>
 <translation id="6295158916970320988">Всички сайтове</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_bn.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_bn.xtb
index d76dffb..f4e1739 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_bn.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_bn.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">ভিডিওটি মিউট করুন</translation>
 <translation id="3596414637720633074">ছদ্মবেশী মোডে থার্ড-পার্টি কুকি ব্লক করুন</translation>
 <translation id="3600792891314830896">সাউন্ড প্লে করা হয় যে সাইটগুলিতে সেগুলি মিউট করুন</translation>
+<translation id="3628308229821498208">সাজেস্ট করা সার্চ</translation>
 <translation id="3744111561329211289">পটভূমি সিঙ্ক</translation>
 <translation id="3763247130972274048">১০ সেকেন্ড আগে পরে স্কিপ করতে বাঁদিকে অথবা ডানদিকে ডবল ট্যাপ করুন</translation>
 <translation id="3797520601150691162">কোনও নির্দিষ্ট সাইটের জন্য ডার্ক থিম প্রয়োগ করবেন না</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">তৃতীয় পক্ষের কুকিজ অবরুদ্ধ করুন</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> এর বিকল্পগুলি</translation>
 <translation id="6231752747840485235"><ph name="APP_NAME" /> আনইনস্টল করবেন?</translation>
+<translation id="6262191102408817757">আপনার শেষ ট্যাবের উপর ভিত্তি করে</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> ও <ph name="PERMISSION_2" /> ব্লক করা হয়েছে</translation>
 <translation id="6270391203985052864">সাইট আপনাকে বিজ্ঞপ্তি পাঠানোর আগে অনুমতি চাইতে পারে</translation>
 <translation id="6295158916970320988">সমস্ত সাইট</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb
index f09e43d..1ad1dea 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Silencia el vídeo</translation>
 <translation id="3596414637720633074">Bloqueja les galetes de tercers en mode d'incògnit</translation>
 <translation id="3600792891314830896">Silencia els llocs web que reprodueixen so</translation>
+<translation id="3628308229821498208">Cerques suggerides</translation>
 <translation id="3744111561329211289">Sincronització en segon pla</translation>
 <translation id="3763247130972274048">Fes doble toc a l'esquerra o a la dreta del vídeo per saltar 10 s</translation>
 <translation id="3797520601150691162">No apliquis el tema fosc a un lloc web concret</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Bloqueja les galetes de tercers</translation>
 <translation id="6216432067784365534">Opcions per a <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Vols desinstal·lar <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Segons la teva darrera pestanya</translation>
 <translation id="6262279340360821358">S'han bloquejat <ph name="PERMISSION_1" /> i <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Els llocs web poden demanar-te permís per enviar-te notificacions</translation>
 <translation id="6295158916970320988">Tots els llocs web</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb
index 3f86db9..656753f9 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Vypnout zvuk videa</translation>
 <translation id="3596414637720633074">V anonymním režimu blokovat soubory cookie třetích stran</translation>
 <translation id="3600792891314830896">Ztlumit weby, které přehrávají zvuky</translation>
+<translation id="3628308229821498208">Navrhovaná vyhledávání</translation>
 <translation id="3744111561329211289">Synchronizace na pozadí</translation>
 <translation id="3763247130972274048">Dvojitým klepnutím na šipku vlevo nebo vpravo přeskočíte video o 10 s</translation>
 <translation id="3797520601150691162">Nepoužívat tmavý motiv pro konkrétní web</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Blokovat soubory cookie třetích stran</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> – možnosti</translation>
 <translation id="6231752747840485235">Odinstalovat aplikaci <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Na základě vaší poslední karty</translation>
 <translation id="6262279340360821358">Oprávnění <ph name="PERMISSION_1" /> a <ph name="PERMISSION_2" /> jsou zablokována</translation>
 <translation id="6270391203985052864">Weby mohou žádat o oprávnění zasílat vám oznámení</translation>
 <translation id="6295158916970320988">Všechny weby</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_cy.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_cy.xtb
index a032cfa..1aa75402 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_cy.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_cy.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Mudo'r fideo</translation>
 <translation id="3596414637720633074">Rhwystro cwcis gan drydydd parti yn y Modd Anhysbys</translation>
 <translation id="3600792891314830896">Distewi gwefannau sy'n chwarae sain</translation>
+<translation id="3628308229821498208">Chwiliadau a awgrymir</translation>
 <translation id="3744111561329211289">Cysoni yn y cefndir</translation>
 <translation id="3763247130972274048">Tapiwch ddwywaith ar ochr chwith neu dde'r i neidio 10 eiliad</translation>
 <translation id="3797520601150691162">Peidio â defnyddio'r thema dywyll ar gyfer gwefan benodol</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Rhwystro cwcis trydydd parti</translation>
 <translation id="6216432067784365534">Dewisiadau <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Dadosod '<ph name="APP_NAME" />'?</translation>
+<translation id="6262191102408817757">Yn seiliedig ar eich tab olaf</translation>
 <translation id="6262279340360821358">Mae <ph name="PERMISSION_1" /> a <ph name="PERMISSION_2" /> wedi'u rhwystro</translation>
 <translation id="6270391203985052864">Gall gwefannau ofyn am anfon hysbysiadau</translation>
 <translation id="6295158916970320988">Pob gwefan</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_da.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_da.xtb
index 2ed2e8e..5404edfb 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_da.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_da.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Slå lyden i videoen fra</translation>
 <translation id="3596414637720633074">Bloker tredjepartscookies i inkognito</translation>
 <translation id="3600792891314830896">Lyden slås fra for websites, der afspiller lyd</translation>
+<translation id="3628308229821498208">Foreslåede søgninger</translation>
 <translation id="3744111561329211289">Synkronisering i baggrunden</translation>
 <translation id="3763247130972274048">Tryk to gange i videoens venstre eller højre side for at springe ti sekunder frem eller tilbage</translation>
 <translation id="3797520601150691162">Anvend ikke Mørkt tema på et bestemt website</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Bloker cookies fra tredjeparter</translation>
 <translation id="6216432067784365534">Valgmuligheder for <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Vil du afinstallere "<ph name="APP_NAME" />"?</translation>
+<translation id="6262191102408817757">Baseret på din seneste fane</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> og <ph name="PERMISSION_2" /> blev blokeret</translation>
 <translation id="6270391203985052864">Websites kan spørge dig, om de må sende dig notifikationer</translation>
 <translation id="6295158916970320988">Alle websites</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_es-419.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_es-419.xtb
index 8e90c99a..c1c75762 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_es-419.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_es-419.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Silenciar video</translation>
 <translation id="3596414637720633074">Bloquear cookies de terceros en modo Incógnito</translation>
 <translation id="3600792891314830896">Silenciar los sitios que reproducen sonido</translation>
+<translation id="3628308229821498208">Búsquedas sugeridas</translation>
 <translation id="3744111561329211289">Sincronización en segundo plano</translation>
 <translation id="3763247130972274048">Presiona el video dos veces a la derecha o izquierda para avanzar o retroceder 10 s</translation>
 <translation id="3797520601150691162">No aplicar el Tema oscuro para un sitio específico</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6216432067784365534">Opciones de <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">¿Quieres desinstalar "<ph name="APP_NAME" />"?</translation>
+<translation id="6262191102408817757">Según tu última pestaña</translation>
 <translation id="6262279340360821358">Bloqueados: <ph name="PERMISSION_1" /> y <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Los sitios pueden preguntarte si quieres recibir notificaciones</translation>
 <translation id="6295158916970320988">Todos los sitios</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb
index dac107b9..b6399ec 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Silenciar vídeo</translation>
 <translation id="3596414637720633074">Bloquear cookies de terceros en incógnito</translation>
 <translation id="3600792891314830896">Silenciar los sitios que reproducen sonidos</translation>
+<translation id="3628308229821498208">Sugerencias de búsqueda</translation>
 <translation id="3744111561329211289">Sincronización en segundo plano</translation>
 <translation id="3763247130972274048">Toca dos veces a la derecha o a la izquierda del vídeo para saltar 10 s</translation>
 <translation id="3797520601150691162">El tema oscuro no se aplica a un sitio específico</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Bloquear cookies de terceros</translation>
 <translation id="6216432067784365534">Opciones de <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">¿Desinstalar <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Basadas en tu última pestaña</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> y <ph name="PERMISSION_2" /> bloqueados</translation>
 <translation id="6270391203985052864">Los sitios pueden preguntarte si quieres que te envíen notificaciones</translation>
 <translation id="6295158916970320988">Todos los sitios</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_et.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_et.xtb
index ebf2d9b44..f69acfd 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_et.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_et.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Video vaigistamine</translation>
 <translation id="3596414637720633074">Blokeerige kolmanda osapoole küpsisefailid inkognito režiimis</translation>
 <translation id="3600792891314830896">Heli esitavad saidid vaigistatakse</translation>
+<translation id="3628308229821498208">Soovitatud otsingud</translation>
 <translation id="3744111561329211289">Taustal sünkroonimine</translation>
 <translation id="3763247130972274048">10 sekundi võrra kerimiseks topeltpuudutage videos vasakul või paremal</translation>
 <translation id="3797520601150691162">Tumedat teemat ei rakendata konkreetsele saidile</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Blokeeri kolmanda osapoole küpsisefailid</translation>
 <translation id="6216432067784365534">Üksuse <ph name="NAME_OF_LIST_ITEM" /> valikud</translation>
 <translation id="6231752747840485235">Kas desinstallida rakendus <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Teie viimase vahelehe põhjal</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> ja <ph name="PERMISSION_2" /> on keelatud</translation>
 <translation id="6270391203985052864">Saidid saavad küsida luba märguannete saatmiseks</translation>
 <translation id="6295158916970320988">Kõik saidid</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_eu.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_eu.xtb
index bb3c1cc..f6ca9322 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_eu.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_eu.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Desaktibatu bideoaren audioa</translation>
 <translation id="3596414637720633074">Blokeatu hirugarrenen cookieak ezkutuko moduan</translation>
 <translation id="3600792891314830896">Desaktibatu soinua erreproduzitzen duten webguneen audioa</translation>
+<translation id="3628308229821498208">Bilaketa iradokiak</translation>
 <translation id="3744111561329211289">Atzeko planoko sinkronizazioa</translation>
 <translation id="3763247130972274048">Sakatu birritan bideoaren ezkerreko edo eskuineko aldea 10 s saltatzeko</translation>
 <translation id="3797520601150691162">Ez aplikatu gai iluna webgune zehatz batean</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Blokeatu hirugarrenen cookieak</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> - Aukerak</translation>
 <translation id="6231752747840485235">"<ph name="APP_NAME" />" desinstalatu nahi duzu?</translation>
+<translation id="6262191102408817757">Azken fitxaren arabera</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> eta <ph name="PERMISSION_2" /> blokeatu egin dira</translation>
 <translation id="6270391203985052864">Webguneek jakinarazpenak bidaltzea eska dezakete</translation>
 <translation id="6295158916970320988">Webgune guztiak</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_fi.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_fi.xtb
index 538a2fc..b1364409 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_fi.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_fi.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Mykistä video</translation>
 <translation id="3596414637720633074">Kolmannen osapuolen evästeiden estäminen incognito-tilassa</translation>
 <translation id="3600792891314830896">Mykistä ääniä toistavat sivustot</translation>
+<translation id="3628308229821498208">Ehdotetut haut</translation>
 <translation id="3744111561329211289">Taustasynkronointi</translation>
 <translation id="3763247130972274048">Ohita 10 sekuntia kaksoisnapauttamalla videota vasemmalle tai oikealle</translation>
 <translation id="3797520601150691162">Älä käytä tummaa teemaa tietyllä sivustolla</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Estä kolmannen osapuolen evästeet</translation>
 <translation id="6216432067784365534">Vaihtoehdot: <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Poistetaanko <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Perustuu viimeisimpään välilehteen</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> ja <ph name="PERMISSION_2" /> estetty</translation>
 <translation id="6270391203985052864">Sivustot saavat pyytää lupaa lähettää ilmoituksia</translation>
 <translation id="6295158916970320988">Kaikki sivustot</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_fil.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_fil.xtb
index bfb8e2a..4480dfa 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_fil.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_fil.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">I-mute ang video</translation>
 <translation id="3596414637720633074">I-block ang third-party na cookies sa Incognito</translation>
 <translation id="3600792891314830896">I-mute ang mga site na nagpe-play ng tunog</translation>
+<translation id="3628308229821498208">Mga iminumungkahing paghahanap</translation>
 <translation id="3744111561329211289">Pag-sync sa background</translation>
 <translation id="3763247130972274048">Mag-double tap sa kaliwa o kanan ng video para lumaktaw nang 10s</translation>
 <translation id="3797520601150691162">Huwag ilapat ang madilim na tema para sa isang partikular na site</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">I-block ang mga third-party na cookie</translation>
 <translation id="6216432067784365534">Mga Opsyon sa <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">I-uninstall ang '<ph name="APP_NAME" />'?</translation>
+<translation id="6262191102408817757">Batay sa iyong huling tab</translation>
 <translation id="6262279340360821358">Naka-block ang <ph name="PERMISSION_1" /> at <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Puwedeng humiling ang mga site na magpadala ng mga notification</translation>
 <translation id="6295158916970320988">Lahat ng site</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_fr.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_fr.xtb
index 7601b50..5725b30 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_fr.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_fr.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Couper le son de la vidéo</translation>
 <translation id="3596414637720633074">Bloquer les cookies tiers en mode navigation privée</translation>
 <translation id="3600792891314830896">Couper le son des sites</translation>
+<translation id="3628308229821498208">Recherches suggérées</translation>
 <translation id="3744111561329211289">Synchronisation en arrière-plan</translation>
 <translation id="3763247130972274048">Appuyez deux fois à gauche/droite de la vidéo pour reculer/avancer de 10 s</translation>
 <translation id="3797520601150691162">Ne pas appliquer le thème sombre à un site précis</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Bloquer les cookies tiers</translation>
 <translation id="6216432067784365534">Options pour <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Désinstaller <ph name="APP_NAME" /> ?</translation>
+<translation id="6262191102408817757">D'après votre dernier onglet</translation>
 <translation id="6262279340360821358">Autorisations refusées : <ph name="PERMISSION_1" /> et <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Les sites peuvent vous demander l'autorisation d'envoyer des notifications</translation>
 <translation id="6295158916970320988">Tous les sites</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_gl.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_gl.xtb
index 10304c8..275c512 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_gl.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_gl.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Silenciar o vídeo</translation>
 <translation id="3596414637720633074">Bloquear cookies de terceiros no modo de incógnito</translation>
 <translation id="3600792891314830896">Silencia sitios que reproducen son</translation>
+<translation id="3628308229821498208">Buscas suxeridas</translation>
 <translation id="3744111561329211289">Sincronización en segundo plano</translation>
 <translation id="3763247130972274048">Toca dúas veces cara á esquerda ou á dereita no vídeo para saltar 10 s</translation>
 <translation id="3797520601150691162">Non se lle aplica o tema escuro a un sitio concreto</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Bloquear cookies de terceiros</translation>
 <translation id="6216432067784365534">Opcións de <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Queres desinstalar <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Segundo a túa última pestana</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> e <ph name="PERMISSION_2" /> (bloqueados)</translation>
 <translation id="6270391203985052864">Os sitios poden pedir permiso para enviar notificacións</translation>
 <translation id="6295158916970320988">Todos os sitios</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_hu.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_hu.xtb
index 310ba1db..2a95491 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_hu.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_hu.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Videó némítása</translation>
 <translation id="3596414637720633074">Harmadik felektől származó cookie-k letiltása Inkognitó módban</translation>
 <translation id="3600792891314830896">Elnémítja a hangot lejátszó webhelyeket</translation>
+<translation id="3628308229821498208">Javasolt keresések</translation>
 <translation id="3744111561329211289">Szinkronizálás a háttérben</translation>
 <translation id="3763247130972274048">A videó jobb vagy bal oldalán duplán koppintva ugorhat előre vagy vissza 10 másodpercet</translation>
 <translation id="3797520601150691162">Ne használjon sötét témát bizonyos webhelyeknél</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Harmadik féltől származó cookie-k letiltása</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> – lehetőségek</translation>
 <translation id="6231752747840485235">Eltávolítja ezt az alkalmazást: <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">A legutóbbi lap alapján</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> és <ph name="PERMISSION_2" /> letiltva</translation>
 <translation id="6270391203985052864">A webhelyek rákérdezhetnek, hogy küldjenek-e Önnek értesítéseket</translation>
 <translation id="6295158916970320988">Az összes webhely</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_hy.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_hy.xtb
index 355cfd1..fc7d000 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_hy.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_hy.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Անջատել տեսանյութի ձայնը</translation>
 <translation id="3596414637720633074">Արգելափակել կողմնակի կայքերի քուքիները ինկոգնիտո ռեժիմում</translation>
 <translation id="3600792891314830896">Անջատել կայքերի ձայնը</translation>
+<translation id="3628308229821498208">Որոնման առաջարկվող հարցումներ</translation>
 <translation id="3744111561329211289">Ֆոնային համաժամացում</translation>
 <translation id="3763247130972274048">10 վ առաջ/հետ անցնելու համար կրկնակի հպեք տեսանյութի աջ/ձախ մասում</translation>
 <translation id="3797520601150691162">Չկիրառել մուգ թեման որոշակի կայքում</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Արգելափակել երրորդ կողմի քուքիները</translation>
 <translation id="6216432067784365534">Ընտրանքներ՝ <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Ապատեղադրե՞լ <ph name="APP_NAME" /> հավելվածը</translation>
+<translation id="6262191102408817757">Ձեր վերջին ներդիրի հիման վրա</translation>
 <translation id="6262279340360821358">Արգելափակված են՝ «<ph name="PERMISSION_1" />» և «<ph name="PERMISSION_2" />»</translation>
 <translation id="6270391203985052864">Կայքերը կարող են խնդրել ծանուցումներ ուղարկել</translation>
 <translation id="6295158916970320988">Բոլոր կայքերը</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_id.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_id.xtb
index 09268c8..732c060 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_id.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_id.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Bisukan video</translation>
 <translation id="3596414637720633074">Blokir cookie pihak ketiga dalam mode Samaran</translation>
 <translation id="3600792891314830896">Nonaktifkan suara situs yang memutar suara</translation>
+<translation id="3628308229821498208">Penelusuran yang disarankan</translation>
 <translation id="3744111561329211289">Sinkronisasi latar belakang</translation>
 <translation id="3763247130972274048">Ketuk video dua kali di kiri atau kanan untuk melewati 10 detik</translation>
 <translation id="3797520601150691162">Jangan terapkan tema gelap untuk situs tertentu</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Blokir cookie pihak ketiga</translation>
 <translation id="6216432067784365534">Opsi <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Uninstal '<ph name="APP_NAME" />'?</translation>
+<translation id="6262191102408817757">Berdasarkan tab terakhir Anda</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> dan <ph name="PERMISSION_2" /> diblokir</translation>
 <translation id="6270391203985052864">Situs dapat meminta izin mengirimkan notifikasi</translation>
 <translation id="6295158916970320988">Semua situs</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_is.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_is.xtb
index a556066..00f4df13 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_is.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_is.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Slökkva á mynd</translation>
 <translation id="3596414637720633074">Loka á fótspor þriðju aðila í huliðsstillingu</translation>
 <translation id="3600792891314830896">Slökkva á hljóði vefsvæða sem spila hljóð</translation>
+<translation id="3628308229821498208">Leitartillögur</translation>
 <translation id="3744111561329211289">Samstilling í bakgrunni</translation>
 <translation id="3763247130972274048">Ýttu tvisvar vinstra eða hægra megin á myndskeið til að fara fram um 10 sekúndur</translation>
 <translation id="3797520601150691162">Ekki nota dökkt þema fyrir tiltekið vefsvæði</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Loka á fótspor frá þriðja aðila</translation>
 <translation id="6216432067784365534">Valkostir fyrir <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Fjarlægja „<ph name="APP_NAME" />“?</translation>
+<translation id="6262191102408817757">Byggt á síðasta flipa hjá þér</translation>
 <translation id="6262279340360821358">Lokað er fyrir <ph name="PERMISSION_1" /> og <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Vefsvæði geta óskað eftir því að senda tilkynningar</translation>
 <translation id="6295158916970320988">Öll vefsvæði</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb
index fcc649c..79bdee1 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">השתקת הסרטון</translation>
 <translation id="3596414637720633074">‏חסימת קובצי cookie של צד שלישי במצב אנונימי</translation>
 <translation id="3600792891314830896">השתקת אתרים שמשמיעים צלילים</translation>
+<translation id="3628308229821498208">הצעות לחיפוש</translation>
 <translation id="3744111561329211289">סנכרון ברקע</translation>
 <translation id="3763247130972274048">בלחיצה פעמיים על הסרטון בצד ימין או שמאל אפשר לדלג על 10 שניות</translation>
 <translation id="3797520601150691162">אין להחיל עיצוב כהה על אתר ספציפי</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">‏חסימת קובצי Cookie של צד שלישי</translation>
 <translation id="6216432067784365534">אפשרויות של <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">להסיר את '<ph name="APP_NAME" />'?</translation>
+<translation id="6262191102408817757">על סמך הכרטיסייה האחרונה שלך</translation>
 <translation id="6262279340360821358">ההרשאות <ph name="PERMISSION_1" /> וגם <ph name="PERMISSION_2" /> חסומות</translation>
 <translation id="6270391203985052864">אתרים יכולים לבקש לשלוח התראות</translation>
 <translation id="6295158916970320988">כל האתרים</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ka.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ka.xtb
index e072d98c..c2497c57 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ka.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ka.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">ვიდეოს დადუმება</translation>
 <translation id="3596414637720633074">მესამე მხარის ქუქი-ჩანაწერების დაბლოკვა ინკოგნიტო რეჟიმში</translation>
 <translation id="3600792891314830896">ხმის დაკვრის მხარდაჭერის მქონე საიტების დადუმება</translation>
+<translation id="3628308229821498208">შემოთავაზებული ძიებები</translation>
 <translation id="3744111561329211289">ფონური სინქრონიზაცია</translation>
 <translation id="3763247130972274048">10 წამის გამოსატოვებლად ორმაგად შეეხეთ ვიდეოს მარცხნივ ან მარჯვნივ</translation>
 <translation id="3797520601150691162">არ მსურს მუქი თემის გამოყენება კონკრეტულ საიტზე</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">მესამე მხარის ქუქი-ჩანაწერების დაბლოკვა</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> — ვარიანტები</translation>
 <translation id="6231752747840485235">გსურთ <ph name="APP_NAME" />-ის დეინსტალაცია?</translation>
+<translation id="6262191102408817757">თქვენი ბოლო ჩანართის საფუძველზე</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> და <ph name="PERMISSION_2" /> დაბლოკილია</translation>
 <translation id="6270391203985052864">საიტებს შეუძლიათ შეტყობინებების გამოგზავნის თხოვნა</translation>
 <translation id="6295158916970320988">ყველა საიტი</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ko.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ko.xtb
index 732d5a9e..cb5021b 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ko.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ko.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">동영상 음소거</translation>
 <translation id="3596414637720633074">시크릿 모드에서 타사 쿠키 차단</translation>
 <translation id="3600792891314830896">소리를 재생하는 사이트 음소거</translation>
+<translation id="3628308229821498208">추천 검색어</translation>
 <translation id="3744111561329211289">백그라운드 동기화</translation>
 <translation id="3763247130972274048">10초를 건너뛰려면 동영상 왼쪽이나 오른쪽을 두 번 탭하세요.</translation>
 <translation id="3797520601150691162">특정 사이트에 어두운 테마를 적용하지 마세요.</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">타사 쿠키 차단</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> 옵션</translation>
 <translation id="6231752747840485235">'<ph name="APP_NAME" />' 앱을 제거하시겠습니까?</translation>
+<translation id="6262191102408817757">마지막 탭 기준</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> 및 <ph name="PERMISSION_2" /> 차단됨</translation>
 <translation id="6270391203985052864">사이트에서 알림 전송 허용을 요청할 수 있음</translation>
 <translation id="6295158916970320988">모든 사이트</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_lo.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_lo.xtb
index 085c869..3c772c7ef 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_lo.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_lo.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">ປິດສຽງວິດີໂອ</translation>
 <translation id="3596414637720633074">ບລັອກຄຸກກີ້ພາກສ່ວນທີສາມໃນໂໝດບໍ່ເປີດເຜີຍຕົວຕົນ</translation>
 <translation id="3600792891314830896">ປິດສຽງເວັບໄຊທີ່ຫຼິ້ນສຽງ</translation>
+<translation id="3628308229821498208">ການຊອກຫາທີ່ແນະນຳ</translation>
 <translation id="3744111561329211289">ການຊິ້ງຂໍ້ມູນໃນພື້ນຫຼັງ</translation>
 <translation id="3763247130972274048">ແຕະວິດີໂອຊ້າຍ ຫຼື ຂວາສອງເທື່ອເພື່ອຂ້າມ 10 ວິ</translation>
 <translation id="3797520601150691162">ຢ່ານຳໃຊ້ຮູບແບບສີສັນມືດໃສ່ເວັບໄຊສະເພາະໃດໜຶ່ງ</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">ບລັອກຄຸກກີ້ພາກສ່ວນທີສາມ</translation>
 <translation id="6216432067784365534">ຕົວເລືອກ <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">ຖອນການຕິດຕັ້ງ '<ph name="APP_NAME" />' ບໍ?</translation>
+<translation id="6262191102408817757">ໂດຍອ້າງອີງຈາກແຖບຫຼ້າສຸດຂອງທ່ານ</translation>
 <translation id="6262279340360821358">ບລັອກ <ph name="PERMISSION_1" /> ແລະ <ph name="PERMISSION_2" /> ໄວ້ແລ້ວ</translation>
 <translation id="6270391203985052864">ເວັບໄຊສາມາດຂໍໃຫ້ສົ່ງການແຈ້ງເຕືອນໄດ້</translation>
 <translation id="6295158916970320988">ທຸກ​ເວັບ​ໄຊ​ທ໌</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_lv.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_lv.xtb
index 93372fd..7d69541 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_lv.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_lv.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Izslēgt video skaņu</translation>
 <translation id="3596414637720633074">Inkognito režīmā bloķēt trešo pušu sīkfailus</translation>
 <translation id="3600792891314830896">Izslēgt skaņu vietnēm, kurās tiek atskaņota skaņa</translation>
+<translation id="3628308229821498208">Ieteiktie meklēšanas vaicājumi</translation>
 <translation id="3744111561329211289">Sinhronizācija fonā</translation>
 <translation id="3763247130972274048">Divreiz pieskarieties videoklipam pa labi vai pa kreisi, lai izlaistu 10 s.</translation>
 <translation id="3797520601150691162">Varat tumšo motīvu nelietot konkrētās vietnēs</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Bloķēt trešo pušu sīkfailus</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" />: iespējas</translation>
 <translation id="6231752747840485235">Vai atinstalēt lietotni <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Pamatojoties uz pēdējās cilnes saturu</translation>
 <translation id="6262279340360821358">Bloķētas: <ph name="PERMISSION_1" /> un <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Vietnēs var lūgt atļauju sūtīt paziņojumus</translation>
 <translation id="6295158916970320988">Visas vietnes</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_or.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_or.xtb
index 37a3233..1bd424d 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_or.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_or.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">ଭିଡିଓ ମ୍ୟୁଟ୍ କରନ୍ତୁ</translation>
 <translation id="3596414637720633074">ଇନକଗ୍ନିଟୋ ମୋଡରେ ତୃତୀୟ-ପକ୍ଷ କୁକୀଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରନ୍ତୁ</translation>
 <translation id="3600792891314830896">ଯେଉଁ ୱେବ୍‌ସାଇଟ୍‌ଗୁଡ଼ିକରେ ସାଉଣ୍ଡ ଚାଲୁଛି ସେଗୁଡ଼ିକୁ ମ୍ୟୁଟ୍ କରନ୍ତୁ</translation>
+<translation id="3628308229821498208">ପ୍ରସ୍ତାବିତ ସନ୍ଧାନଗୁଡ଼ିକ</translation>
 <translation id="3744111561329211289">ପୃଷ୍ଠପଟ ସିଙ୍କ୍‌</translation>
 <translation id="3763247130972274048">10 ସେକେଣ୍ଡ ବାଦ୍ ଦେବାକୁ ଭିଡିଓର ବାମ କିମ୍ବା ଡାହାଣକୁ ଦୁଇ ଥର ଟାପ୍ କରନ୍ତୁ</translation>
 <translation id="3797520601150691162">ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ସାଇଟ ପାଇଁ ଗାଢ଼ା ଥିମ ଲାଗୁ କରନ୍ତୁ ନାହିଁ</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">ତୃତୀୟ ପକ୍ଷ କୁକୀଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରନ୍ତୁ</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> ବିକଳ୍ପ</translation>
 <translation id="6231752747840485235">'<ph name="APP_NAME" />' କୁ ଅନଇନଷ୍ଟଲ୍ କରିବେ?</translation>
+<translation id="6262191102408817757">ଆପଣଙ୍କ ଶେଷ ଟାବ ଆଧାରରେ</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> ଏବଂ <ph name="PERMISSION_2" />କୁ ବ୍ଲକ୍ କରାଯାଇଛି</translation>
 <translation id="6270391203985052864">ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ପଠାଇବାକୁ ସାଇଟ୍‌ଗୁଡ଼ିକ ପଚାରିପାରିବେ</translation>
 <translation id="6295158916970320988">ସମସ୍ତ ସାଇଟ୍‍ଗୁଡ଼ିକ</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_ru.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_ru.xtb
index 132ec3a..64e60dc 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_ru.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_ru.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Выключить звук для видео</translation>
 <translation id="3596414637720633074">Блокировать файлы cookie сторонних сайтов в режиме инкогнито</translation>
 <translation id="3600792891314830896">Отключить звуки на сайтах</translation>
+<translation id="3628308229821498208">Варианты поисковых запросов</translation>
 <translation id="3744111561329211289">Фоновая синхронизация</translation>
 <translation id="3763247130972274048">Чтобы пропустить 10 секунд, дважды нажмите слева или справа.</translation>
 <translation id="3797520601150691162">Не использовать тёмную тему для конкретного сайта</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Блокировать сторонние файлы cookie</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" />: параметры</translation>
 <translation id="6231752747840485235">Удалить приложение "<ph name="APP_NAME" />"?</translation>
+<translation id="6262191102408817757">На основе данных последней использованной вкладки</translation>
 <translation id="6262279340360821358">Заблокировано: <ph name="PERMISSION_1" /> и <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Сайты могут запрашивать разрешения на отправку уведомлений</translation>
 <translation id="6295158916970320988">Все сайты</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_si.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_si.xtb
index b91725f5..481c2bc 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_si.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_si.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">වීඩියෝව නිහඬ කරන්න</translation>
 <translation id="3596414637720633074">අප්‍රසිද්ධය තුළ තෙවන පාර්ශ්ව කුකී අවහිර කරන්න</translation>
 <translation id="3600792891314830896">ශබ්දය වාදනය කරන අඩවි නිහඬ කරන්න</translation>
+<translation id="3628308229821498208">යෝජිත සෙවීම්</translation>
 <translation id="3744111561329211289">පසුබිමෙහි සමමුහුර්තකරණය</translation>
 <translation id="3763247130972274048">ත. 10 ක් මඟ හැරීමට වීඩියෝවේ වමට හෝ දකුණට දෙවරක් තට්ටු කරන්න</translation>
 <translation id="3797520601150691162">නිශ්චිත අඩවියක් සඳහා අඳුරු තේමාව නොයොදන්න</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">තෙවන-පාර්ශ්ව කුකී අවහිර කරන්න</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" /> විකල්ප</translation>
 <translation id="6231752747840485235">'<ph name="APP_NAME" />' අස්ථාපන කරන්නද?</translation>
+<translation id="6262191102408817757">ඔබේ අවසන් පටිත්ත මත පදනම්ව</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> සහ <ph name="PERMISSION_2" /> අවහිර කරන ලදි</translation>
 <translation id="6270391203985052864">වෙබ් අඩවිවලට දැනුම්දීම් යැවීමට ඉල්ලිය හැක</translation>
 <translation id="6295158916970320988">සියලු අඩවි</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sl.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sl.xtb
index 5d530b72..507006ef 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sl.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sl.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Izklop videa</translation>
 <translation id="3596414637720633074">Blokiranje piškotkov drugih mest v anonimnem načinu</translation>
 <translation id="3600792891314830896">Izklop zvoka na spletnih mestih, ki predvajajo zvok</translation>
+<translation id="3628308229821498208">Predlagane iskalne poizvedbe</translation>
 <translation id="3744111561329211289">Sinhroniziranje v ozadju</translation>
 <translation id="3763247130972274048">Dvakrat se dotaknite videoposnetka levo ali desno, da preskočite 10 s</translation>
 <translation id="3797520601150691162">Brez uporabe temne teme za določeno spletno mesto</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Blokiraj piškotke drugih spletnih mest</translation>
 <translation id="6216432067784365534">Možnosti za <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Želite odmestiti aplikacijo »<ph name="APP_NAME" />«?</translation>
+<translation id="6262191102408817757">Na podlagi vašega zadnjega zavihka</translation>
 <translation id="6262279340360821358">Blokirano: <ph name="PERMISSION_1" /> in <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Spletna mesta vas lahko vprašajo, ali želite, da vam pošiljajo obvestila</translation>
 <translation id="6295158916970320988">Vsa spletna mesta</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sq.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sq.xtb
index eea3b5b..3602690a 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sq.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sq.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Çaktivizo zërin e videos</translation>
 <translation id="3596414637720633074">Blloko kukit e palëve të treta në modalitetin "I fshehtë"</translation>
 <translation id="3600792891314830896">Hiq zërin për sajtet që luajnë tinguj</translation>
+<translation id="3628308229821498208">Kërkimet e sugjeruara</translation>
 <translation id="3744111561329211289">Sinkronizimi në sfond</translation>
 <translation id="3763247130972274048">Trokit dy herë videon majtas ose djathtas për të kapërcyer 10 sek.</translation>
 <translation id="3797520601150691162">Mos zbato temën e errët për një sajt specifik</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Blloko kukit e palëve të treta</translation>
 <translation id="6216432067784365534">Opsionet për <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Të çinstalohet "<ph name="APP_NAME" />"?</translation>
+<translation id="6262191102408817757">Bazuar në skedën tënde të fundit</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> dhe <ph name="PERMISSION_2" /> të bllokuara</translation>
 <translation id="6270391203985052864">Sajtet mund të kërkojnë të dërgojnë njoftime</translation>
 <translation id="6295158916970320988">Të gjitha sajtet</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sr-Latn.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sr-Latn.xtb
index 600b3b2b..29c0768 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sr-Latn.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sr-Latn.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Isključite zvuk videa</translation>
 <translation id="3596414637720633074">Blokira kolačiće trećih strana u režimu bez arhiviranja</translation>
 <translation id="3600792891314830896">Isključi zvuk sajtova koji puštaju zvuk</translation>
+<translation id="3628308229821498208">Predložene pretrage</translation>
 <translation id="3744111561329211289">Sinhronizacija u pozadini</translation>
 <translation id="3763247130972274048">Dvaput dodirnite video levo ili desno da biste preskočili 10 sek</translation>
 <translation id="3797520601150691162">Ne primenjujte tamnu temu za određeni sajt</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Blokiraj kolačiće treće strane</translation>
 <translation id="6216432067784365534">Opcije stavke <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Želite da deinstalatirate „<ph name="APP_NAME" />“?</translation>
+<translation id="6262191102408817757">Na osnovu poslednje kartice</translation>
 <translation id="6262279340360821358">Dozvole <ph name="PERMISSION_1" /> i <ph name="PERMISSION_2" /> su blokirane</translation>
 <translation id="6270391203985052864">Sajtovi mogu da traže da šalju obaveštenja</translation>
 <translation id="6295158916970320988">Svi sajtovi</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sr.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sr.xtb
index 18ada10..002685e2 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sr.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sr.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Искључите звук видеа</translation>
 <translation id="3596414637720633074">Блокира колачиће трећих страна у режиму без архивирања</translation>
 <translation id="3600792891314830896">Искључи звук сајтова који пуштају звук</translation>
+<translation id="3628308229821498208">Предложене претраге</translation>
 <translation id="3744111561329211289">Синхронизација у позадини</translation>
 <translation id="3763247130972274048">Двапут додирните видео лево или десно да бисте прескочили 10 сек</translation>
 <translation id="3797520601150691162">Не примењујте тамну тему за одређени сајт</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Блокирај колачиће треће стране</translation>
 <translation id="6216432067784365534">Опције ставке <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Желите да деинсталатирате „<ph name="APP_NAME" />“?</translation>
+<translation id="6262191102408817757">На основу последње картице</translation>
 <translation id="6262279340360821358">Дозволе <ph name="PERMISSION_1" /> и <ph name="PERMISSION_2" /> су блокиране</translation>
 <translation id="6270391203985052864">Сајтови могу да траже да шаљу обавештења</translation>
 <translation id="6295158916970320988">Сви сајтови</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sv.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sv.xtb
index 5bc27a6..3c2f93e 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sv.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sv.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Stäng av ljudet för videon</translation>
 <translation id="3596414637720633074">Blockera cookies från tredje part med inkognitoläget</translation>
 <translation id="3600792891314830896">Stäng av ljudet på webbplatser</translation>
+<translation id="3628308229821498208">Föreslagna sökningar</translation>
 <translation id="3744111561329211289">Synkronisering i bakgrunden</translation>
 <translation id="3763247130972274048">Hoppa över 10 s genom att trycka två gånger till vänster/höger på videon</translation>
 <translation id="3797520601150691162">Använd inte mörkt tema för en viss webbplats</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Blockera cookies från tredje part</translation>
 <translation id="6216432067784365534">Alternativ för <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Vill du avinstallera <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">Utifrån din senaste flik</translation>
 <translation id="6262279340360821358"><ph name="PERMISSION_1" /> och <ph name="PERMISSION_2" /> blockeras</translation>
 <translation id="6270391203985052864">Webbplatser får be om tillåtelse att skicka aviseringar</translation>
 <translation id="6295158916970320988">Alla webbplatser</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_sw.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_sw.xtb
index 04aaa7c..51f71355 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_sw.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_sw.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Zima video</translation>
 <translation id="3596414637720633074">Zuia vidakuzi vya watu au kampuni nyingine katika Hali Fiche</translation>
 <translation id="3600792891314830896">Zima sauti katika tovuti</translation>
+<translation id="3628308229821498208">Utafutaji unaopendekezwa</translation>
 <translation id="3744111561329211289">Usawazishaji wa chini chini</translation>
 <translation id="3763247130972274048">Gusa mara mbili kushoto au kulia kwenye video ili uruke kwa sekunde 10</translation>
 <translation id="3797520601150691162">Usitumie mandhari meusi kwenye tovuti mahususi</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Zuia vidakuzi vya tovuti nyingine</translation>
 <translation id="6216432067784365534">Chaguo za <ph name="NAME_OF_LIST_ITEM" /></translation>
 <translation id="6231752747840485235">Ungependa kuondoa '<ph name="APP_NAME" />'?</translation>
+<translation id="6262191102408817757">Kulingana na kichupo chako ulichofungua mara ya mwisho</translation>
 <translation id="6262279340360821358">Umezuia <ph name="PERMISSION_1" /> na <ph name="PERMISSION_2" /></translation>
 <translation id="6270391203985052864">Tovuti zinaweza kukuuliza kutuma arifa</translation>
 <translation id="6295158916970320988">Tovuti zote</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
index 4c55dda..f43ab37 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_uk.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">Вимкнути звук у відео</translation>
 <translation id="3596414637720633074">Блокувати файли cookie третіх сторін в анонімному режимі</translation>
 <translation id="3600792891314830896">Вимкнути звук на сайтах, які відтворюють його</translation>
+<translation id="3628308229821498208">Рекомендовані пошукові запити</translation>
 <translation id="3744111561329211289">Фонова синхронізація</translation>
 <translation id="3763247130972274048">Двічі торкніться відео ліворуч або праворуч, щоб пропустити 10 с</translation>
 <translation id="3797520601150691162">Не використовувати темну тему для певного сайту</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">Блокувати сторонні файли cookie</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" />: опції</translation>
 <translation id="6231752747840485235">Видалити додаток <ph name="APP_NAME" />?</translation>
+<translation id="6262191102408817757">На основі даних останньої використаної вкладки</translation>
 <translation id="6262279340360821358">Заблоковано: "<ph name="PERMISSION_1" />" і "<ph name="PERMISSION_2" />"</translation>
 <translation id="6270391203985052864">Сайти можуть просити дозвіл надсилати сповіщення</translation>
 <translation id="6295158916970320988">Усі сайти</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
index ab1faedf..228bede 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
@@ -116,6 +116,7 @@
 <translation id="3594780231884063836">将视频静音</translation>
 <translation id="3596414637720633074">在无痕模式下阻止第三方 Cookie</translation>
 <translation id="3600792891314830896">将播放声音的网站静音</translation>
+<translation id="3628308229821498208">建议的搜索</translation>
 <translation id="3744111561329211289">后台同步</translation>
 <translation id="3763247130972274048">在视频左侧或右侧点按两次即可跳过 10 秒</translation>
 <translation id="3797520601150691162">不对特定网站应用深色主题</translation>
@@ -227,6 +228,7 @@
 <translation id="6196640612572343990">阻止第三方 Cookie</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" />选项</translation>
 <translation id="6231752747840485235">卸载“<ph name="APP_NAME" />”?</translation>
+<translation id="6262191102408817757">基于您的上一个标签页</translation>
 <translation id="6262279340360821358">已禁用“<ph name="PERMISSION_1" />”权限和“<ph name="PERMISSION_2" />”权限</translation>
 <translation id="6270391203985052864">网站可以询问能否向您发送通知</translation>
 <translation id="6295158916970320988">所有网站</translation>
diff --git a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-HK.xtb b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-HK.xtb
index 300a23e..5673d8a89 100644
--- a/components/browser_ui/strings/android/translations/browser_ui_strings_zh-HK.xtb
+++ b/components/browser_ui/strings/android/translations/browser_ui_strings_zh-HK.xtb
@@ -228,7 +228,7 @@
 <translation id="6196640612572343990">封鎖第三方 Cookie</translation>
 <translation id="6216432067784365534"><ph name="NAME_OF_LIST_ITEM" />選項</translation>
 <translation id="6231752747840485235">要解除安裝「<ph name="APP_NAME" />」嗎?</translation>
-<translation id="6262191102408817757">依據你的最後一個分頁</translation>
+<translation id="6262191102408817757">根據您最近的分頁</translation>
 <translation id="6262279340360821358">已封鎖「<ph name="PERMISSION_1" />」和「<ph name="PERMISSION_2" />」</translation>
 <translation id="6270391203985052864">網站將可以要求向您傳送通知</translation>
 <translation id="6295158916970320988">所有網站</translation>
diff --git a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/gesture/BackPressHandler.java b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/gesture/BackPressHandler.java
index e5bd05c..73060237 100644
--- a/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/gesture/BackPressHandler.java
+++ b/components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/gesture/BackPressHandler.java
@@ -22,10 +22,11 @@
     // The smaller the value is, the higher the priority is.
     // When adding a new identifier, make corresponding changes in the
     // - tools/metrics/histograms/enums.xml: <enum name="BackPressConsumer">
+    // - chrome/browser/back_press/android/.../BackPressManager.java: sMetricsMap
     @IntDef({Type.TEXT_BUBBLE, Type.VR_DELEGATE, Type.AR_DELEGATE, Type.SCENE_OVERLAY,
             Type.START_SURFACE_MEDIATOR, Type.SELECTION_POPUP, Type.MANUAL_FILLING,
             Type.TAB_MODAL_HANDLER, Type.FULLSCREEN, Type.TAB_SWITCHER_TO_BROWSING,
-            Type.CLOSE_WATCHER, Type.TOOLBAR_TAB_CONTROLLER,
+            Type.CLOSE_WATCHER, Type.FIND_TOOLBAR, Type.TOOLBAR_TAB_CONTROLLER,
             Type.TAB_RETURN_TO_CHROME_START_SURFACE, Type.BOTTOM_SHEET, Type.SHOW_READING_LIST,
             Type.MINIMIZE_APP_AND_CLOSE_TAB})
     @Retention(RetentionPolicy.SOURCE)
@@ -42,10 +43,11 @@
         int TAB_MODAL_HANDLER = 9;
         int TAB_SWITCHER_TO_BROWSING = 10;
         int CLOSE_WATCHER = 11;
-        int TOOLBAR_TAB_CONTROLLER = 12;
-        int TAB_RETURN_TO_CHROME_START_SURFACE = 13;
-        int SHOW_READING_LIST = 14;
-        int MINIMIZE_APP_AND_CLOSE_TAB = 15;
+        int FIND_TOOLBAR = 12;
+        int TOOLBAR_TAB_CONTROLLER = 13;
+        int TAB_RETURN_TO_CHROME_START_SURFACE = 14;
+        int SHOW_READING_LIST = 15;
+        int MINIMIZE_APP_AND_CLOSE_TAB = 16;
         int NUM_TYPES = MINIMIZE_APP_AND_CLOSE_TAB + 1;
     }
 
diff --git a/components/feedback/redaction_tool.cc b/components/feedback/redaction_tool.cc
index 4e96026..59ecec2 100644
--- a/components/feedback/redaction_tool.cc
+++ b/components/feedback/redaction_tool.cc
@@ -223,6 +223,31 @@
   return "";
 }
 
+// Some strings can contain pieces that match like IPv4 addresses but aren't.
+// This function can be used to determine if this was the case by evaluating
+// the skipped piece. It returns true, if the matched address was erroneous
+// and should be skipped instead.
+bool ShouldSkipIPAddress(const re2::StringPiece& skipped) {
+  // MomdemManager can dump out firmware revision fields that can also
+  // confuse the IPv4 matcher e.g. "Revision: 81600.0000.00.29.19.16_DO"
+  // so ignore the replacement if the skipped piece looks like
+  // "Revision: .*<ipv4>". Note however that if this field contains
+  // values delimited by multiple spaces, any matches after the first
+  // will lose the context and be redacted.
+  static const re2::StringPiece rev("Revision: ");
+  static const re2::StringPiece space(" ");
+  const auto pos = skipped.rfind(rev);
+  if (pos != re2::StringPiece::npos &&
+      skipped.find(space, pos + rev.length()) == re2::StringPiece::npos) {
+    return true;
+  }
+
+  // USB paths can be confused with IPv4 Addresses because they can look
+  // similar: n-n.n.n.n . Ignore replacement if previous char is `-`
+  static const re2::StringPiece dash("-");
+  return skipped.ends_with(dash);
+}
+
 // Helper macro: Non capturing group
 #define NCG(x) "(?:" x ")"
 // Helper macro: Optional non capturing group
@@ -843,7 +868,6 @@
   re2::StringPiece text(input);
   re2::StringPiece skipped;
   re2::StringPiece matched_id;
-  const re2::StringPiece dash("-");
   while (FindAndConsumeAndGetSkipped(&text, *re, &skipped, &matched_id)) {
     if (IsUrlExempt(matched_id, first_party_extension_ids_)) {
       skipped.AppendToString(&result);
@@ -855,9 +879,9 @@
     if (identifier_space->count(matched_id_as_string) == 0) {
       replacement_id = MaybeScrubIPAddress(matched_id_as_string);
       if (replacement_id != matched_id_as_string) {
-        // USB paths can be confused with IPv4 Addresses because they can look
-        // similar: n-n.n.n.n . Ignore replacement if previous char is `-`
-        if (skipped.ends_with(dash) && strcmp("IPv4", pattern.alias) == 0) {
+        // Double-check overly opportunistic IPv4 address matching.
+        if ((strcmp("IPv4", pattern.alias) == 0) &&
+            ShouldSkipIPAddress(skipped)) {
           skipped.AppendToString(&result);
           matched_id.AppendToString(&result);
           continue;
diff --git a/components/feedback/redaction_tool_unittest.cc b/components/feedback/redaction_tool_unittest.cc
index d26d6e3..41d6790 100644
--- a/components/feedback/redaction_tool_unittest.cc
+++ b/components/feedback/redaction_tool_unittest.cc
@@ -113,6 +113,8 @@
      "255.300.255.255", PIIType::kNone},
     {"3-1.2.3.4",  // USB path, not an IP address.
      "3-1.2.3.4", PIIType::kNone},
+    {"Revision: 81600.0000.00.29.19.16_DO",  // Modem firmware
+     "Revision: 81600.0000.00.29.19.16_DO", PIIType::kNone},
     {"aaaa123.123.45.4aaa",  // IP address.
      "aaaa<IPv4: 23>aaa", PIIType::kIPAddress},
     {"11:11;11::11",  // IP address.
@@ -433,6 +435,26 @@
   // USB Path - not an actual IPv4 Address
   EXPECT_EQ("4-3.3.3.3", RedactCustomPatterns("4-3.3.3.3"));
 
+  // ModemManager modem firmware revisions - not actual IPv4 Addresses
+  EXPECT_EQ("Revision: 81600.0000.00.29.19.16_DO",
+            RedactCustomPatterns("Revision: 81600.0000.00.29.19.16_DO"));
+  EXPECT_EQ("Revision: 11.608.09.01.21",
+            RedactCustomPatterns("Revision: 11.608.09.01.21"));
+  EXPECT_EQ("Revision: 11.208.09.01.21",
+            RedactCustomPatterns("Revision: 11.208.09.01.21"));
+  EXPECT_EQ("Revision: BD_3GHAP673A4V1.0.0B02",
+            RedactCustomPatterns("Revision: BD_3GHAP673A4V1.0.0B02"));
+  EXPECT_EQ("Revision: 2.5.21Hd (Date: Jun 17 2008, Time: 12:30:47)",
+            RedactCustomPatterns(
+                "Revision: 2.5.21Hd (Date: Jun 17 2008, Time: 12:30:47)"));
+  EXPECT_EQ(
+      "Revision: 9.5.05.01-02  [2006-10-20 17:19:09]",
+      RedactCustomPatterns("Revision: 9.5.05.01-02  [2006-10-20 17:19:09]"));
+  EXPECT_EQ("Revision: LQA0021.1.1_M573A",
+            RedactCustomPatterns("Revision: LQA0021.1.1_M573A"));
+  EXPECT_EQ("Revision: 10.10.10.10",
+            RedactCustomPatterns("Revision: 10.10.10.10"));
+
   EXPECT_EQ("<URL: 1>", RedactCustomPatterns("http://example.com/foo?test=1"));
   EXPECT_EQ("Foo <URL: 2> Bar",
             RedactCustomPatterns("Foo http://192.168.0.1/foo?test=1#123 Bar"));
diff --git a/components/language/core/browser/ulp_metrics_logger.cc b/components/language/core/browser/ulp_metrics_logger.cc
index 5243229..872d6b8 100644
--- a/components/language/core/browser/ulp_metrics_logger.cc
+++ b/components/language/core/browser/ulp_metrics_logger.cc
@@ -4,7 +4,9 @@
 
 #include "components/language/core/browser/ulp_metrics_logger.h"
 
+#include "base/metrics/histogram_functions.h"
 #include "base/metrics/histogram_macros.h"
+#include "base/metrics/metrics_hashes.h"
 #include "ui/base/l10n/l10n_util.h"
 
 namespace language {
@@ -34,6 +36,19 @@
                            overlap_ratio_percent);
 }
 
+void ULPMetricsLogger::RecordInitiationNeverLanguagesMissingFromULP(
+    const std::vector<std::string>& never_languages) {
+  for (const auto& language : never_languages) {
+    base::UmaHistogramSparse(kInitiationNeverLanguagesMissingFromULP,
+                             base::HashMetricName(language));
+  }
+}
+
+void ULPMetricsLogger::RecordInitiationNeverLanguagesMissingFromULPCount(
+    int count) {
+  UMA_HISTOGRAM_COUNTS_100(kInitiationNeverLanguagesMissingFromULPCount, count);
+}
+
 ULPLanguageStatus ULPMetricsLogger::DetermineLanguageStatus(
     const std::string& language,
     const std::vector<std::string>& ulp_languages) {
@@ -90,4 +105,25 @@
   return (100 * num_ulp_languages_also_in_accept_languages) /
          ulp_languages.size();
 }
+
+std::vector<std::string> ULPMetricsLogger::RemoveULPLanguages(
+    const std::vector<std::string> languages,
+    const std::vector<std::string> ulp_languages) {
+  std::vector<std::string> filtered_languages;
+
+  for (const auto& language : languages) {
+    // Only add languages that do not have a base match in ulp_languages.
+    const std::string base_language = l10n_util::GetLanguage(language);
+    std::vector<std::string>::const_iterator base_match = std::find_if(
+        ulp_languages.begin(), ulp_languages.end(),
+        [&base_language](const std::string& ulp_language) {
+          return base_language.compare(l10n_util::GetLanguage(ulp_language)) ==
+                 0;
+        });
+    if (base_match == ulp_languages.end()) {
+      filtered_languages.push_back(language);
+    }
+  }
+  return filtered_languages;
+}
 }  // namespace language
diff --git a/components/language/core/browser/ulp_metrics_logger.h b/components/language/core/browser/ulp_metrics_logger.h
index d7d70a4..6dd7f220 100644
--- a/components/language/core/browser/ulp_metrics_logger.h
+++ b/components/language/core/browser/ulp_metrics_logger.h
@@ -20,6 +20,10 @@
     "LanguageUsage.ULP.Initiation.TopAcceptLanguageInULP";
 const char kInitiationAcceptLanguagesULPOverlapHistogram[] =
     "LanguageUsage.ULP.Initiation.AcceptLanguagesULPOverlap.Base";
+const char kInitiationNeverLanguagesMissingFromULP[] =
+    "LanguageUsage.ULP.Initiation.NeverLanguagesMissingFromULP";
+const char kInitiationNeverLanguagesMissingFromULPCount[] =
+    "LanguageUsage.ULP.Initiation.NeverLanguagesMissingFromULP.Count";
 
 // Keep up to date with ULPLanguageStatus in
 // //tools/metrics/histograms/enums.xml.
@@ -60,6 +64,15 @@
   virtual void RecordInitiationAcceptLanguagesULPOverlap(
       int overlap_ratio_percent);
 
+  // Record each Never Translate language that does not have a base match with a
+  // ULP language.
+  virtual void RecordInitiationNeverLanguagesMissingFromULP(
+      const std::vector<std::string>& never_languages);
+
+  // Record the count of Never Translate languages that do not have a base match
+  // with a ULP language.
+  virtual void RecordInitiationNeverLanguagesMissingFromULPCount(int count);
+
   // Returns an enum that indicates whether `language` is present in
   // `ulp_languages` and, if so, whether it was the first entry.
   virtual ULPLanguageStatus DetermineLanguageStatus(
@@ -72,6 +85,11 @@
   virtual int ULPLanguagesInAcceptLanguagesRatio(
       const std::vector<std::string> accept_languages,
       const std::vector<std::string> ulp_languages);
+
+  // Returns a vector with languages that do not have a ULP base language match.
+  virtual std::vector<std::string> RemoveULPLanguages(
+      const std::vector<std::string> languages,
+      const std::vector<std::string> ulp_languages);
 };
 
 }  // namespace language
diff --git a/components/language/core/browser/ulp_metrics_logger_unittest.cc b/components/language/core/browser/ulp_metrics_logger_unittest.cc
index 108a3b5..645a291 100644
--- a/components/language/core/browser/ulp_metrics_logger_unittest.cc
+++ b/components/language/core/browser/ulp_metrics_logger_unittest.cc
@@ -4,12 +4,16 @@
 
 #include "components/language/core/browser/ulp_metrics_logger.h"
 
+#include "base/metrics/metrics_hashes.h"
 #include "base/test/metrics/histogram_tester.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace language {
 
+using ::testing::ElementsAre;
+using ::testing::IsEmpty;
+
 TEST(ULPMetricsLoggerTest, TestLanguageCount) {
   ULPMetricsLogger logger;
   base::HistogramTester histogram;
@@ -63,6 +67,29 @@
                                21, 1);
 }
 
+TEST(ULPMetricsLoggerTest, TestNeverLanguagesMissingFromULP) {
+  ULPMetricsLogger logger;
+  base::HistogramTester histogram;
+
+  std::vector<std::string> never_languages_not_in_ulp = {"en-US", "de"};
+  logger.RecordInitiationNeverLanguagesMissingFromULP(
+      never_languages_not_in_ulp);
+
+  histogram.ExpectBucketCount(kInitiationNeverLanguagesMissingFromULP,
+                              base::HashMetricName("en-US"), 1);
+  histogram.ExpectBucketCount(kInitiationNeverLanguagesMissingFromULP,
+                              base::HashMetricName("de"), 1);
+}
+
+TEST(ULPMetricsLoggerTest, TestNeverLanguagesMissingFromULPCount) {
+  ULPMetricsLogger logger;
+  base::HistogramTester histogram;
+
+  logger.RecordInitiationNeverLanguagesMissingFromULPCount(3);
+  histogram.ExpectUniqueSample(kInitiationNeverLanguagesMissingFromULPCount, 3,
+                               1);
+}
+
 TEST(ULPMetricsLoggerTest, TestDetermineLanguageStatus) {
   ULPMetricsLogger logger;
   std::vector<std::string> ulp_languages = {"en-US", "es-419", "pt-BR", "de",
@@ -124,4 +151,21 @@
                 {"en-US", "af", "pt-BR", "es", "de", "fr-CA"}, ulp_languages));
 }
 
+TEST(ULPMetricsLoggerTest, TestRemoveULPLanguages) {
+  ULPMetricsLogger logger;
+  std::vector<std::string> ulp_languages = {"en-US", "es", "pt-BR", "de"};
+
+  EXPECT_THAT(
+      logger.RemoveULPLanguages({"af", "en", "am", "as"}, ulp_languages),
+      ElementsAre("af", "am", "as"));
+
+  EXPECT_THAT(logger.RemoveULPLanguages(
+                  {"en-GB", "af", "en-AU", "am", "pt", "as"}, ulp_languages),
+              ElementsAre("af", "am", "as"));
+
+  EXPECT_THAT(
+      logger.RemoveULPLanguages({"en", "pt-BR", "es-MX"}, ulp_languages),
+      IsEmpty());
+}
+
 }  // namespace language
diff --git a/components/network_session_configurator/browser/network_session_configurator.cc b/components/network_session_configurator/browser/network_session_configurator.cc
index 77653e7..1412711 100644
--- a/components/network_session_configurator/browser/network_session_configurator.cc
+++ b/components/network_session_configurator/browser/network_session_configurator.cc
@@ -31,7 +31,7 @@
 #include "net/quic/set_quic_flag.h"
 #include "net/spdy/spdy_session.h"
 #include "net/spdy/spdy_session_pool.h"
-#include "net/third_party/quiche/overrides/quiche_platform_impl/quic_flags_impl.h"
+#include "net/third_party/quiche/src/quiche/common/platform/api/quiche_flags.h"
 #include "net/third_party/quiche/src/quiche/quic/core/quic_packets.h"
 #include "net/third_party/quiche/src/quiche/quic/core/quic_tag.h"
 #include "net/third_party/quiche/src/quiche/spdy/core/spdy_protocol.h"
diff --git a/components/omnibox/browser/autocomplete_controller.cc b/components/omnibox/browser/autocomplete_controller.cc
index ae16247..0049de1 100644
--- a/components/omnibox/browser/autocomplete_controller.cc
+++ b/components/omnibox/browser/autocomplete_controller.cc
@@ -292,6 +292,11 @@
       zero_suggest_provider_(nullptr),
       on_device_head_provider_(nullptr),
       stop_timer_duration_(OmniboxFieldTrial::StopTimerFieldTrialDuration()),
+      update_debouncer_(
+          OmniboxFieldTrial::
+              kAutocompleteStabilityUpdateResultDebounceFromLastRun.Get(),
+          OmniboxFieldTrial::kAutocompleteStabilityUpdateResultDebounceDelay
+              .Get()),
       done_(true),
       in_start_(false),
       is_cros_launcher_(is_cros_launcher),
@@ -599,7 +604,7 @@
   // signals to the controller so it doesn't realize that anything was
   // cleared or changed.  Even if the default match hasn't changed, we
   // need the edit model to update the display.
-  UpdateResult(false, true);
+  DelayedUpdateResult(false, true);
 
   in_start_ = false;
 
@@ -685,7 +690,7 @@
   // The first true makes UpdateResult() clear out the results and
   // regenerate them, thus ensuring that no results from the previous
   // result set remain.
-  UpdateResult(true, false);
+  DelayedUpdateResult(true, false);
 }
 
 void AutocompleteController::OnProviderUpdate(
@@ -710,8 +715,10 @@
   CheckIfDone();
   // Multiple providers may provide synchronous results, so we only update the
   // results if we're not in Start().
-  if (updated_matches || done_)
+  if (done_)
     UpdateResult(false, false);
+  else if (updated_matches)
+    DelayedUpdateResult(false, false);
 }
 
 void AutocompleteController::AddProviderAndTriggeringLogs(
@@ -850,6 +857,7 @@
     bool regenerate_result,
     bool force_notify_default_match_changed) {
   TRACE_EVENT0("omnibox", "AutocompleteController::UpdateResult");
+  update_debouncer_.CancelRequest();
 
   absl::optional<AutocompleteMatch> last_default_match;
   std::u16string last_default_associated_keyword;
@@ -987,6 +995,14 @@
   NotifyChanged(force_notify_default_match_changed || notify_default_match);
 }
 
+void AutocompleteController::DelayedUpdateResult(
+    bool regenerate_result,
+    bool force_notify_default_match_changed) {
+  update_debouncer_.RequestRun(base::BindOnce(
+      &AutocompleteController::UpdateResult, base::Unretained(this),
+      regenerate_result, force_notify_default_match_changed));
+}
+
 void AutocompleteController::UpdateAssociatedKeywords(
     AutocompleteResult* result) {
   if (!keyword_provider_)
diff --git a/components/omnibox/browser/autocomplete_controller.h b/components/omnibox/browser/autocomplete_controller.h
index 382e89ed..39da93b 100644
--- a/components/omnibox/browser/autocomplete_controller.h
+++ b/components/omnibox/browser/autocomplete_controller.h
@@ -23,6 +23,7 @@
 #include "components/omnibox/browser/autocomplete_input.h"
 #include "components/omnibox/browser/autocomplete_provider.h"
 #include "components/omnibox/browser/autocomplete_provider_client.h"
+#include "components/omnibox/browser/autocomplete_provider_debouncer.h"
 #include "components/omnibox/browser/autocomplete_provider_listener.h"
 #include "components/omnibox/browser/autocomplete_result.h"
 #include "components/omnibox/browser/bookmark_provider.h"
@@ -281,6 +282,10 @@
   void UpdateResult(bool regenerate_result,
                     bool force_notify_default_match_changed);
 
+  // Invokes `UpdateResult()` through `update_debouncer_`.
+  void DelayedUpdateResult(bool regenerate_result,
+                           bool force_notify_default_match_changed);
+
   // Updates |result| to populate each match's |associated_keyword| if that
   // match can show a keyword hint.  |result| should be sorted by
   // relevance before this is called.
@@ -391,6 +396,13 @@
   // to read the whole dropdown and doesn't expect it to change.
   base::TimeDelta stop_timer_duration_;
 
+  // Debouncer to avoid invoking `UpdateResult()` in quick succession. The last
+  // call, i.e. when all providers complete and `done_` is set true, is immune
+  // to this restriction. Other calls, including the sync update, are delayed.
+  // Only applies when the `kAutocompleteStability` is enabled with the
+  // corresponding params set.
+  AutocompleteProviderDebouncer update_debouncer_;
+
   // True if a query is not currently running.
   bool done_;
 
diff --git a/components/omnibox/browser/autocomplete_controller_metrics.cc b/components/omnibox/browser/autocomplete_controller_metrics.cc
index 5f69c8a..ca53ab8 100644
--- a/components/omnibox/browser/autocomplete_controller_metrics.cc
+++ b/components/omnibox/browser/autocomplete_controller_metrics.cc
@@ -41,11 +41,11 @@
     // Log changed or removed matches. Don't log for matches appended to the
     // bottom since that's less disruptive.
     if (i >= new_result.size() || last_result[i] != new_result[i]) {
-      LogSuggestionChangedMetrics(i);
+      LogSuggestionChangeIndexMetrics(i);
       any_match_changed_or_removed = true;
     }
   }
-  LogAnySuggestionChangedMetrics(any_match_changed_or_removed);
+  LogSuggestionChangeInAnyPositionMetrics(any_match_changed_or_removed);
 
   // Log suggestion finalization times.
 
@@ -144,30 +144,27 @@
     base::UmaHistogramTimes(name_prefix + ".Interrupted", elapsed_time);
 }
 
-void AutocompleteControllerMetrics::LogSuggestionChangedMetrics(
+void AutocompleteControllerMetrics::LogSuggestionChangeIndexMetrics(
     size_t change_index) const {
+  std::string name = "Omnibox.MatchStability.MatchChangeIndex";
+  size_t max = AutocompleteResult::kMaxAutocompletePositionValue;
   // These metrics are logged up to about 50 times per omnibox keystroke, so use
   // UMA macros for efficiency.
-  if (controller_.in_start()) {
-    UMA_HISTOGRAM_EXACT_LINEAR(
-        "Omnibox.CrossInputMatchStability.MatchChange", change_index,
-        AutocompleteResult::kMaxAutocompletePositionValue);
-  } else {
-    UMA_HISTOGRAM_EXACT_LINEAR(
-        "Omnibox.MatchStability.AsyncMatchChange2", change_index,
-        AutocompleteResult::kMaxAutocompletePositionValue);
-  }
+  if (controller_.in_start())
+    UMA_HISTOGRAM_EXACT_LINEAR(name + ".CrossInput", change_index, max);
+  else
+    UMA_HISTOGRAM_EXACT_LINEAR(name + ".Async", change_index, max);
+  UMA_HISTOGRAM_EXACT_LINEAR(name, change_index, max);
 }
 
-void AutocompleteControllerMetrics::LogAnySuggestionChangedMetrics(
+void AutocompleteControllerMetrics::LogSuggestionChangeInAnyPositionMetrics(
     bool changed) const {
-  // These metrics are logged up to about 5 times per omnibox keystroke, so use
-  // UMA macros for efficiency.
-  if (controller_.in_start()) {
-    UMA_HISTOGRAM_BOOLEAN(
-        "Omnibox.CrossInputMatchStability.MatchChangedInAnyPosition", changed);
-  } else {
-    UMA_HISTOGRAM_BOOLEAN(
-        "Omnibox.MatchStability.AsyncMatchChangedInAnyPosition", changed);
-  }
+  std::string name = "Omnibox.MatchStability.MatchChangeInAnyPosition";
+  // These metrics are logged up to about 5 times per omnibox keystroke, so
+  // use UMA macros for efficiency.
+  if (controller_.in_start())
+    UMA_HISTOGRAM_BOOLEAN(name + ".CrossInput", changed);
+  else
+    UMA_HISTOGRAM_BOOLEAN(name + ".Async", changed);
+  UMA_HISTOGRAM_BOOLEAN(name, changed);
 }
diff --git a/components/omnibox/browser/autocomplete_controller_metrics.h b/components/omnibox/browser/autocomplete_controller_metrics.h
index edc3dd1..d8e0835 100644
--- a/components/omnibox/browser/autocomplete_controller_metrics.h
+++ b/components/omnibox/browser/autocomplete_controller_metrics.h
@@ -102,15 +102,13 @@
                                          bool completed,
                                          const base::TimeTicks end_time) const;
 
-  // Logs 'Omnibox.CrossInputMatchStability.MatchChange' or
-  // 'Omnibox.MatchStability.AsyncMatchChange2' depending on
-  // `controller_.in_start()`.
-  void LogSuggestionChangedMetrics(size_t change_index) const;
+  // Logs 'Omnibox.MatchStability.MatchChangeIndex'. Additionally logs
+  // '*.CrossInput' or '*.Async' depending on `controller_.in_start()`.
+  void LogSuggestionChangeIndexMetrics(size_t change_index) const;
 
-  // Logs 'Omnibox.CrossInputMatchStability.MatchChangedInAnyPosition' or
-  // 'Omnibox.MatchStability.AsyncMatchChangedInAnyPosition' depending on
-  // `controller_.in_start()`.
-  void LogAnySuggestionChangedMetrics(bool changed) const;
+  // Logs 'Omnibox.MatchStability.MatchChangeInAnyPosition'. Additionally logs
+  // '*.CrossInput' or '*.Async' depending on `controller_.in_start()`.
+  void LogSuggestionChangeInAnyPositionMetrics(bool changed) const;
 
   const AutocompleteController& controller_;
 
diff --git a/components/omnibox/browser/autocomplete_controller_metrics_unittest.cc b/components/omnibox/browser/autocomplete_controller_metrics_unittest.cc
index c8adbda..df5e50bd 100644
--- a/components/omnibox/browser/autocomplete_controller_metrics_unittest.cc
+++ b/components/omnibox/browser/autocomplete_controller_metrics_unittest.cc
@@ -454,20 +454,28 @@
   // Expect the default match, third match, and last two matches to be logged
   // as changed, and nothing else.
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.MatchStability.AsyncMatchChange2"),
+                  "Omnibox.MatchStability.MatchChangeIndex.Async"),
               testing::ElementsAre(base::Bucket(0, 1), base::Bucket(2, 1),
                                    base::Bucket(3, 1), base::Bucket(4, 1)));
   // Expect that we log that at least one of the matches has changed.
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.MatchStability.AsyncMatchChangedInAnyPosition"),
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition.Async"),
               testing::ElementsAre(base::Bucket(1, 1)));
   // Expect that we don't log async updates to the sync histograms.
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.CrossInputMatchStability.MatchChange"),
+                  "Omnibox.MatchStability.MatchChangeIndex.CrossInput"),
               testing::ElementsAre());
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.CrossInputMatchStability.MatchChangedInAnyPosition"),
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition.CrossInput"),
               testing::ElementsAre());
+  // Verify the unsliced histograms.
+  EXPECT_THAT(histogram_tester_->GetAllSamples(
+                  "Omnibox.MatchStability.MatchChangeIndex"),
+              testing::ElementsAre(base::Bucket(0, 1), base::Bucket(2, 1),
+                                   base::Bucket(3, 1), base::Bucket(4, 1)));
+  EXPECT_THAT(histogram_tester_->GetAllSamples(
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition"),
+              testing::ElementsAre(base::Bucket(1, 1)));
   ResetHistogramTester();
 
   // Verify logging to the CrossInput* histograms.
@@ -476,20 +484,29 @@
   // Expect the default match, third match, and last two matches to be logged
   // as changed, and nothing else.
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.CrossInputMatchStability.MatchChange"),
+                  "Omnibox.MatchStability.MatchChangeIndex.CrossInput"),
               testing::ElementsAre(base::Bucket(0, 1), base::Bucket(2, 1),
                                    base::Bucket(3, 1), base::Bucket(4, 1)));
   // Expect that we log that at least one of the matches has changed.
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.CrossInputMatchStability.MatchChangedInAnyPosition"),
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition.CrossInput"),
               testing::ElementsAre(base::Bucket(1, 1)));
   // Expect that we don't log sync updates to the async histograms.
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.MatchStability.AsyncMatchChange2"),
+                  "Omnibox.MatchStability.MatchChangeIndex.Async"),
               testing::ElementsAre());
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.MatchStability.AsyncMatchChangedInAnyPosition"),
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition.Async"),
               testing::ElementsAre());
+  // Verify the unsliced histograms.
+  EXPECT_THAT(histogram_tester_->GetAllSamples(
+                  "Omnibox.MatchStability.MatchChangeIndex"),
+              testing::ElementsAre(base::Bucket(0, 1), base::Bucket(2, 1),
+                                   base::Bucket(3, 1), base::Bucket(4, 1)));
+  // Expect that we log that at least one of the matches has changed.
+  EXPECT_THAT(histogram_tester_->GetAllSamples(
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition"),
+              testing::ElementsAre(base::Bucket(1, 1)));
   ResetHistogramTester();
 
   // Verify no logging when appending matches.
@@ -500,16 +517,23 @@
   // Expect no changes logged; expect 1 false logged to
   // *MatchChangedInAnyPosition.
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.MatchStability.AsyncMatchChange2"),
+                  "Omnibox.MatchStability.MatchChangeIndex.Async"),
               testing::ElementsAre());
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.MatchStability.AsyncMatchChangedInAnyPosition"),
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition.Async"),
               testing::ElementsAre(base::Bucket(0, 1)));
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.CrossInputMatchStability.MatchChange"),
+                  "Omnibox.MatchStability.MatchChangeIndex.CrossInput"),
               testing::ElementsAre());
   EXPECT_THAT(histogram_tester_->GetAllSamples(
-                  "Omnibox.CrossInputMatchStability.MatchChangedInAnyPosition"),
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition.CrossInput"),
               testing::ElementsAre(base::Bucket(0, 1)));
+  // Verify the unsliced histograms.
+  EXPECT_THAT(histogram_tester_->GetAllSamples(
+                  "Omnibox.MatchStability.MatchChangeIndex"),
+              testing::ElementsAre());
+  EXPECT_THAT(histogram_tester_->GetAllSamples(
+                  "Omnibox.MatchStability.MatchChangeInAnyPosition"),
+              testing::ElementsAre(base::Bucket(0, 2)));
   ResetHistogramTester();
 }
diff --git a/components/omnibox/browser/autocomplete_provider_debouncer.cc b/components/omnibox/browser/autocomplete_provider_debouncer.cc
index 252f2e9c..7e616a1b 100644
--- a/components/omnibox/browser/autocomplete_provider_debouncer.cc
+++ b/components/omnibox/browser/autocomplete_provider_debouncer.cc
@@ -18,9 +18,10 @@
   if (from_last_run_)
     delay -= base::TimeTicks::Now() - time_last_run_;
 
-  if (delay <= base::TimeDelta())
+  if (delay <= base::TimeDelta()) {
+    CancelRequest();
     Run();
-  else {
+  } else {
     timer_.Start(FROM_HERE, delay,
                  base::BindOnce(&AutocompleteProviderDebouncer::Run,
                                 base::Unretained(this)));
diff --git a/components/omnibox/browser/omnibox_field_trial.cc b/components/omnibox/browser/omnibox_field_trial.cc
index c9e15056..60a7da6 100644
--- a/components/omnibox/browser/omnibox_field_trial.cc
+++ b/components/omnibox/browser/omnibox_field_trial.cc
@@ -749,6 +749,15 @@
     &omnibox::kAutocompleteStability,
     "AutocompleteStabilityAsyncProvidersFirst",
     false);
+const base::FeatureParam<bool>
+    kAutocompleteStabilityUpdateResultDebounceFromLastRun(
+        &omnibox::kAutocompleteStability,
+        "AutocompleteStabilityUpdateResultDebounceFromLastRun",
+        false);
+const base::FeatureParam<int> kAutocompleteStabilityUpdateResultDebounceDelay(
+    &omnibox::kAutocompleteStability,
+    "AutocompleteStabilityUpdateResultDebounceDelay",
+    0);
 
 // Local history zero-prefix (aka zero-suggest) and prefix suggestions:
 
diff --git a/components/omnibox/browser/omnibox_field_trial.h b/components/omnibox/browser/omnibox_field_trial.h
index 918ae7f..2aacb56 100644
--- a/components/omnibox/browser/omnibox_field_trial.h
+++ b/components/omnibox/browser/omnibox_field_trial.h
@@ -496,6 +496,14 @@
 // happen in parallel. This effects only the search, history_url, document, and
 // on device head providers.
 extern const base::FeatureParam<bool> kAutocompleteStabilityAsyncProvidersFirst;
+// Limit how frequently `AutocompleteController::UpdateResult()` will be
+// invoked. See the comments at `AutocompleteController::update_debouncer_`.
+extern const base::FeatureParam<bool>
+    kAutocompleteStabilityUpdateResultDebounceFromLastRun;
+// See `kAutocompleteStabilityUpdateResultDebounceFromLastRun`. No debouncing
+// if set to 0.
+extern const base::FeatureParam<int>
+    kAutocompleteStabilityUpdateResultDebounceDelay;
 
 // Local history zero-prefix (aka zero-suggest) and prefix suggestions.
 
diff --git a/components/omnibox/browser/shortcuts_provider_unittest.cc b/components/omnibox/browser/shortcuts_provider_unittest.cc
index f867041..e3f40d2 100644
--- a/components/omnibox/browser/shortcuts_provider_unittest.cc
+++ b/components/omnibox/browser/shortcuts_provider_unittest.cc
@@ -267,7 +267,9 @@
   // `scoped_feature_list_` needs to be initialized as early as possible, to
   // avoid data races caused by tasks on other threads accessing it.
   scoped_feature_list_.Reset();
-  scoped_feature_list_.InitAndEnableFeature(omnibox::kShortcutExpanding);
+  RichAutocompletionParams::ClearParamsForTesting();
+  scoped_feature_list_.InitWithFeatures({omnibox::kShortcutExpanding},
+                                        {omnibox::kRichAutocompletion});
 };
 
 void ShortcutsProviderTest::SetUp() {
@@ -760,7 +762,9 @@
     // `scoped_feature_list_` needs to be initialized as early as possible, to
     // avoid data races caused by tasks on other threads accessing it.
     scoped_feature_list_.Reset();
-    scoped_feature_list_.InitAndEnableFeature(omnibox::kAggregateShortcuts);
+    RichAutocompletionParams::ClearParamsForTesting();
+    scoped_feature_list_.InitWithFeatures({omnibox::kAggregateShortcuts},
+                                          {omnibox::kRichAutocompletion});
   }
 };
 
diff --git a/components/omnibox/browser/titled_url_match_utils_unittest.cc b/components/omnibox/browser/titled_url_match_utils_unittest.cc
index 7c3b1ea..b8c57049 100644
--- a/components/omnibox/browser/titled_url_match_utils_unittest.cc
+++ b/components/omnibox/browser/titled_url_match_utils_unittest.cc
@@ -173,6 +173,10 @@
 }
 
 TEST(TitledUrlMatchUtilsTest, DontTrimHttpSchemeIfInputHasScheme) {
+  RichAutocompletionParams::ClearParamsForTesting();
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndDisableFeature({omnibox::kRichAutocompletion});
+
   GURL match_url("http://www.facebook.com/");
   AutocompleteMatch autocomplete_match =
       BuildTestAutocompleteMatch("http://face", match_url, {{11, 15}});
@@ -217,6 +221,10 @@
 }
 
 TEST(TitledUrlMatchUtilsTest, DontTrimHttpsSchemeIfInputHasScheme) {
+  RichAutocompletionParams::ClearParamsForTesting();
+  base::test::ScopedFeatureList feature_list;
+  feature_list.InitAndDisableFeature({omnibox::kRichAutocompletion});
+
   GURL match_url("https://www.facebook.com/");
   AutocompleteMatch autocomplete_match =
       BuildTestAutocompleteMatch("https://face", match_url, {{12, 16}});
diff --git a/components/omnibox/common/omnibox_features.cc b/components/omnibox/common/omnibox_features.cc
index 423ea68..413092e7 100644
--- a/components/omnibox/common/omnibox_features.cc
+++ b/components/omnibox/common/omnibox_features.cc
@@ -209,7 +209,7 @@
 // duplicate shortcuts are given an aggregate score, as if they had been a
 // single shortcut.
 const base::Feature kAggregateShortcuts{"OmniboxAggregateShortcuts",
-                                        base::FEATURE_DISABLED_BY_DEFAULT};
+                                        base::FEATURE_ENABLED_BY_DEFAULT};
 
 // If enabled, when updating or creating a shortcut, the last word of the input
 // is expanded, if possible, to a complete word in the suggestion description.
diff --git a/components/policy/resources/policy_templates_de.xtb b/components/policy/resources/policy_templates_de.xtb
index cbcf695..9d2bd60 100644
--- a/components/policy/resources/policy_templates_de.xtb
+++ b/components/policy/resources/policy_templates_de.xtb
@@ -2593,7 +2593,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> – Das einzeilige Feld ist veraltet und wird in Zukunft entfernt. Bitte nutze das mehrzeilige Textfeld unten.</translation>
 <translation id="3709266154059827597">Sperrliste für Installation von Erweiterungen konfigurieren</translation>
 <translation id="3711895659073496551">Suspend-Modus</translation>
-<translation id="3715569262675717862">Authentifizierung auf Grundlage von Clientzertifikaten</translation>
 <translation id="3717409415785131989">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, wird die neue Benutzeroberfläche für das Download-Infofeld in <ph name="PRODUCT_NAME" /> angezeigt.
 
       Ist sie deaktiviert, wird in <ph name="PRODUCT_NAME" /> weiter die alte Benutzeroberfläche für die Download-Ablage angezeigt.</translation>
@@ -2973,13 +2972,6 @@
 <translation id="410068710490553233">Anmeldung in zusätzlichen Google-Konten zulassen</translation>
 <translation id="4101282687722389021">UTC-Zeitstempel für die letzte Änderung dieses Eintrags. Wird als String gesendet, da der Zeitstempel nicht als Ganzzahl angegeben werden kann.</translation>
 <translation id="4103289232974211388">Nach Bestätigung durch Nutzer an SAML-IdP weiterleiten</translation>
-<translation id="4105884561459127998">Hiermit wird der Typ der Authentifizierung für SAML-Anmeldungen konfiguriert.
-
-      Wenn diese Richtlinie nicht konfiguriert oder auf dem Standardwert (Wert 0) belassen wird, wird das Verhalten bei SAML-Anmeldungen abhängig von anderen Faktoren vom Browser festgelegt. Im einfachsten Fall basieren die Nutzerauthentifizierung und der Schutz der im Cache gespeicherten Nutzerdaten auf Passwörtern, die von den Nutzern manuell eingegeben werden.
-
-      Wenn diese Richtlinie auf "ClientCertificate" (Wert 1) festgelegt ist, kommt für neu hinzugefügte Nutzer, die sich über SAML anmelden, die Authentifizierung mit Clientzertifikat zum Einsatz. Für solche Nutzer werden keine Passwörter verwendet und ihre im Cache gespeicherten lokalen Daten werden durch entsprechende kryptografische Schlüssel geschützt. Diese Einstellung ermöglicht z. B. die Konfiguration einer Nutzerauthentifizierung auf Grundlage von Smartcards. Hinweis: In diesem Fall ist die Installation von Smartcard-Middleware-Apps über die Richtlinie "DeviceLoginScreenExtensions" erforderlich.
-
-      Diese Richtlinie wirkt sich nur auf Nutzer aus, die sich über SAML authentifizieren.</translation>
 <translation id="4105989332710272578">Erzwingung der Zertifikatstransparenz für eine Liste von URLs deaktivieren</translation>
 <translation id="4114059938441379876">Wenn diese Richtlinie konfiguriert ist, wird die URL für Nutzer festgelegt, über die sie ihr Passwort ändern können, nachdem ihnen im Browser eine Warnung angezeigt wurde. Der Passwortschutzdienst leitet Nutzer weiter zu der URL (nur HTTP- und HTTPS-Protokolle), die du mit dieser Richtlinie festlegst. Die Seite zum Ändern des Passworts muss den Richtlinien unter https://www.chromium.org/developers/design-documents/create-amazing-password-forms entsprechen, damit der Salted-Hash-Wert des neuen Passworts in <ph name="PRODUCT_NAME" /> richtig erfasst werden kann.
 
@@ -4054,11 +4046,6 @@
       Ist für diese Richtlinie eine Liste mit IDs für Eingabemethoden festgelegt, werden die entsprechenden Eingabemethoden auf der Anmeldeseite bereitgestellt. Das oberste Listenelement ist vorab ausgewählt. Während bestimmte Nutzerdaten auf der Anmeldeseite markiert sind, wird zusätzlich zu den von dieser Richtlinie bereitgestellten Eingabemethoden auch die vom Nutzer zuletzt verwendete angeboten. Ist diese Richtlinie nicht konfiguriert, werden die Eingabemethoden auf der Anmeldeseite von der Sprache der Anmeldeseite abgeleitet. Werte, die keine gültigen IDs für Eingabemethoden sind, werden ignoriert.</translation>
 <translation id="5407008856008996384">Zugriff auf CUPS-Drucker zulassen</translation>
 <translation id="5413051574966911176">Benutzeroberflächen im Zusammenhang mit der Verbindung auf dem Remote-Host-Desktop während einer aktiven Verbindung deaktivieren</translation>
-<translation id="5417597818300833094">Wenn die Richtlinie konfiguriert ist, können Nutzer eine der von dir festgelegten Eingabemethoden für <ph name="PRODUCT_OS_NAME" />-Sitzungen auswählen.
-
-       Wenn sie nicht konfiguriert oder eine leere Liste festgelegt ist, können Nutzer alle unterstützten Eingabemethoden auswählen.
-
-      Hinweis: Falls die aktuelle Eingabemethode nicht unterstützt wird, wird die Eingabemethode auf das Hardware-Tastaturlayout (falls zulässig) oder den ersten gültigen Eintrag in dieser Liste eingestellt. Alle ungültigen oder nicht unterstützten Eingabemethoden in der Liste werden ignoriert.</translation>
 <translation id="5417906792459853336">Mit dieser Richtlinie wird festgelegt, ob Informationen zum Bestand der Anwendungen und zur Verwendung eines Geräts ausgegeben werden.
 
       Wenn sie auf "false" gesetzt oder nicht konfiguriert ist, werden keine Informationen ausgegeben.
@@ -4775,16 +4762,6 @@
 <translation id="6207607210601267301">Authentifizierung ohne PIN für den Host für den Remote-Zugriff deaktivieren</translation>
 <translation id="6208896993204286313"><ph name="PRODUCT_NAME" />-Richtliniendaten erfassen</translation>
 <translation id="6210259502936598222">Informationen zu Betriebssystem und <ph name="PRODUCT_NAME" />-Version erfassen</translation>
-<translation id="6210422374261465354">Ermöglicht dir, Konfigurationen für Authentifizierungs-URLs in <ph name="WEBVIEW_PRODUCT_NAME" /> anzugeben.
-
-      Diese Authentifizierungs-URLs werden von <ph name="WEBVIEW_PRODUCT_NAME" /> so verarbeitet: Wenn bei der Authentifizierung von einer Webseite in <ph name="WEBVIEW_PRODUCT_NAME" /> Authentifizierungs-URLs aufgerufen werden, wird die Authentifizierungs-App des jeweiligen Identitätsanbieters gestartet, die diese Authentifizierungs-URL verarbeiten kann.
-
-      Mit dem Start der Authentifizierungs-App ermöglichen die Identitätsanbieter Anwendungsfälle wie die App-übergreifende SSO-Bereitstellung bzw. ein höheres Sicherheitslevel, indem anhand von Zero-Trust-Gerätesignalen der Gerätestatus während der Authentifizierung ermittelt wird.
-
-      Wenn keine gültige App zur Verarbeitung der Authentifizierungs-URL auf dem Gerät installiert ist, wird die Navigation in <ph name="WEBVIEW_PRODUCT_NAME" /> fortgesetzt.
-
-      Gültige Authentifizierungs-URLs folgen dem Schema <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> und enthalten keine Platzhalter.
-      </translation>
 <translation id="6212868225782276239">Alle Drucker außer denen in der Sperrliste werden angezeigt.</translation>
 <translation id="6220835555850906733">Wenn die Richtlinie aktiviert oder nicht konfiguriert ist, ist jede unterstützte Audioausgabe auf den Geräten der Nutzer zulässig.
 
@@ -6101,7 +6078,6 @@
 <translation id="7554382342294940216">Wenn diese Richtlinie aktiviert ist, ermöglicht sie <ph name="PRODUCT_OS_NAME" />, zur Captive-Portal-Authentifizierung alle Proxys zu umgehen. Diese Authentifizierungswebseiten – also alle Webseiten ab der Captive Portal-Anmeldeseite, bis Chrome eine funktionierende Internetverbindung erkennt – werden in einem separaten Fenster geöffnet, wobei alle Richtlinieneinstellungen und -beschränkungen für den aktuellen Nutzer ignoriert werden. Diese Richtlinie kommt nur dann zum Einsatz, wenn ein Proxy konfiguriert ist, zum Beispiel über eine Richtlinie, eine Erweiterung oder vom Nutzer unter chrome://settings.
 
       Wenn du diese Einstellung deaktivierst oder nicht konfigurierst, werden alle Seiten der Captive-Portal-Authentifizierung auf einem regulären neuen Browsertab angezeigt und es kommen die Proxy-Einstellungen des aktuellen Nutzers zum Einsatz.</translation>
-<translation id="7566878661979235378">SAML-Anmeldungsauthentifizierungstyp</translation>
 <translation id="7567373982693549834">Diese Richtlinie kontrolliert für einzelne Nutzer die Nutzung von Android-Apps, die aus anderen Quellen als Google Play heruntergeladen wurden.
 
       Wenn diese Richtlinie nicht konfiguriert ist, können keine Apps aus anderen Quellen verwendet werden.
@@ -7386,7 +7362,6 @@
 <translation id="8951350807133946005">Datenträger-Cache-Verzeichnis festlegen</translation>
 <translation id="8955719471735800169">Zurück nach oben</translation>
 <translation id="8956312248048980644">Diese Richtlinie erlaubt standardmäßig das an Ursprünge gebundene Agent-Clustering.</translation>
-<translation id="8959992920425111821">Standardkonfiguration</translation>
 <translation id="8967125680876068695">Chrome-Apps wurden für Windows, Mac und Linux eingestellt.
       Wenn diese Richtlinie aktiviert wird, erlaubt <ph name="PRODUCT_NAME" /> es, dass Chrome-Apps bis zu dem Datum im Juni 2022, an dem die Unterstützung für Chrome-Apps auf allen Plattformen beendet wird, auf diesen Plattformen ausgeführt werden.
       Wenn diese Richtlinie deaktiviert oder nicht eingerichtet ist, dürfen Chrome-Apps unter Umständen nicht ausgeführt werden, je nach dem Status des Einstellungs-Roll-outs.
diff --git a/components/policy/resources/policy_templates_es-419.xtb b/components/policy/resources/policy_templates_es-419.xtb
index fc92eca..31d9267e 100644
--- a/components/policy/resources/policy_templates_es-419.xtb
+++ b/components/policy/resources/policy_templates_es-419.xtb
@@ -2614,7 +2614,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Pronto dejará de estar disponible el campo de una línea y desaparecerá. Empieza a usar el cuadro de texto de varias líneas que se encuentra a continuación).</translation>
 <translation id="3709266154059827597">Configurar la lista negra de instalación de extensiones</translation>
 <translation id="3711895659073496551">Suspender</translation>
-<translation id="3715569262675717862">Autenticación basada en certificados de clientes</translation>
 <translation id="3717409415785131989">Si habilitas la política o no la estableces, se muestra la nueva IU del cuadro de descarga en <ph name="PRODUCT_NAME" />.
 
       Si la inhabilitas, <ph name="PRODUCT_NAME" /> seguirá mostrando la antigua IU de la barra de descarga.</translation>
@@ -2995,13 +2994,6 @@
 <translation id="410068710490553233">Permite acceder en más Cuentas de Google</translation>
 <translation id="4101282687722389021">Una marca de tiempo (UTC) que indica la última vez que se actualizó esta entrada. Se envía como un string ya que la marca de tiempo no entra en un valor entero.</translation>
 <translation id="4103289232974211388">Redireccionar al IdP de SAML después de la confirmación del usuario</translation>
-<translation id="4105884561459127998">Configura el tipo de autenticación para los accesos SAML.
-
-      Cuando no se configura esta política o se establece como predeterminada (valor 0), el navegador determina el comportamiento de los accesos SAML según otros factores. En el caso más básico, la autenticación del usuario y la protección de los datos del usuario en caché se basan en las contraseñas que los usuarios hayan ingresado manualmente.
-
-      Si esta política se establece como ClientCertificate (valor 1), la autenticación de certificados de cliente se usa para los usuarios agregados recientemente con acceso mediante SAML. No se usan contraseñas para estos usuarios, y sus datos almacenados localmente en caché se protegen con claves criptográficas correspondientes. Por ejemplo, esta configuración permite establecer la autenticación de usuarios basada en tarjetas inteligentes (ten en cuenta que las apps de middleware de tarjetas inteligentes deben instalarse mediante la política DeviceLoginScreenExtensions).
-
-      Esta política solo afecta a los usuarios que realizan la autenticación con SAML.</translation>
 <translation id="4105989332710272578">Inhabilitar la aplicación del Certificado de transparencia para una lista de URL</translation>
 <translation id="4114059938441379876">Si estableces la política, se configurará la URL para que los usuarios cambien su contraseña cuando vean una advertencia en el navegador. El servicio de protección de contraseñas envíará a los usuarios a la URL (solo protocolos HTTP y HTTPS) que designes a través de esta política. Para que <ph name="PRODUCT_NAME" /> capture correctamente el hash con sal de la nueva contraseña en esta página de cambio de contraseña, asegúrate de que la página cumpla con estos lineamientos ( https://www.chromium.org/developers/design-documents/create-amazing-password-forms ).
 
@@ -3196,6 +3188,13 @@
 <translation id="4347908978527632940">Si la política se establece en true y el usuario es uno supervisado, otras apps de Android pueden consultar las restricciones web del usuario mediante un proveedor de contenido.
 
           Si la política se establece en false o no se establece, el proveedor de contenido no muestra ninguna información.</translation>
+<translation id="4357587374229381015">Especifica un nombre de parámetro de URL que se utilizará en la página de acceso del IdP de SAML para autocompletar el campo de nombre de usuario.
+
+      Se usará el correo electrónico del usuario asociado con su perfil de <ph name="PRODUCT_OS_NAME" /> como valor del parámetro de URL. Por lo tanto, esta configuración debe estar inhabilitada si se espera que los usuarios usen correos electrónicos con el IdP de SAML.
+
+      Si no la estableces, los usuarios tendrán que ingresar su nombre de usuario manualmente en la página de acceso del IdP de SAML.
+
+      Esta política afecta la autenticación en línea en las pantallas de acceso y bloqueo.</translation>
 <translation id="4363057787588706121">Permitir la combinación de políticas de listas con diferentes fuentes</translation>
 <translation id="4363101430102811068">Habilita la detección de filtraciones en las credenciales que se ingresan</translation>
 <translation id="436581050240847513">Informar interfaces de red del dispositivo</translation>
@@ -4087,11 +4086,6 @@
       Si esta política se establece como una lista de identificadores de método de entrada, estos métodos estarán disponibles en la pantalla de acceso y se preseleccionará el primero de ellos. Cuando se activa un módulo de sesión de usuario en la pantalla de acceso, el último método de entrada que este utilizó estará disponible junto con aquellos que especifica esta política. Si no se establece esta política, los métodos de entrada de la pantalla de acceso se obtendrán a partir de la configuración regional que se muestra en la pantalla de acceso. Se ignorarán los valores que no sean identificadores válidos de métodos de entrada.</translation>
 <translation id="5407008856008996384">Permite acceder a impresoras CUPS</translation>
 <translation id="5413051574966911176">Inhabilitar la IU relacionada con la conexión en el escritorio del host remoto cuando una conexión está activa</translation>
-<translation id="5417597818300833094">Si estableces la política, los usuarios podrán elegir uno de los métodos de entrada para las sesiones de <ph name="PRODUCT_OS_NAME" /> que especifiques.
-
-       Si no la estableces o la estableces como una lista vacía, los usuarios podrán seleccionar todos los métodos de entrada compatibles.
-
-      Nota: Si el método de entrada actual no es compatible, este cambiará al diseño de teclado del hardware (si se permite) o a la primera entrada válida de la lista. Se ignorarán los métodos no válidos o no compatibles.</translation>
 <translation id="5417906792459853336">Envía información sobre el uso de un dispositivo y su inventario de aplicaciones.
 
       Si se establece la política como falsa o no se establece, no se enviará la información.
@@ -4829,18 +4823,6 @@
 <translation id="6207607210601267301">Inhabilitar la autenticación sin PIN para el host de acceso remoto</translation>
 <translation id="6208896993204286313">Enviar la información de la política de <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Enviar la información del SO y de la versión de <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">Te permite especificar la configuración para URLs de autenticación en <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      <ph name="WEBVIEW_PRODUCT_NAME" /> tratará de manera especial estas URLs de autenticación, de manera que, durante la autenticación, cuando se navegue por la página web de <ph name="WEBVIEW_PRODUCT_NAME" />
-      a las URLs de autenticación, se iniciará la app de autenticador de los proveedores de identidad correspondiente que pueda administrar la URL.
-
-      Los proveedores de identidad utilizarán el flujo de ejecutar la app de autenticador de estos proveedores para habilitar
-      casos de uso en los que se brinda SSO en distintas apps o una mejor seguridad recopilando señales de dispositivos de confianza cero para entender la posición del dispositivo durante la autenticación.
-
-      Si no hay ninguna app válida instalada que pueda administrar la URL de autenticación en el dispositivo, la navegación continuará en <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Los URLs de autenticación válidos deben seguir el modelo <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> y no deben contener comodines.
-      </translation>
 <translation id="6212868225782276239">Se muestran todas las impresoras, excepto las de la lista negra.</translation>
 <translation id="6220835555850906733">Si habilitas la política o no la estableces, se permitirán todas las salidas de audio compatibles en los dispositivos de los usuarios.
 
@@ -6174,7 +6156,6 @@
 <translation id="7554382342294940216">Si habilitas la política, <ph name="PRODUCT_OS_NAME" /> podrá omitir cualquier proxy para autenticar portales cautivos. Estas páginas web de autenticación (desde la página de acceso del portal cautivo hasta que Chrome detecte una conexión a Internet exitosa) se abren en una ventana separada; por lo tanto, se ignorarán todas las opciones de configuración de la política y las restricciones para el usuario actual. Esta política solo tendrá efecto si se configura un proxy (por política, extensión o el usuario que aparece en chrome://settings).
 
       Si la inhabilitas o no la estableces, se mostrarán las páginas de autenticación del portal cautivo en una nueva pestaña del navegador (común) con la configuración de proxy del usuario actual.</translation>
-<translation id="7566878661979235378">Tipo de autenticación del acceso SAML</translation>
 <translation id="7567373982693549834">Esta política controla la forma en que cada usuario usa las apps para Android de fuentes no seguras (que no provienen de Google Play Store).
 
       Si no se establece el valor para esta política, no se permitirá la funcionalidad.
@@ -7467,7 +7448,6 @@
 <translation id="8951350807133946005">Configurar el directorio de caché de disco</translation>
 <translation id="8955719471735800169">Volver al principio</translation>
 <translation id="8956312248048980644">Permitir el agrupamiento en clústeres de agentes con clave de origen de forma predeterminada</translation>
-<translation id="8959992920425111821">Configuración predeterminada</translation>
 <translation id="8967125680876068695">Las Apps de Chrome dejaron de estar disponibles en Windows, Mac y Linux.
       Si se habilita esta política, <ph name="PRODUCT_NAME" /> seguirá permitiendo que se ejecuten las Apps de Chrome en estas plataformas hasta la fecha final en la que se quite su compatibilidad con todas las plataformas (junio de 2022).
       Si se inhabilita esta política o no se establece, es posible que no se puedan ejecutar las Apps de Chrome (en función del estado del lanzamiento de la desactivación).
diff --git a/components/policy/resources/policy_templates_es.xtb b/components/policy/resources/policy_templates_es.xtb
index 6754c3a..5a5292a 100644
--- a/components/policy/resources/policy_templates_es.xtb
+++ b/components/policy/resources/policy_templates_es.xtb
@@ -2624,7 +2624,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (el campo de una línea está obsoleto y desaparecerá en el futuro; a partir de ahora, debes utilizar el campo de varias líneas que aparece más abajo).</translation>
 <translation id="3709266154059827597">Configurar lista negra de instalación de extensiones</translation>
 <translation id="3711895659073496551">Suspender</translation>
-<translation id="3715569262675717862">Autenticación basada en certificados de cliente</translation>
 <translation id="3717409415785131989">Si se habilita la política o no se establece, se mostrará la nueva interfaz del cuadro de descargas en <ph name="PRODUCT_NAME" />.
 
       Si se inhabilita, <ph name="PRODUCT_NAME" /> seguirá mostrando la interfaz antigua de la estantería de descargas.</translation>
@@ -3005,13 +3004,6 @@
 <translation id="410068710490553233">Permite iniciar sesión en más cuentas de Google</translation>
 <translation id="4101282687722389021">Marca de tiempo UTC de la última vez que se actualizó esta entrada. Enviada como cadena porque la marca de tiempo no cabe en un número entero.</translation>
 <translation id="4103289232974211388">Redirigir al proveedor de identidad SAML después de la confirmación del usuario</translation>
-<translation id="4105884561459127998">Configura el tipo de autenticación de inicios de sesión con SAML.
-
-      Cuando no se le asigna ningún valor a esta política o se le asigna el valor "Default" (valor 0), el navegador determina el comportamiento de los inicios de sesión con SAML según otros factores. En el caso más simple, la autenticación de usuario y la protección de los datos de usuario almacenados en caché se basan en contraseñas que los usuarios han introducido de forma manual.
-
-      Si se le asigna el valor "ClientCertificate" (valor 1), se utiliza la autenticación con certificado de cliente con usuarios añadidos recientemente que inicien sesión a través de SAML. Con estos usuarios no se utiliza ninguna contraseña, y sus datos locales almacenados en caché se protegen usando las claves criptográficas pertinentes. Por ejemplo, esta opción permite configurar la autenticación de usuario basada en tarjetas inteligentes (ten en cuenta que las aplicaciones middleware de tarjetas inteligentes deben instalarse a través de la política DeviceLoginScreenAppInstallList).
-
-      Esta política solo afecta a los usuarios que usen la autenticación con SAML.</translation>
 <translation id="4105989332710272578">No permite que se aplique la Transparencia en Certificados a una lista de URLs</translation>
 <translation id="4114059938441379876">Si se define esta política, se configurará la URL donde los usuarios podrán cambiar sus contraseñas después de ver una advertencia en el navegador. El servicio de protección de contraseñas envía a los usuarios a la URL que designes (únicamente con protocolos HTTP y HTTPS) a través de esta política. Para que <ph name="PRODUCT_NAME" /> capture correctamente el hash con salt de la nueva contraseña en esta página de cambio de contraseña, la página debe seguir las directrices incluidas en https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
 
@@ -3206,6 +3198,13 @@
 <translation id="4347908978527632940">Si la política está activada y se trata de un usuario supervisado, otras aplicaciones de Android pueden consultar las restricciones web del usuario a través de un proveedor de contenido.
 
           Si está desactivada o no se ha establecido, el proveedor de contenido no devuelve ninguna información.</translation>
+<translation id="4357587374229381015">Especifica el nombre del parámetro de URL que se usará en la página de inicio de sesión del proveedor de identidades SAML para autocompletar el campo del nombre de usuario.
+
+      El correo del usuario asociado a su perfil de <ph name="PRODUCT_OS_NAME" /> se utilizará como valor del parámetro de URL. Por lo tanto, esta opción debe estar inhabilitada si se espera que los usuarios utilicen otros correos con el proveedor de identidades SAML.
+
+      Si no se define esta opción, los usuarios tendrán que introducir manualmente su nombre de usuario en la página de inicio de sesión del proveedor de identidades SAML.
+
+      Esta política afecta a la autenticación online en las pantallas de inicio de sesión y de bloqueo.</translation>
 <translation id="4363057787588706121">Permite combinar listas de políticas de fuentes distintas</translation>
 <translation id="4363101430102811068">Habilita la detección de filtraciones de datos para las credenciales introducidas</translation>
 <translation id="436581050240847513">Permite informar de interfaces de red del dispositivo</translation>
@@ -4093,11 +4092,6 @@
       Si se asigna una lista de identificadores de métodos de introducción a esta política, esos métodos estarán disponibles en la pantalla de inicio de sesión. El primer método de introducción estará preseleccionado. El grupo de un usuario aparece centrado en la pantalla de inicio de sesión, pero también se mostrará el último método de introducción por el usuario junto a los métodos de introducción proporcionados por esta política. Si esta política no se configura, los métodos de introducción de la pantalla de inicio de sesión procederán de la configuración regional en la que se muestre esa pantalla. Los valores que no sean identificadores de métodos de introducción válidos se ignorarán.</translation>
 <translation id="5407008856008996384">Permitir acceso a impresoras CUPS</translation>
 <translation id="5413051574966911176">Inhabilitar la UI relacionada con la conexión en el escritorio del host remoto cuando una conexión esté activa</translation>
-<translation id="5417597818300833094">Si se establece esta política, los usuarios podrán elegir uno de los métodos de introducción de texto para las sesiones de <ph name="PRODUCT_OS_NAME" /> que especifiques.
-
-       Si no se establece o se le asigna una lista vacía, los usuarios podrán seleccionar todos los métodos de introducción de texto admitidos.
-
-      Nota: Si no se admite el método de introducción de texto actual, se cambiará al diseño de teclado del hardware (si se permite) o a la primera entrada válida de esta lista. Se ignorarán los métodos no válidos o no admitidos.</translation>
 <translation id="5417906792459853336">Enviar información sobre el uso y el inventario de aplicaciones de un dispositivo.
 
       Si se asigna el valor "false" a esta política o no se establece ninguno, no se enviará esta información.
@@ -4837,18 +4831,6 @@
 <translation id="6207607210601267301">Inhabilitar la autenticación sin PIN para el host de acceso remoto</translation>
 <translation id="6208896993204286313">Proporcionar información de políticas de <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Proporcionar información de versiones del SO y de <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">Te permite especificar la configuración de las URLs de autenticación en <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Estas URLs de autenticación se tratarán de forma especial en <ph name="WEBVIEW_PRODUCT_NAME" />, de tal manera que, durante la autenticación, cuando se navega por la página web de <ph name="WEBVIEW_PRODUCT_NAME" />
-      a las URLs de autenticación, se iniciará la aplicación de autenticación correspondiente de los proveedores de identidad que puedan gestionar esta URL de autenticación.
-
-      Este flujo de iniciar la aplicación de autenticación de los proveedores de identidad se usará por parte de los proveedores de identidad para habilitar
-      casos prácticos, como proporcionar SSO en las aplicaciones o una mejor seguridad recogiendo señales de dispositivos de confianza cero para conocer la postura del dispositivo durante la autenticación.
-
-      Si no hay ninguna aplicación válida instalada para gestionar la URL de autenticación en el dispositivo, la navegación continuará en <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      La URL de autenticación válida debe tener el esquema <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> y no debe contener comodines.
-      </translation>
 <translation id="6212868225782276239">Se muestran todas las impresas excepto las que se incluyen en la lista negra.</translation>
 <translation id="6220835555850906733">Si se asigna el valor "Habilitada" a esta política o no se le asigna ninguno, se permitirán todas las salidas de audio compatibles en los dispositivos de los usuarios.
 
@@ -6187,7 +6169,6 @@
 <translation id="7554382342294940216">Habilitar esta política permite que <ph name="PRODUCT_OS_NAME" /> omita cualquier proxy para la autenticación de portal cautivo. Estas páginas de autenticación, que empiezan con una página de inicio de sesión de portal cautivo hasta que Chrome detecta que la conexión a Internet se ha realizado correctamente, se mostrarán en una ventana independiente ignorando todos los ajustes de políticas y las restricciones del usuario actual. Esta política solo se aplica si se ha configurado un proxy (mediante una política o una extensión, o por parte del usuario en chrome://settings).
 
       Si no se habilita esta política o no se configura, las páginas de autenticación de portal cautivo se mostrarán en una nueva pestaña del navegador (como habitualmente) utilizando la configuración del proxy del usuario actual.</translation>
-<translation id="7566878661979235378">Tipo de autenticación de inicio de sesión con SAML</translation>
 <translation id="7567373982693549834">Esta política controla el uso de aplicaciones Android de fuentes que no son de confianza (distintas a Google Play Store) por parte de cada usuario.
 
       Si no se asigna ningún valor a esta política, se considerará que no se permite la función.
@@ -7469,7 +7450,6 @@
 <translation id="8951350807133946005">Establecer directorio de caché de disco</translation>
 <translation id="8955719471735800169">Volver al principio</translation>
 <translation id="8956312248048980644">Permite los clústeres de agentes con clave de origen de forma predeterminada.</translation>
-<translation id="8959992920425111821">Configuración predeterminada</translation>
 <translation id="8967125680876068695">Las aplicaciones de Chrome ya no están disponibles en Windows, Mac y Linux.
       Si se habilita esta política, <ph name="PRODUCT_NAME" /> seguirá permitiendo que se ejecuten aplicaciones de Chrome en esas plataformas hasta la fecha límite en la que se eliminará la compatibilidad con todas las plataformas (junio del 2022).
       Si esta política se inhabilita o no se establece, es posible que no se puedan ejecutar aplicaciones de Chrome, según la fase de desactivación en que se encuentren.
diff --git a/components/policy/resources/policy_templates_fr.xtb b/components/policy/resources/policy_templates_fr.xtb
index 40a13fe..a14c59c 100644
--- a/components/policy/resources/policy_templates_fr.xtb
+++ b/components/policy/resources/policy_templates_fr.xtb
@@ -2610,7 +2610,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Le champ constitué d'une seule ligne est abandonné et va être supprimé prochainement. Utilisez à la place la zone de texte à plusieurs lignes ci-dessous.)</translation>
 <translation id="3709266154059827597">Configurer la liste noire d'installation des extensions</translation>
 <translation id="3711895659073496551">Arrêter</translation>
-<translation id="3715569262675717862">Authentification basée sur les certificats client</translation>
 <translation id="3717409415785131989">Si cette règle est activée ou n'est pas configurée, la nouvelle interface utilisateur de la bulle de téléchargement est affichée dans <ph name="PRODUCT_NAME" />.
 
       Si elle est désactivée, <ph name="PRODUCT_NAME" /> continue d'afficher l'ancienne interface utilisateur du répertoire de téléchargement.</translation>
@@ -2990,13 +2989,6 @@
 <translation id="410068710490553233">Autoriser la connexion à d'autres comptes Google</translation>
 <translation id="4101282687722389021">Horodatage UTC de la dernière mise à jour de cette entrée. Il est envoyé sous forme de chaîne, car il ne tiendrait pas dans un entier.</translation>
 <translation id="4103289232974211388">Rediriger vers le fournisseur d'identité SAML après confirmation de l'utilisateur</translation>
-<translation id="4105884561459127998">Configure le type d'authentification pour les connexions SAML.
-
-      Si cette règle n'est pas configurée ou si elle est définie sur "Par défaut" (valeur 0), le comportement des connexions SAML est déterminé par le navigateur en fonction d'autres facteurs. Dans le cas le plus élémentaire, l'authentification des utilisateurs et la protection des données utilisateur mises en cache reposent sur les mots de passe saisis manuellement par les utilisateurs.
-
-      Si cette règle est définie sur "ClientCertificate" (valeur 1), l'authentification par certificat client est utilisée pour les nouveaux utilisateurs ajoutés qui se connectent via SAML. Ces derniers n'emploient pas de mot de passe, et leurs données locales mises en cache sont protégées par les clés de chiffrement correspondantes. Par exemple, ce paramètre permet de configurer l'authentification des utilisateurs par carte à puce (notez que les applications middleware utilisant une carte à puce doivent être installées conformément à la règle DeviceLoginScreenAppInstallList).
-
-      Cette règle ne concerne que les utilisateurs qui s'authentifient avec SAML.</translation>
 <translation id="4105989332710272578">Désactiver l'application des règles de transparence des certificats pour une liste d'URL</translation>
 <translation id="4114059938441379876">Permet de spécifier l'URL à laquelle les utilisateurs doivent modifier leur mot de passe après avoir lu l'avertissement affiché dans le navigateur. Le service de protection par mot de passe redirige les utilisateurs vers l'URL (protocoles HTTP et HTTPS uniquement) que vous avez indiquée dans cette règle. Pour que <ph name="PRODUCT_NAME" /> enregistre correctement la copie hachée et après salage du nouveau mot de passe sur la page de modification de celui-ci, vérifiez si cette page respecte bien les consignes indiquées sur https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
 
@@ -3179,6 +3171,13 @@
 <translation id="4347908978527632940">Si la valeur est définie sur "True" et si l'utilisateur est supervisé, d'autres applications Android peuvent envoyer une requête concernant les restrictions Web de ce dernier via un fournisseur de contenu.
 
           Si la valeur est définie sur "False" ou si elle n'est pas définie, le fournisseur de contenu n'envoie aucune information.</translation>
+<translation id="4357587374229381015">Indique un nom de paramètre d'URL qui sera utilisé sur la page de connexion de l'IdP SAML pour renseigner automatiquement le champ du nom d'utilisateur.
+
+      L'adresse e-mail de l'utilisateur associée au profil <ph name="PRODUCT_OS_NAME" /> sera utilisée comme valeur du paramètre d'URL. Ce paramètre doit donc être désactivé si les utilisateurs doivent utiliser des adresses e-mail différentes avec l'IdP SAML.
+
+      Si ce paramètre n'est pas défini, les utilisateurs devront saisir manuellement leur nom d'utilisateur sur la page de connexion de l'IdP SAML.
+
+      Cette règle affecte l'authentification en ligne sur les écrans de connexion et de verrouillage.</translation>
 <translation id="4363057787588706121">Autoriser la fusion de règles répertoriées qui proviennent de sources différentes</translation>
 <translation id="4363101430102811068">Autorise la détection de fuite pour les identifiants saisis</translation>
 <translation id="436581050240847513">Générer un rapport sur les interfaces réseau de l'appareil</translation>
@@ -4062,11 +4061,6 @@
       Si cette règle est définie sur une liste d'identifiants de modes de saisie, les modes de saisie indiqués sont disponibles sur l'écran de connexion. Le premier mode de saisie proposé est présélectionné. Lorsqu'un profil utilisateur est actif sur l'écran de connexion, le dernier mode de saisie utilisé par l'utilisateur est disponible en plus des modes de saisie fournis par cette règle. Si cette règle n'est pas définie, les modes de saisie sur l'écran de connexion sont dérivés des paramètres régionaux dans lesquels cet écran est affiché. Les valeurs qui ne constituent pas des identifiants de modes de saisie valides sont ignorées.</translation>
 <translation id="5407008856008996384">Permet d'autoriser l'accès aux imprimantes CUPS</translation>
 <translation id="5413051574966911176">Désactiver l'interface utilisateur liée à la connexion sur le bureau de l'hôte à distance lorsqu'une connexion est active</translation>
-<translation id="5417597818300833094">Permet aux utilisateurs de sélectionner l'un des modes de saisie que vous spécifiez pour les sessions <ph name="PRODUCT_OS_NAME" />.
-
-       Si cette règle n'est pas configurée ou qu'aucun mode de saisie n'est indiqué dans la liste, les utilisateurs peuvent en choisir un parmi tous ceux compatibles.
-
-      Remarque : Si le mode de saisie actuel n'est pas compatible, la disposition du clavier matériel (si elle est autorisée) ou la première entrée valide dans cette liste est utilisée. Les modes de saisie non valides ou incompatibles sont ignorés.</translation>
 <translation id="5417906792459853336">Transmet des informations concernant l'inventaire et l'utilisation des applications d'un appareil.
 
       Si la règle est définie sur "False" ou n'est pas configurée, ces informations ne sont pas transmises.
@@ -4797,18 +4791,6 @@
 <translation id="6207607210601267301">Désactiver l'authentification sans code PIN pour l'hôte d'accès à distance</translation>
 <translation id="6208896993204286313">Enregistrer les informations sur les règles concernant <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Enregistrer les informations sur la version de <ph name="PRODUCT_NAME" /> et l'OS</translation>
-<translation id="6210422374261465354">Permet de spécifier les configurations pour les URL d'authentification dans <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Ces URL d'authentification seraient traitées spécialement par <ph name="WEBVIEW_PRODUCT_NAME" />, de sorte que durant l'authentification, lorsque la page Web dans <ph name="WEBVIEW_PRODUCT_NAME" />
-      navigue vers les URL d'authentification, l'appli d'authentification des fournisseurs d'identité correspondants qui peut traiter cette URL d'authentification est lancée.
-
-      Ce flux de lancement de l'appli d'authentification des fournisseurs d'identité serait utilisé par les fournisseurs d'identité pour activer
-      les cas d'utilisation comme la fourniture du SSO dans les applis ou pour proposer une meilleure protection en récoltant les signaux d'appareil zéro confiance pour comprendre la position de l'appareil lors de l'authentification.
-
-      Si aucune appli valide n'est installée pour gérer l'URL d'authentification sur l'appareil, la navigation se poursuivra dans <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Une URL d'authentification valide doit avoir le schéma <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> et ne doit pas comporter de caractère générique.
-      </translation>
 <translation id="6212868225782276239">Toutes les imprimantes sont affichées à l'exception de celles qui sont répertoriées dans la liste noire.</translation>
 <translation id="6220835555850906733">Si cette règle est activée ou si elle n'est pas configurée, toutes les sorties audio compatibles sur les appareils des utilisateurs sont autorisées.
 
@@ -6130,7 +6112,6 @@
 <translation id="7554382342294940216">Si cette règle est activée, <ph name="PRODUCT_OS_NAME" /> ignore tout proxy pour l'authentification du portail captif. Ces pages Web d'authentification (à partir de la page de connexion au portail captif jusqu'à ce que Chrome détecte une connexion Internet réussie) s'ouvrent dans une fenêtre distincte, sans tenir compte de l'ensemble des règles et des restrictions en place pour l'utilisateur actuel. Cette règle ne s'applique que si un proxy est configuré (par une règle, une extension ou l'utilisateur dans chrome://settings).
 
       Si cette règle est désactivée ou qu'elle n'est pas configurée, toutes les pages d'authentification du portail captif sont affichées dans un nouvel onglet (normal) du navigateur, en utilisant les paramètres proxy de l'utilisateur actuel.</translation>
-<translation id="7566878661979235378">Type d'authentification pour les connexions SAML</translation>
 <translation id="7567373982693549834">Cette règle permet de contrôler l'utilisation des applications Android provenant de sources non approuvées (autres que le Google Play Store) au niveau de chaque utilisateur.
 
       Si la valeur de cette règle n'est pas définie, la règle est considérée comme non autorisée.
@@ -7400,7 +7381,6 @@
 <translation id="8951350807133946005">Définir le répertoire du cache disque</translation>
 <translation id="8955719471735800169">Haut de page</translation>
 <translation id="8956312248048980644">Autorise par défaut le clustering d'agents selon l'origine.</translation>
-<translation id="8959992920425111821">Configuration par défaut</translation>
 <translation id="8967125680876068695">Les applis Chrome sont obsolètes sur Windows, Mac et Linux.
       Si cette règle est activée, <ph name="PRODUCT_NAME" /> permettra toujours aux applis Chrome de s'exécuter sur ces plates-formes jusqu'en juin 2022, date à laquelle elles ne seront plus compatibles sur aucune plate-forme.
       Si cette règle est désactivée ou qu'elle n'est pas configurée, il se peut que les applis Chrome ne soient pas autorisées à s'exécuter, selon l'état d'avancement du processus d'abandon.
diff --git a/components/policy/resources/policy_templates_id.xtb b/components/policy/resources/policy_templates_id.xtb
index 232a617c..a7c03dc7 100644
--- a/components/policy/resources/policy_templates_id.xtb
+++ b/components/policy/resources/policy_templates_id.xtb
@@ -2621,7 +2621,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Kolom 1 baris sudah tidak digunakan lagi dan akan dihapus di masa mendatang. Mulai gunakan kotak teks multibaris di bawah.)</translation>
 <translation id="3709266154059827597">Konfigurasikan daftar penginstalan ekstensi yang tidak diizinkan</translation>
 <translation id="3711895659073496551">Tangguhkan</translation>
-<translation id="3715569262675717862">Autentikasi berdasarkan sertifikat klien</translation>
 <translation id="3717409415785131989">Jika kebijakan disetel ke Aktif atau tidak disetel, UI balon download yang baru akan ditampilkan di <ph name="PRODUCT_NAME" />.
 
       Jika kebijakan disetel ke Nonaktif, <ph name="PRODUCT_NAME" /> akan terus menampilkan UI rak download yang lama.</translation>
@@ -3003,13 +3002,6 @@
 <translation id="410068710490553233">Mengizinkan Login ke Akun Google Tambahan</translation>
 <translation id="4101282687722389021">Stempel waktu UTC untuk terakhir kali entri ini diperbarui. Dikirim sebagai string karena stempel waktu tidak cocok dengan bilangan bulat</translation>
 <translation id="4103289232974211388">Alihkan ke SAML IdP setelah konfirmasi pengguna</translation>
-<translation id="4105884561459127998">Mengonfigurasi jenis autentikasi untuk login SAML.
-
-      Jika kebijakan ini tidak ditetapkan atau ditetapkan ke Default (nilai 0), perilaku login SAML ditentukan oleh browser yang bergantung pada faktor lain. Pada skenario yang paling dasar, autentikasi pengguna dan perlindungan data pengguna yang disimpan dalam cache didasarkan pada sandi yang secara manual dimasukkan oleh pengguna.
-
-      Jika kebijakan ini ditetapkan ke ClientCertificate (nilai 1), autentikasi sertifikat klien digunakan untuk pengguna yang baru ditambahkan yang login melalui SAML. Tidak ada sandi yang digunakan untuk pengguna tersebut, dan data lokalnya yang disimpan dalam cache dilindungi menggunakan kunci kriptografi yang sesuai. Misalnya, setelan ini memungkinkan konfigurasi kartu smart berdasarkan autentikasi pengguna (perlu diketahui bahwa aplikasi middleware kartu smart harus diinstal melalui kebijakan DeviceLoginScreenExtensions).
-
-      Kebijakan ini hanya memengaruhi pengguna yang melakukan autentikasi menggunakan SAML.</translation>
 <translation id="4105989332710272578">Nonaktifkan penerapan Transparansi Sertifikat untuk daftar URL</translation>
 <translation id="4114059938441379876">Menyetel kebijakan akan menentukan URL yang dapat dipakai pengguna untuk mengubah sandinya setelah melihat peringatan di browser. Layanan perlindungan sandi mengirimkan pengguna ke URL (hanya protokol HTTP dan HTTPS) yang Anda tentukan melalui kebijakan ini. Agar <ph name="PRODUCT_NAME" /> dapat merekam hash sandi baru yang dilengkapi salt dengan benar di halaman ubah sandi ini, pastikan halaman ubah sandi Anda mengikuti pedoman ( https://www.chromium.org/developers/design-documents/create-amazing-password-forms ).
 
@@ -3204,6 +3196,13 @@
 <translation id="4347908978527632940">Jika nilai disetel ke "true" dan pengguna adalah pengguna yang dilindungi, aplikasi Android lainnya dapat mengajukan kueri batasan web pengguna melalui penyedia konten.
 
           Jika nilai disetel ke "false" atau tidak disetel, penyedia konten tidak mengembalikan informasi apa pun.</translation>
+<translation id="4357587374229381015">Menentukan nama parameter URL yang akan digunakan di halaman login IdP SAML untuk mengisi otomatis kolom nama pengguna.
+
+      Email pengguna yang dikaitkan dengan profil <ph name="PRODUCT_OS_NAME" />-nya akan digunakan sebagai nilai untuk parameter URL. Oleh karena itu, setelan ini harus dinonaktifkan jika pengguna diperkirakan akan menggunakan email yang berbeda dengan IdP SAML.
+
+      Jika setelan ini tidak ditetapkan, pengguna harus memasukkan nama penggunanya secara manual di halaman login IdP SAML.
+
+      Kebijakan ini memengaruhi autentikasi online di layar login dan layar kunci.</translation>
 <translation id="4363057787588706121">Mengizinkan penggabungan kebijakan yang ada dalam daftar dari sumber berbeda</translation>
 <translation id="4363101430102811068">Aktifkan deteksi kebocoran untuk kredensial yang dimasukkan</translation>
 <translation id="436581050240847513">Melaporkan antarmuka jaringan perangkat</translation>
@@ -4094,11 +4093,6 @@
       Jika kebijakan ini disetel ke daftar pengenal metode masukan, metode masukan yang diberikan akan tersedia di layar login. Metode masukan yang diberikan pertama telah dipilih sebelumnya. Sementara pod pengguna difokuskan pada layar login, metode masukan yang terakhir kali digunakan oleh pengguna akan tersedia, selain dari metode masukan yang diberikan oleh kebijakan ini. Jika kebijakan ini tidak disetel, metode masukan pada layar login akan diambil dari lokal yang menampilkan layar login. Pengenal metode masukan akan mengabaikan nilai yang tidak valid.</translation>
 <translation id="5407008856008996384">Mengizinkan akses ke printer CUPS</translation>
 <translation id="5413051574966911176">Nonaktifkan UI terkait koneksi pada desktop host jarak jauh saat koneksi aktif</translation>
-<translation id="5417597818300833094">Jika kebijakan disetel, pengguna akan dapat memilih salah satu metode input untuk sesi <ph name="PRODUCT_OS_NAME" /> yang Anda tentukan.
-
-       Jika kebijakan tidak disetel atau disetel ke daftar kosong, pengguna akan dapat memilih semua metode input yang didukung.
-
-      Catatan: Jika metode input saat ini tidak didukung, metode akan beralih ke tata letak keyboard hardware (jika diizinkan) atau entri pertama yang valid dalam daftar ini. Metode yang tidak valid atau tidak didukung akan diabaikan.</translation>
 <translation id="5417906792459853336">Melaporkan informasi untuk inventaris dan penggunaan aplikasi perangkat.
 
       Jika kebijakan ditetapkan ke salah, atau tidak ditetapkan, informasi tidak akan dilaporkan.
@@ -4837,18 +4831,6 @@
 <translation id="6207607210601267301">Nonaktifkan autentikasi tanpa PIN untuk host akses jarak jauh</translation>
 <translation id="6208896993204286313">Melaporkan Informasi Kebijakan <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Laporkan OS dan Informasi Versi <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">Mengizinkan Anda menentukan konfigurasi untuk URL autentikasi di <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      URL Autentikasi ini akan diperlakukan khusus oleh <ph name="WEBVIEW_PRODUCT_NAME" />. Dengan begitu, saat halaman web dalam <ph name="WEBVIEW_PRODUCT_NAME" />
-      membuka URL autentikasi, aplikasi pengautentikasi Penyedia Identitas terkait yang dapat menangani URL autentikasi ini akan diluncurkan selama autentikasi berlangsung.
-
-      Alur peluncuran aplikasi pengautentikasi Penyedia Identitas ini akan digunakan oleh Penyedia Identitas untuk mengaktifkan
-      kasus penggunaan, seperti menyediakan SSO di seluruh aplikasi atau memberikan keamanan yang lebih baik dengan mengumpulkan sinyal perangkat zero-trust untuk memahami postur perangkat selama autentikasi.
-
-      Jika tidak ada aplikasi valid yang diinstal untuk menangani URL autentikasi di perangkat, navigasi akan dilanjutkan di <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      URL autentikasi yang valid harus memiliki skema <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> dan tidak boleh berisi karakter pengganti.
-      </translation>
 <translation id="6212868225782276239">Semua printer ditampilkan, kecuali printer yang tidak diizinkan.</translation>
 <translation id="6220835555850906733">Jika kebijakan disetel ke Aktif atau tidak disetel, semua output audio yang didukung di perangkat pengguna akan diizinkan.
 
@@ -6184,7 +6166,6 @@
 <translation id="7554382342294940216">Jika kebijakan disetel ke Aktif, <ph name="PRODUCT_OS_NAME" /> akan diizinkan mengabaikan proxy apa pun untuk autentikasi captive portal. Halaman autentikasi ini, yang dimulai dari halaman login captive portal hingga Chrome mendeteksi koneksi internet yang berhasil, terbuka di jendela yang terpisah, yang mengabaikan semua setelan kebijakan dan batasan untuk pengguna saat ini. Kebijakan ini hanya berlaku jika proxy disiapkan (oleh kebijakan, ekstensi, atau pengguna di chrome://settings).
 
       Jika kebijakan disetel ke Nonaktif atau tidak disetel, semua halaman autentikasi captive portal akan ditampilkan di tab browser baru (reguler), yang menggunakan setelan proxy pengguna saat ini.</translation>
-<translation id="7566878661979235378">Jenis autentikasi login SAML</translation>
 <translation id="7567373982693549834">Kebijakan ini mengontrol penggunaan aplikasi Android dari sumber yang tidak tepercaya (selain Google Play Store) untuk setiap pengguna.
 
       Jika nilai kebijakan ini tidak ditetapkan, fungsinya dianggap tidak diizinkan.
@@ -7455,7 +7436,6 @@
 <translation id="8951350807133946005">Setel direktori cache disk</translation>
 <translation id="8955719471735800169">Kembali ke atas</translation>
 <translation id="8956312248048980644">Mengizinkan pengelompokan cluster agen dengan kunci asal secara default.</translation>
-<translation id="8959992920425111821">Konfigurasi default</translation>
 <translation id="8967125680876068695">Aplikasi Chrome tidak digunakan lagi di Windows, Mac, dan Linux.
       Jika kebijakan ini diaktifkan, <ph name="PRODUCT_NAME" /> akan terus mengizinkan Aplikasi Chrome dijalankan di platform berikut hingga tanggal akhir saat dukungan Aplikasi Chrome dihapus di semua platform, yakni Juni 2022.
       Jika kebijakan ini dinonaktifkan atau tidak disetel, Aplikasi Chrome mungkin tidak diizinkan berjalan, bergantung pada status peluncuran penghentian.
diff --git a/components/policy/resources/policy_templates_it.xtb b/components/policy/resources/policy_templates_it.xtb
index 451539b..ea6ce53 100644
--- a/components/policy/resources/policy_templates_it.xtb
+++ b/components/policy/resources/policy_templates_it.xtb
@@ -2612,7 +2612,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Il campo a una sola riga è obsoleto e sarà rimosso a breve. Inizia a usare la casella di testo multiriga qui sotto).</translation>
 <translation id="3709266154059827597">Configura blacklist per l'installazione delle estensioni</translation>
 <translation id="3711895659073496551">Sospensione</translation>
-<translation id="3715569262675717862">Autenticazione basata su certificati client</translation>
 <translation id="3717409415785131989">Se il criterio viene impostato su Enabled o se non viene configurato, in <ph name="PRODUCT_NAME" /> viene mostrata l'UI del nuovo fumetto dei download.
 
       Se il criterio viene impostato su Disabled, <ph name="PRODUCT_NAME" /> continua a mostrare l'UI della barra dei download precedente.</translation>
@@ -2992,13 +2991,6 @@
 <translation id="410068710490553233">Consenti l'accesso ad altri Account Google</translation>
 <translation id="4101282687722389021">Timestamp UTC relativo all'ultimo aggiornamento della voce. Viene inviato sotto forma di stringa perché non rientrerebbe in un numero intero.</translation>
 <translation id="4103289232974211388">Reindirizza a IdP SAML dopo la conferma dell'utente</translation>
-<translation id="4105884561459127998">Consente di configurare il tipo di autenticazione per gli accessi SAML.
-
-      Se questa norma non viene impostata o è impostata sul valore predefinito (0), il comportamento degli accessi SAML è determinato dal browser sulla base di altri fattori. Nella situazione di base, l'autenticazione dell'utente e la protezione dei dati degli utenti memorizzati nella cache sono basate sulle password inserite manualmente dagli utenti.
-
-      Se questa norma è impostata su ClientCertificate (valore 1), l'autenticazione del certificato client viene utilizzata per gli utenti aggiunti di recente che accedono tramite SAML. Per questi utenti non vengono utilizzate password e i loro dati locali memorizzati nella cache vengono protetti mediante le chiavi crittografiche corrispondenti. Ad esempio, questa impostazione consente di configurare un'autenticazione dell'utente basata su smart card (considera che le app middleware per smart card devono essere installate tramite la norma DeviceLoginScreenExtensions).
-
-      Questa norma riguarda solo gli utenti che eseguono l'autenticazione utilizzando SAML.</translation>
 <translation id="4105989332710272578">Disattiva l'imposizione di Certificate Transparency per un elenco di URL</translation>
 <translation id="4114059938441379876">La configurazione del criterio consente di impostare l'URL per gli utenti per la modifica delle proprie password dopo aver visualizzato un avviso nel browser. Il servizio di protezione tramite password reindirizza gli utenti all'URL (solo protocolli HTTP e HTTPS) indicato tramite questo criterio. Per consentire a <ph name="PRODUCT_NAME" /> di acquisire correttamente l'hash con salt della nuova password in questa pagina di modifica della password, segui queste linee guida (https://www.chromium.org/developers/design-documents/create-amazing-password-forms).
 
@@ -4080,11 +4072,6 @@
       Se per questa norma viene impostato un elenco di identificatori di metodi di immissione, i metodi specificati saranno disponibili nella schermata di accesso. Verrà preselezionato il primo metodo di immissione specificato. Anche se il pod dell'utente è basato sulla schermata di accesso, oltre ai metodi di immissione specificati in questa norma sarà disponibile anche l'ultimo metodo usato dall'utente. Se questa norma non viene impostata, i metodi di immissione per la schermata di accesso saranno recuperati in base alla lingua in cui è visualizzata la schermata di accesso. I valori che non corrispondono a identificatori di metodi di immissione validi verranno ignorati.</translation>
 <translation id="5407008856008996384">Consenti l'accesso alle stampanti CUPS</translation>
 <translation id="5413051574966911176">Disattiva l'UI relativa alla connessione sul computer desktop host remoto quando è attiva una connessione</translation>
-<translation id="5417597818300833094">L'impostazione del criterio consente agli utenti di scegliere uno dei metodi di immissione per le sessioni <ph name="PRODUCT_OS_NAME" /> specificate.
-
-       Se il criterio non viene configurato o se è impostato su un elenco vuoto, gli utenti possono selezionare tutti i metodi di immissione supportati.
-
-      Nota: se il metodo di immissione corrente non è supportato, il criterio passa automaticamente al layout della tastiera hardware (se consentito) o alla prima voce valida in questo elenco. I metodi non supportati o non validi vengono ignorati.</translation>
 <translation id="5417906792459853336">Consente di segnalare informazioni sull'inventario delle applicazioni di un dispositivo e sul relativo utilizzo.
 
       Se il criterio viene impostato su false o non viene impostato, le informazioni non vengono segnalate.
@@ -4811,18 +4798,6 @@
 <translation id="6207607210601267301">Disattiva l'autenticazione senza PIN per l'host di accesso remoto</translation>
 <translation id="6208896993204286313">Segnala informazioni sulle norme di <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Segnala informazioni sulla versione del sistema operativo e di <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">Ti consente di specificare le configurazioni per gli URL di autenticazione in <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Questi URL di autenticazione vengono trattati in modo speciale da <ph name="WEBVIEW_PRODUCT_NAME" />, in modo che durante l'autenticazione, quando una pagina web in <ph name="WEBVIEW_PRODUCT_NAME" />
-      indirizza agli URL di autenticazione, l'app di autenticazione dei provider di identità corrispondente che può gestire questo URL di autenticazione viene lanciata.
-
-      Questo flusso di lancio dell'app di autenticazione dei provider di identità viene utilizzato dai provider di identità per abilitare
-      i casi d'uso, come fornire SSO per le app o una miglior sicurezza, raccogliendo indicatori dei dispositivi Zero Trust per comprendere le impostazioni del dispositivo durante l'autenticazione.
-
-      Se non è installata alcuna app valida per la gestione dell'URL di autenticazione sul dispositivo, la navigazione continua in <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Un URL di autenticazione valido deve avere lo schema <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> e non deve contenere caratteri jolly.
-      </translation>
 <translation id="6212868225782276239">Vengono mostrate tutte le stampanti, tranne quelle indicate nella lista nera.</translation>
 <translation id="6220835555850906733">Se il criterio viene attivato o se non viene configurato, tutti gli output audio supportati sono consentiti sui dispositivi degli utenti.
 
@@ -6148,7 +6123,6 @@
 <translation id="7554382342294940216">Se il criterio viene impostato su Attivato, <ph name="PRODUCT_OS_NAME" /> può aggirare qualsiasi proxy per l'autenticazione captive portal. Queste pagine web di autenticazione, a partire dalla pagina di accesso al captive portal fino al rilevamento di una connessione a Internet attiva da parte di Chrome, si aprono in una finestra separata, ignorando tutte le impostazioni del criterio e le limitazioni relative all'utente corrente. Questo criterio viene applicato soltanto se viene configurato un proxy (tramite criterio, estensione o da parte dell'utente in chrome://settings).
 
       Se viene impostato su Disattivato o se non viene configurato, qualsiasi pagina di autenticazione captive portal viene visualizzata in una nuova scheda del browser standard, in base alle impostazioni del proxy dell'utente corrente.</translation>
-<translation id="7566878661979235378">Tipo di autenticazione per gli accessi SAML</translation>
 <translation id="7567373982693549834">Questo criterio consente di controllare l'utilizzo delle app Android di fonti non attendibili (diverse dal Google Play Store) per ogni utente.
 
       Se il valore di questo criterio non viene impostato, la funzionalità viene considerata vietata.
@@ -7411,7 +7385,6 @@
 <translation id="8951350807133946005">Impostazione directory della cache su disco</translation>
 <translation id="8955719471735800169">Torna all'inizio</translation>
 <translation id="8956312248048980644">Consente per impostazione predefinita il clustering di agenti in base all'origine.</translation>
-<translation id="8959992920425111821">Configurazione predefinita</translation>
 <translation id="8967125680876068695">Le app di Chrome sono state ritirate su Windows, Mac e Linux.
       Se questo criterio viene attivato, <ph name="PRODUCT_NAME" /> continuerà a consentire l'esecuzione delle app di Chrome su queste piattaforme fino alla data ultima del ritiro del supporto di queste app su tutte le piattaforme, vale a dire giugno 2022.
       Se questo criterio viene disattivato o se non viene configurato, potrebbe non essere consentita l'esecuzione delle app di Chrome, in base allo stato del ritiro graduale.
diff --git a/components/policy/resources/policy_templates_ja.xtb b/components/policy/resources/policy_templates_ja.xtb
index a78ce13..f52b78c5 100644
--- a/components/policy/resources/policy_templates_ja.xtb
+++ b/components/policy/resources/policy_templates_ja.xtb
@@ -2473,7 +2473,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" />(1 行入力欄はサポートを終了し、今後削除する予定です。下の複数行入力欄を使用するようにしてください)。</translation>
 <translation id="3709266154059827597">拡張機能インストールの拒否リストを設定する</translation>
 <translation id="3711895659073496551">停止する</translation>
-<translation id="3715569262675717862">クライアント証明書に基づく認証</translation>
 <translation id="3717409415785131989">このポリシーを有効に設定するか未設定のままにした場合、<ph name="PRODUCT_NAME" /> で新しいダウンロード バブル UI が表示されます。
 
       このポリシーを無効に設定した場合、<ph name="PRODUCT_NAME" /> では引き続き従来のダウンロード シェルフ UI が表示されます。</translation>
@@ -2852,13 +2851,6 @@
 <translation id="410068710490553233">別の Google アカウントへのログインを許可する</translation>
 <translation id="4101282687722389021">このエントリが前回更新された時間を示す UTC のタイムスタンプです。このタイムスタンプは整数値には適合しないため、文字列として送信されます。</translation>
 <translation id="4103289232974211388">ユーザーの確認後に SAML IdP にリダイレクトする</translation>
-<translation id="4105884561459127998">SAML ログインの認証のタイプを設定します。
-
-      このポリシーを設定しない場合、またはデフォルト(値 0)に設定した場合、SAML ログインの動作は他の要因を基にブラウザによって決定されます。最も基本的なシナリオでは、ユーザーが手動で入力したパスワードを基に、ユーザー認証が行われ、キャッシュされたユーザーデータが保護されます。
-
-      このポリシーを ClientCertificate(値 1)に設定した場合、SAML を使用してログインし、新しく追加されるユーザーには、クライアント証明書の認証が使用されます。こうしたユーザーにはパスワードは使用されず、キャッシュされたローカルデータは対応する暗号鍵を使って保護されます。たとえば、この設定ではスマートカードを使ったユーザー認証を設定できます(DeviceLoginScreenExtensions ポリシーを使ってスマートカードのミドルウェア アプリをインストールしておく必要があります)。
-
-      このポリシーは、SAML を使用して認証を行うユーザーのみに影響します。</translation>
 <translation id="4105989332710272578">指定した URL に対して証明書の透明性ポリシーの適用を無効にする</translation>
 <translation id="4114059938441379876">このポリシーでは、ブラウザで警告が表示された後にユーザーがパスワードを変更するための URL を設定できます。パスワード保護サービスにより、ユーザーはこのポリシーで指定した URL(HTTP と HTTPS プロトコルのみ)にリダイレクトされます。<ph name="PRODUCT_NAME" /> で、このパスワード変更ページの新しいパスワードのソルトハッシュが適切に取得されるようにするには、パスワード変更ページが https://www.chromium.org/developers/design-documents/create-amazing-password-forms のガイドラインに沿っていることを確認します。
 
@@ -3868,11 +3860,6 @@
       このポリシーが入力方法 ID のリストに設定されている場合は、指定されている入力方法がログイン画面で選択可能になり、最初に指定されている入力方法があらかじめ選択された状態になります。ログイン画面でユーザーのアイコンにフォーカスがあるときは、このポリシーで指定されている入力方法に加えて、ユーザーが最後に使った入力方法が選択可能になります。このポリシーが設定されていない場合は、ログイン画面の表示に使用されている言語 / 地域に応じた入力方法が適用されます。入力方法 ID として無効な値は無視されます。</translation>
 <translation id="5407008856008996384">CUPS プリンタへのアクセスを許可します</translation>
 <translation id="5413051574966911176">接続がアクティブなときにリモートホスト デスクトップで接続関連の UI を無効にする</translation>
-<translation id="5417597818300833094">このポリシーを設定した場合、ユーザーは <ph name="PRODUCT_OS_NAME" /> セッション用にあなたが指定した入力方法のいずれかのみを選択できます。
-
-       このポリシーを未設定のままにするか空のリストを設定した場合、ユーザーはサポートされているすべての入力方法を選択できます。
-
-      注: 現在の入力方法がサポートされていない場合は、ハードウェア キーボード配列(許可されている場合)またはこのリストの最初の有効なエントリに切り替えられます。無効な入力方法またはサポートされていない入力方法は無視されます。</translation>
 <translation id="5417906792459853336">デバイスのアプリケーションと使用に関する情報を報告します。
 
       このポリシーを false に設定するか未設定のままにした場合、この情報は報告されません。
@@ -4566,16 +4553,6 @@
 <translation id="6207607210601267301">リモート アクセスホストの PIN 入力なしの認証を無効にする</translation>
 <translation id="6208896993204286313"><ph name="PRODUCT_NAME" /> のポリシー情報に関するレポートを作成</translation>
 <translation id="6210259502936598222">OS と <ph name="PRODUCT_NAME" /> のバージョン情報に関するレポートを作成</translation>
-<translation id="6210422374261465354"><ph name="WEBVIEW_PRODUCT_NAME" /> で認証用 URL の設定を指定できます。
-
-      認証用 URL は <ph name="WEBVIEW_PRODUCT_NAME" /> によって特別に扱われ、認証中に <ph name="WEBVIEW_PRODUCT_NAME" /> のウェブページが認証用 URL に移動すると、この認証用 URL を処理できる ID プロバイダの認証システムアプリが起動されます。
-
-      ID プロバイダは、ID プロバイダの認証システムアプリを起動するこのフローを使用して、アプリ間での SSO 提供などのユースケースを可能にしたり、ゼロトラストのデバイス シグナルを収集して認証中のデバイスの状態を把握することでセキュリティを強化したりします。
-
-      デバイスに認証用 URL を処理するための有効なアプリがインストールされていない場合、ナビゲーションは <ph name="WEBVIEW_PRODUCT_NAME" /> で続行されます。
-
-      有効な認証用 URL には <ph name="HTTP_PROTOCOL" /> / <ph name="HTTPS_PROTOCOL" /> スキームが含まれている必要があります。ワイルドカードは含めないでください。
-      </translation>
 <translation id="6212868225782276239">ブラックリスト登録されている以外のすべてのプリンタを表示する。</translation>
 <translation id="6220835555850906733">このポリシーを有効に設定するか未設定のままにした場合、ユーザーのデバイスでサポートされているすべての音声出力が許可されます。
 
@@ -5836,7 +5813,6 @@
 <translation id="7554382342294940216">このポリシーを有効に設定した場合、<ph name="PRODUCT_OS_NAME" /> でキャプティブ ポータル認証のプロキシをパイパスします。これらの認証ウェブページ(最初のキャプティブ ポータルのログインページから Chrome で正常なインターネット接続が検出されるまでのページ)は個別のウィンドウで表示され、現在のユーザーのポリシーの設定や制限はすべて無視されます。このポリシーは、プロキシが(ポリシー、拡張機能、または chrome://settings でユーザーにより)設定されている場合のみ適用されます。
 
       このポリシーを無効に設定するか未設定のままにした場合、キャプティブ ポータル認証ページは(通常の)新しいブラウザタブで表示され、現在のユーザーのプロキシ設定が使用されます。</translation>
-<translation id="7566878661979235378">SAML ログイン認証タイプ</translation>
 <translation id="7567373982693549834">このポリシーでは、信頼できない提供元(Google Play ストア以外の提供元)の Android アプリの使用をユーザー単位で管理します。
 
       このポリシーの値を設定しない場合は、この機能を許可しないものと見なされます。
@@ -7051,7 +7027,6 @@
 <translation id="8951350807133946005">ディスクのキャッシュ ディレクトリの設定</translation>
 <translation id="8955719471735800169">トップへ戻る</translation>
 <translation id="8956312248048980644">オリジンキー エージェント クラスタリングをデフォルトで許可します。</translation>
-<translation id="8959992920425111821">デフォルトの構成</translation>
 <translation id="8967125680876068695">Chrome アプリは、Windows、Mac、Linux でのサポートが終了しています。
       このポリシーを有効に設定した場合、2022 年 6 月にすべてのプラットフォームで Chrome アプリのサポートが廃止される日まで、これらのプラットフォームでは引き続き <ph name="PRODUCT_NAME" /> で Chrome アプリを実行できます。
       このポリシーを無効に設定するか未設定のままにした場合、サポート終了の段階に応じて、一部の Chrome アプリは実行できなくなります。
diff --git a/components/policy/resources/policy_templates_ko.xtb b/components/policy/resources/policy_templates_ko.xtb
index 528f269..20efe9e 100644
--- a/components/policy/resources/policy_templates_ko.xtb
+++ b/components/policy/resources/policy_templates_ko.xtb
@@ -2618,7 +2618,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" />(한 줄 입력란은 지원 중단되었으며 삭제될 예정입니다. 아래의 여러 줄 입력란을 사용해 주세요.)</translation>
 <translation id="3709266154059827597">확장 프로그램 설치 차단목록 설정</translation>
 <translation id="3711895659073496551">일시중지</translation>
-<translation id="3715569262675717862">클라이언트 인증서를 기반으로 하는 인증</translation>
 <translation id="3717409415785131989">정책을 사용 설정하거나 설정하지 않으면 <ph name="PRODUCT_NAME" />에 새 다운로드 도움말 풍선 UI가 표시됩니다.
 
       정책을 사용 안함으로 설정하면 <ph name="PRODUCT_NAME" />에 이전 다운로드 실행기 UI가 계속 표시됩니다.</translation>
@@ -2999,13 +2998,6 @@
 <translation id="410068710490553233">추가 Google 계정에 로그인 허용</translation>
 <translation id="4101282687722389021">이 항목이 마지막으로 업데이트된 UTC 타임스탬프입니다. 타임스탬프는 정수에 적합하지 않으므로 문자열로 전송됩니다.</translation>
 <translation id="4103289232974211388">사용자 확인 후 SAML IdP로 리디렉션</translation>
-<translation id="4105884561459127998">SAML 로그인 인증 유형을 구성합니다.
-
-      이 정책이 설정되지 않거나 기본으로 설정되면(값 0) SAML 로그인의 동작은 다른 요인에 따라 브라우저에서 결정합니다. 가장 기본적인 시나리오에서는 사용자 인증 및 캐시된 사용자 데이터의 보호가 사용자가 직접 입력한 비밀번호를 기반으로 이루어집니다.
-
-      이 정책이 ClientCertificate(값 1)로 설정되면 SAML을 통해 로그인하는 새로 추가된 사용자에게 클라이언트 인증서 인증을 사용합니다. 이러한 사용자에게는 비밀번호를 사용하지 않으며 사용자의 캐시된 로컬 데이터는 해당 암호화 키를 사용하여 보호됩니다. 예를 들어 이 설정을 사용하면 스마트카드 기반 사용자 인증 구성이 허용됩니다(스마트카드 미들웨어 앱은 DeviceLoginScreenExtensions 정책을 통해 설치되어야 함).
-
-      이 정책은 SAML을 사용하여 인증하는 사용자에게만 영향을 미칩니다.</translation>
 <translation id="4105989332710272578">일부 URL 목록에는 인증서 투명성 시행 사용 중지</translation>
 <translation id="4114059938441379876">정책을 설정하면 브라우저에 경고가 표시된 후 사용자가 비밀번호를 변경하도록 URL이 설정됩니다. 비밀번호 보호 서비스에서는 이 정책을 통해 지정된 URL(HTTP 및 HTTPS 프로토콜만)로 사용자를 보냅니다. <ph name="PRODUCT_NAME" /> 제품이 비밀번호 변경 페이지에서 새로운 비밀번호의 솔트 처리된 해시를 제대로 캡처하려면 비밀번호 변경 페이지가 https://www.chromium.org/developers/design-documents/create-amazing-password-forms에 설명된 가이드라인을 준수해야 합니다.
 
@@ -3200,6 +3192,13 @@
 <translation id="4347908978527632940">true로 설정되어 있고 사용자가 관리 대상 사용자인 경우 다른 Android 앱에서 콘텐츠 제공업체를 통해 사용자의 웹 제한사항을 검색할 수 있습니다.
 
           false로 설정되어 있거나 설정되어 있지 않은 경우 콘텐츠 제공업체에서 정보를 제공하지 않습니다.</translation>
+<translation id="4357587374229381015">SAML IdP 로그인 페이지에서 사용자 이름 입력란을 자동 완성하는 데 사용할 URL 매개변수 이름을 지정합니다.
+
+      <ph name="PRODUCT_OS_NAME" /> 프로필과 연결된 사용자의 이메일이 URL 매개변수 값으로 사용됩니다. 사용자가 SAML IdP를 사용해 다른 이메일을 사용해야 하는 경우 이 설정을 사용 중지해야 합니다.
+
+      이 설정을 설정하지 않으면 사용자가 SAML IdP 로그인 페이지에 사용자 이름을 직접 입력해야 합니다.
+
+      이 정책은 로그인 및 잠금 화면에서의 온라인 인증에 영향을 미칩니다.</translation>
 <translation id="4363057787588706121">출처가 서로 다른 목록 정책의 병합을 허용합니다.</translation>
 <translation id="4363101430102811068">입력된 사용자 인증 정보에 대한 유출 감지를 사용 설정</translation>
 <translation id="436581050240847513">기기 네트워크 인터페이스 보고</translation>
@@ -4088,11 +4087,6 @@
       이 정책이 입력 방법 식별자 목록으로 설정되는 경우 주어진 입력 방법을 로그인 화면에서 사용할 수 있습니다. 첫 번째로 주어진 입력 수단이 사전 선택됩니다. 로그인 화면에서는 사용자 포드가 활성화되는데 이때 이 정책에서 주어진 입력 수단과 더불어 사용자가 마지막으로 사용한 입력 수단을 사용할 수 있습니다. 이 정책이 설정되지 않은 경우 로그인 화면의 입력 수단은 로그인 화면이 표시되는 언어에서 가져옵니다. 유효한 입력 수단 식별자가 아닌 값은 무시됩니다.</translation>
 <translation id="5407008856008996384">CUPS 프린터 액세스 허용</translation>
 <translation id="5413051574966911176">연결이 활성화된 경우 원격 호스트 데스크톱에서 연결 관련 UI 사용 중지</translation>
-<translation id="5417597818300833094">정책을 설정하면 사용자가 지정한 <ph name="PRODUCT_OS_NAME" /> 세션의 입력 방법 중 하나를 선택할 수 있습니다.
-
-       설정하지 않거나 빈 목록으로 설정하면 사용자가 지원되는 모든 입력 방법을 선택할 수 있습니다.
-
-      참고: 현재 입력 방법이 지원되지 않으면 하드웨어 키보드 레이아웃(허용되는 경우) 또는 이 목록에서 가장 처음 유효한 항목으로 전환됩니다. 잘못되었거나 지원되지 않는 방법은 무시됩니다.</translation>
 <translation id="5417906792459853336">기기의 애플리케이션 인벤토리 및 사용 정보를 보고합니다.
 
       정책이 False로 설정되거나 설정되지 않으면 정보가 보고되지 않습니다.
@@ -4830,16 +4824,6 @@
 <translation id="6207607210601267301">원격 액세스 호스트에 PIN을 사용하지 않는 인증을 사용 중지</translation>
 <translation id="6208896993204286313"><ph name="PRODUCT_NAME" /> 정책 정보 보고</translation>
 <translation id="6210259502936598222">OS 및 <ph name="PRODUCT_NAME" /> 버전 정보 보고</translation>
-<translation id="6210422374261465354"><ph name="WEBVIEW_PRODUCT_NAME" />에서 인증 URL 구성을 지정할 수 있습니다.
-
-      이러한 인증 URL은 <ph name="WEBVIEW_PRODUCT_NAME" />에 의해 특별하게 처리됩니다. 즉, 인증 과정 중 <ph name="WEBVIEW_PRODUCT_NAME" />에 표시되는 웹페이지에서 인증 URL로 리디렉션되면 이 인증 URL을 처리할 수 있는 해당 ID 공급업체의 OTP 앱이 실행됩니다.
-
-      ID 공급업체에서는 이러한 OTP 앱 실행 흐름을 사용해 다양한 앱에서 SSO를 제공하는 사용 사례를 지원하거나 인증 중 제로 트러스트 기기 신호를 수집하여 기기 상태를 파악함으로써 보안을 강화합니다.
-
-      인증 URL을 처리할 수 있는 유효한 앱이 기기에 설치되어 있지 않으면 <ph name="WEBVIEW_PRODUCT_NAME" />에서 탐색이 계속됩니다.
-
-      유효한 인증 URL은 <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> 스키마를 포함해야 하며, 와일드 카드를 포함해서는 안 됩니다.
-      </translation>
 <translation id="6212868225782276239">차단 목록에 있는 프린터를 제외한 모든 프린터가 표시됨</translation>
 <translation id="6220835555850906733">정책을 사용으로 설정하거나 설정하지 않으면 사용자 기기에서 지원되는 모든 오디오 출력이 허용됩니다.
 
@@ -6166,7 +6150,6 @@
 <translation id="7554382342294940216">정책을 사용 설정하면 <ph name="PRODUCT_OS_NAME" /> 제품이 종속 포털 인증을 위해 프록시를 우회할 수 있습니다. Chrome에서 성공적인 인터넷 연결을 감지할 때까지 종속 포털 로그인 페이지에서 시작되는 이러한 인증 웹페이지는 별도의 창에서 열리며 현재 사용자에게 적용되는 모든 정책 설정 및 제한을 무시합니다. 이 정책은 정책, 확장 프로그램을 통해 프록시가 설정되었거나 사용자가 chrome://settings에서 프록시를 설정한 경우에만 적용됩니다.
 
       정책을 사용 중지하거나 설정하지 않으면 모든 종속 포털 인증 페이지가 새로운 일반 브라우저 탭에 표시되며 현재 사용자의 프록시 설정을 사용합니다.</translation>
-<translation id="7566878661979235378">SAML 로그인 인증 유형</translation>
 <translation id="7567373982693549834">이 정책은 Google Play 스토어 외의 신뢰할 수 없는 출처에서 다운로드한 Android 앱의 사용을 사용자별로 제어합니다.
 
       이 정책의 값을 설정하지 않으면 기능이 허용되지 않는 것으로 간주됩니다.
@@ -7443,7 +7426,6 @@
 <translation id="8951350807133946005">디스크 캐시 디렉터리 설정</translation>
 <translation id="8955719471735800169">맨위로</translation>
 <translation id="8956312248048980644">기본적으로 출처 관련 에이전트 클러스터링을 허용합니다.</translation>
-<translation id="8959992920425111821">기본 구성</translation>
 <translation id="8967125680876068695">Windows, Mac, Linux에서 Chrome 앱의 지원이 중단되었습니다.
       정책을 사용 설정하면 Chrome 앱 지원이 모든 플랫폼에서 삭제되는 2022년 6월의 마지막 날짜까지 <ph name="PRODUCT_NAME" />에서 Chrome 앱이 이러한 플랫폼에서 실행되도록 허용합니다.
       정책을 사용 안함으로 설정하거나 설정하지 않으면 지원 중단 출시 상태에 따라 Chrome 앱이 실행되지 않을 수도 있습니다.
diff --git a/components/policy/resources/policy_templates_nl.xtb b/components/policy/resources/policy_templates_nl.xtb
index 76f72da..6638899 100644
--- a/components/policy/resources/policy_templates_nl.xtb
+++ b/components/policy/resources/policy_templates_nl.xtb
@@ -2571,7 +2571,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Het veld met één regel is beëindigd en wordt in de toekomst verwijderd. Gebruik het tekstvak met meerdere regels hieronder.)</translation>
 <translation id="3709266154059827597">Zwarte lijst voor het installeren van extensies configureren</translation>
 <translation id="3711895659073496551">Onderbreken</translation>
-<translation id="3715569262675717862">Verificatie op basis van clientcertificaten</translation>
 <translation id="3717409415785131989">Als je het beleid toepast of niet instelt, wordt de nieuwe ballon-UI voor downloaden getoond in <ph name="PRODUCT_NAME" />.
 
       Als je het beleid niet toepast, blijft <ph name="PRODUCT_NAME" /> de oude plank-UI voor downloaden tonen.</translation>
@@ -2951,13 +2950,6 @@
 <translation id="410068710490553233">Inloggen op aanvullende Google-accounts toestaan</translation>
 <translation id="4101282687722389021">UTC-tijdstempel voor de laatste tijd waarop dit item is geüpdatet. Gestuurd als tekenreeks omdat het tijdstempel niet past in een geheel getal.</translation>
 <translation id="4103289232974211388">Omleiden naar SAML IdP na bevestiging van de gebruiker</translation>
-<translation id="4105884561459127998">Hiermee configureer je de verificatietypen voor SAML-logins.
-
-      Wanneer dit beleid is ingesteld op Standaard (waarde 0), wordt het gedrag van SAML-logins bepaald door de browser, afhankelijk van andere factoren. In het meest basale scenario worden de gebruikersverificatie en de beveiliging van gebruikersgegevens in de cache gebaseerd op wachtwoorden die handmatig door gebruikers worden ingevoerd.
-
-      Wanneer dit beleid is ingesteld op ClientCertificate (waarde 1), wordt verificatie van clientcertificaten gebruikt voor nieuw toegevoegde gebruikers die via SAML inloggen. Voor dergelijke gebruikers worden geen wachtwoorden gebruikt. Hun gegevens in de lokale cache worden beveiligd met de bijbehorende cryptografische sleutels. Met deze instellingen is bijvoorbeeld de configuratie van slimme gebruikersverificatie op basis van smartcards mogelijk (houd er rekening mee dat middleware-apps voor smartcards via het beleid DeviceLoginScreenExtensions moeten worden geïnstalleerd).
-
-      Dit beleid heeft alleen gevolgen voor gebruikers die SAML-verificatie gebruiken.</translation>
 <translation id="4105989332710272578">Handhaving van Certificaattransparantie voor een lijst met URL's uitzetten</translation>
 <translation id="4114059938441379876">Als je dit beleid instelt, stel je de URL in waarmee gebruikers hun wachtwoord moeten wijzigen nadat zij een waarschuwing zien in de browser. De service voor wachtwoordbeveiliging stuurt gebruikers naar de URL (alleen HTTP- en HTTPS-protocollen) die je opgeeft via dit beleid. Zorg dat je pagina voor het wijzigen van wachtwoorden voldoet aan de richtlijnen op https://www.chromium.org/developers/design-documents/create-amazing-password-forms, zodat <ph name="PRODUCT_NAME" /> de salted hash van het nieuwe wachtwoord op deze pagina voor het wijzigen van wachtwoorden juist vastlegt.
 
@@ -4031,11 +4023,6 @@
       Als dit beleid is ingesteld op een lijst met invoermethode-ID's, zijn de opgegeven invoermethoden beschikbaar in het inlogscherm. De eerste opgegeven invoermethode wordt vooraf geselecteerd. Hoewel een gebruikerspod is gericht op het inlogscherm, is de laatst gebruikte invoermethode van de gebruiker beschikbaar naast de invoermethoden die door dit beleid worden aangegeven. Als dit beleid niet is ingesteld, worden de invoermethoden op het inlogscherm afgeleid van de taal waarin het inlogscherm zichtbaar is. Waarden die geen geldige invoermethode-ID's zijn, worden genegeerd.</translation>
 <translation id="5407008856008996384">Toegang tot CUPS-printers toestaan</translation>
 <translation id="5413051574966911176">Verbindingsgerelateerde UI uitzetten op de externe hostdesktop bij een actieve verbinding</translation>
-<translation id="5417597818300833094">Als je het beleid instelt, kunnen gebruikers een van de invoermethoden voor <ph name="PRODUCT_OS_NAME" />-sessies kiezen die je opgeeft.
-
-       Als je het beleid niet instelt of instelt op een lege lijst, kunnen gebruikers alle ondersteunde invoermethoden selecteren.
-
-      Opmerking: Als de huidige invoermethode niet wordt ondersteund, wordt de invoermethode overgeschakeld naar het hardwaretoetsenbord (indien toegestaan) of het eerste geldige item in deze lijst. Ongeldige of niet-ondersteunde methoden worden genegeerd.</translation>
 <translation id="5417906792459853336">Gegevens rapporteren over de app-voorraad en het gebruik van een apparaat.
 
       Als het beleid is ingesteld op False of niet is ingesteld, worden de gegevens niet gerapporteerd.
@@ -4752,16 +4739,6 @@
 <translation id="6207607210601267301">Verificatie zonder pincode uitzetten voor de host voor externe toegang</translation>
 <translation id="6208896993204286313">Beleidsgegevens van <ph name="PRODUCT_NAME" /> rapporteren</translation>
 <translation id="6210259502936598222">OS- en <ph name="PRODUCT_NAME" />-versiegegevens rapporteren</translation>
-<translation id="6210422374261465354">Hiermee kun je instellingen voor verificatie-URL's opgeven in <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Deze verificatie-URL's worden speciaal behandeld door <ph name="WEBVIEW_PRODUCT_NAME" />. Als je tijdens de verificatie een webpagina in <ph name="WEBVIEW_PRODUCT_NAME" /> bezoekt via verificatie-URL's, wordt bijvoorbeeld de authenticator-app van de overeenkomende identiteitsprovider gelanceerd die deze verificatie-URL kan verwerken.
-
-      Het proces voor de lancering van de authenticator-app van de identiteitsprovider wordt door identiteitsproviders gebruikt om toepassingen mogelijk te maken zoals SSO in apps bieden of betere beveiliging leveren door signalen van veilige apparaten te verzamelen voor meer inzicht in de toestand van het apparaat tijdens verificatie.
-
-      Als er geen geldige app voor de verwerking van verificatie-URL's is geïnstalleerd op het apparaat, gaat de navigatie verder in <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Geldige verificatie-URL's horen het schema <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> te hebben en mogen geen jokertekens bevatten.
-      </translation>
 <translation id="6212868225782276239">Alle printers worden getoond, behalve printers op de blokkeerlijst.</translation>
 <translation id="6220835555850906733">Als je het beleid toepast of niet instelt, is alle ondersteunde audio-uitvoer op de apparaten van gebruikers toegestaan.
 
@@ -6078,7 +6055,6 @@
 <translation id="7554382342294940216">Als je het beleid toepast, kan <ph name="PRODUCT_OS_NAME" /> elke proxy voor captive portal-verificatie omzeilen. Deze verificatiepagina's (vanaf de captive portal-inlogpagina totdat Chrome een internetverbinding waarneemt) worden in een afzonderlijk venster geopend, waarbij alle beleidsinstellingen en -beperkingen voor de huidige gebruiker worden genegeerd. Dit beleid is alleen van kracht als er een proxy is ingesteld (via beleid, extensie of door de gebruiker in chrome://settings).
 
       Als je het beleid niet toepast of niet instelt, worden captive portal-verificatiepagina's getoond in een (normaal) nieuw browsertabblad, waarbij de proxyinstellingen van de huidige gebruiker worden gebruikt.</translation>
-<translation id="7566878661979235378">Verificatietype voor SAML-inlog</translation>
 <translation id="7567373982693549834">Met dit beleid beheer je het gebruik van Android-apps van niet-vertrouwde bronnen (andere dan de Google Play Store) per gebruiker.
 
       Als de waarde voor dit beleid niet is ingesteld, wordt de functionaliteit behandeld alsof er geen toestemming is gegeven.
@@ -7344,7 +7320,6 @@
 <translation id="8951350807133946005">Directory voor schijfcache instellen</translation>
 <translation id="8955719471735800169">Bovenkant pagina</translation>
 <translation id="8956312248048980644">Staat origin-keyed agentclustering standaard toe.</translation>
-<translation id="8959992920425111821">Standaard configuratie</translation>
 <translation id="8967125680876068695">Chrome-apps worden beëindigd voor Windows, Mac en Linux.
       Als je dit beleid aanzet, staat <ph name="PRODUCT_NAME" /> nog steeds toe dat Chrome-apps worden uitgevoerd op deze platforms, tot de einddatum van juni 2022. Op dat moment wordt ondersteuning voor Chrome-apps op alle platforms verwijderd.
       Als je dit beleid uitzet of niet instelt, kunnen Chrome-apps misschien niet worden uitgevoerd, afhankelijk van de status van de uitrol van de beëindiging.
diff --git a/components/policy/resources/policy_templates_pt-BR.xtb b/components/policy/resources/policy_templates_pt-BR.xtb
index b151195c..ed749303 100644
--- a/components/policy/resources/policy_templates_pt-BR.xtb
+++ b/components/policy/resources/policy_templates_pt-BR.xtb
@@ -2608,7 +2608,6 @@
 <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>
 <translation id="3711895659073496551">Suspender</translation>
-<translation id="3715569262675717862">Autenticação baseada em certificados do cliente</translation>
 <translation id="3717409415785131989">Se a política for ativada ou deixada sem definição, a nova IU de download em balão será mostrada no <ph name="PRODUCT_NAME" />.
 
       Se a política for desativada, o <ph name="PRODUCT_NAME" /> vai continuar mostrando a antiga IU de download em estante.</translation>
@@ -2989,13 +2988,6 @@
 <translation id="410068710490553233">Permitir login em outras Contas do Google</translation>
 <translation id="4101282687722389021">Carimbo de data/hora UTC do último horário em que a entrada foi atualizada. Enviada como uma string, porque o carimbo de data/hora não caberia em um número inteiro.</translation>
 <translation id="4103289232974211388">Redireciona para IdP de SAML após confirmação do usuário</translation>
-<translation id="4105884561459127998">Configura o tipo de autenticação para logins SAML.
-
-Quando esta política não for definida ou for definida como "Padrão" (valor 0), o comportamento de logins SAML será determinado pelo navegador dependendo de outros fatores. No cenário mais básico, a autenticação do usuário e a proteção dos dados dele armazenados em cache se baseiam em senhas inseridas manualmente.
-
-Quando esta política for definida como ClientCertificate (valor 1), a autenticação do certificado do cliente será usada para usuários recém-adicionados que fazem login via SAML. Nenhuma senha é usada para esses usuários, e os dados locais deles armazenados em cache são protegidos usando chaves criptográficas correspondentes. Por exemplo, essa configuração permite definir a autenticação dos usuários com base em cartões inteligentes (apps de middleware de cartão inteligente precisam ser instalados pela política DeviceLoginScreenExtensions).
-
-Esta política afeta apenas os usuários que autenticam usando SAML.</translation>
 <translation id="4105989332710272578">Desativar a aplicação da Transparência dos certificados para uma lista de URLs</translation>
 <translation id="4114059938441379876">Se a política for definida, será possível configurar um URL em que os usuários poderão mudar a senha após receber um aviso no navegador. O serviço de proteção de senha direcionará os usuários ao URL (apenas protocolos HTTP e HTTPS) designado pela política. Para que o <ph name="PRODUCT_NAME" /> capture corretamente o hash com sal da nova senha na página de mudança de senha, essa página precisa seguir as diretrizes apresentadas em https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
 
@@ -4082,11 +4074,6 @@
       Se esta política for definida como uma lista de identificadores de método de entrada, os métodos de entrada fornecidos ficarão disponíveis na tela de login. O primeiro método de entrada fornecido será pré-selecionado. Enquanto um grupo de usuários estiver focado na tela de login, o último método de entrada usado pelo usuário ficará disponível juntamente com os métodos de entrada fornecidos por esta política. Se esta política não for definida, os métodos de entrada na tela de login serão derivados da localidade em que a tela de login é exibida. Os valores que não forem identificadores de método de entrada válidos serão ignorados.</translation>
 <translation id="5407008856008996384">Permitir o acesso a impressoras CUPS</translation>
 <translation id="5413051574966911176">Desativar IUs relacionadas à conexão no computador do host remoto quando uma conexão estiver ativa</translation>
-<translation id="5417597818300833094">Se a política for definida, o usuário poderá escolher um dos métodos de entrada para as sessões do <ph name="PRODUCT_OS_NAME" /> que você especificar.
-
-       Se ela for deixada sem definição ou for definida como uma lista vazia, o usuário poderá selecionar todos os métodos de entrada que têm suporte.
-
-      Observação: se não houver suporte para o método de entrada atual, ele será alternado para o layout de teclado do hardware (se permitido) ou para a primeira entrada válida da lista. Métodos de entrada sem suporte ou inválidos são ignorados.</translation>
 <translation id="5417906792459853336">Envia informações sobre o uso e inventário de aplicativos de um dispositivo.
 
       Se a política for definida como falsa ou se não for definida, as informações não serão enviadas.
@@ -4823,18 +4810,6 @@
 <translation id="6207607210601267301">Desativar a autenticação sem PIN para o host de acesso remoto</translation>
 <translation id="6208896993204286313">Reportar informações da política do <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Reportar informações sobre a versão do SO e do <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">Permite que você especifique configurações para URLs de autenticação no <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Esses URLs de autenticação seriam processados de forma especial pelo <ph name="WEBVIEW_PRODUCT_NAME" />. Assim, quando a página da Web no <ph name="WEBVIEW_PRODUCT_NAME" />
-      for direcionada a URLs de autenticação, apps autenticadores provedores de identidade correspondentes que podem processar esse URL serão inicializados.
-
-      Esse fluxo de inicialização do app autenticador de provedores de identidade seria usado para ativar
-      casos de uso, como ao fornecer SSO entre apps ou melhorar a segurança coletando indicadores de dispositivos de confiança zero para entender a postura deles durante a autenticação.
-
-      Se não houver um app válido instalado para processar o URL de autenticação no dispositivo, a navegação vai continuar no <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Os URLs de autenticação válidos precisam ter o esquema <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> e não podem conter caracteres curinga.
-      </translation>
 <translation id="6212868225782276239">Todas as impressoras são mostradas, exceto as da lista de proibições.</translation>
 <translation id="6220835555850906733">Se a política for definida como ativada ou não for definida, todas as saídas de áudio compatíveis nos dispositivos dos usuários terão permissão.
 
@@ -6164,7 +6139,6 @@
 <translation id="7554382342294940216">Se a política for definida como "Ativada", o <ph name="PRODUCT_OS_NAME" /> poderá ignorar qualquer proxy de autenticação de portal cativo. Essas páginas da Web de autenticação, começando pela página de login do portal cativo até que o Chrome detecte uma conexão de Internet bem-sucedida, serão abertas em uma janela separada, ignorando todas as configurações e restrições de política para o usuário atual. Esta política só terá efeito se um proxy estiver configurado (por uma política, por uma extensão ou pelo usuário em chrome://settings).
 
       Se a política for definida como "Desativada" ou se ela não for definida, qualquer página de autenticação de portal cativo será exibida em uma nova guia (normal) do navegador usando as configurações de proxy atuais do usuário.</translation>
-<translation id="7566878661979235378">Tipo de autenticação de login SAML</translation>
 <translation id="7567373982693549834">Esta política controla, no lugar de cada usuário, o uso de apps Android de fontes não confiáveis (diferentes do Google Play).
 
       Se o valor da política não for definido, a funcionalidade será tratada como não permitida.
@@ -7436,7 +7410,6 @@
 <translation id="8951350807133946005">Definir o diretório de cache de disco</translation>
 <translation id="8955719471735800169">Voltar ao início</translation>
 <translation id="8956312248048980644">Permite o clustering do agente com origin-key por padrão.</translation>
-<translation id="8959992920425111821">Configuração padrão</translation>
 <translation id="8967125680876068695">Os apps do Chrome foram descontinuados no Windows, Mac e Linux.
       Se esta política for ativada, o <ph name="PRODUCT_NAME" /> continuará permitindo a execução de apps do Chrome nessas plataformas até que o suporte a eles seja removido de todas as plataformas na data final, em junho de 2022.
       Se esta política for desativada ou deixada sem definição, a execução de apps do Chrome poderá ser bloqueada, dependendo do status da descontinuação.
diff --git a/components/policy/resources/policy_templates_ru.xtb b/components/policy/resources/policy_templates_ru.xtb
index 17b9370..5fa590e6a9 100644
--- a/components/policy/resources/policy_templates_ru.xtb
+++ b/components/policy/resources/policy_templates_ru.xtb
@@ -2605,7 +2605,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Поле, состоящее из одной строки, устарело и в будущем будет удалено. Используйте расположенное ниже текстовое поле, которое содержит несколько строк.)</translation>
 <translation id="3709266154059827597">Настройка черного списка расширений</translation>
 <translation id="3711895659073496551">Спящий режим</translation>
-<translation id="3715569262675717862">Аутентификация на основе сертификатов клиента</translation>
 <translation id="3717409415785131989">Если правило включено или не настроено, в <ph name="PRODUCT_NAME" /> будет появляться новая всплывающая подсказка о скачиваемых файлах.
 
       Если правило отключено, в <ph name="PRODUCT_NAME" /> будет отображаться старая панель скачиваемых файлов.</translation>
@@ -2985,13 +2984,6 @@
 <translation id="410068710490553233">Разрешить вход в дополнительные аккаунты Google</translation>
 <translation id="4101282687722389021">Временная метка UTC, соответствующая последнему обновлению записи. Она передается в виде строки, потому что формат временной метки не соответствует формату целого числа.</translation>
 <translation id="4103289232974211388">Входить с помощью поставщика услуг SAML (нужно подтверждение пользователя)</translation>
-<translation id="4105884561459127998">Определяет тип аутентификации при входе с использованием SAML.
-
-      Если правило не настроено или для него указано значение по умолчанию (значение "0"), действия при входе с использованием SAML определяются браузером и зависят от других факторов. В самом общем случае для аутентификации пользователей и защиты кешированных пользовательских данных используются пароли, которые нужно вводить вручную.
-
-      Если указано значение ClientCertificate (значение "1"), то для новых пользователей, которые входят с помощью SAML, используется аутентификация на базе сертификатов клиента. Пароли не применяются, а защиту кешированных локальных данных обеспечивают соответствующие криптографические ключи. Например, этот параметр позволяет настроить аутентификацию пользователей на основе смарт-карт. В этом случае промежуточное ПО смарт-карт необходимо устанавливать, используя правило DeviceLoginScreenExtensions.
-
-      Это правило затрагивает только пользователей, которые выполняют вход с использованием SAML.</translation>
 <translation id="4105989332710272578">Отключение проверки сертификатов для определенных сайтов</translation>
 <translation id="4114059938441379876">Позволяет указать URL страницы, на которой пользователи будут менять пароль после появления предупреждения в браузере. Служба защиты паролей будет перенаправлять пользователей на URL, который вы укажете в этом правиле (поддерживаются только протоколы HTTP и HTTPS). Чтобы хеш с солью для нового пароля корректно сохранялся в <ph name="PRODUCT_NAME" />, страница смены пароля должна соответствовать требованиям, перечисленным в этих инструкциях: https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
 
@@ -3185,6 +3177,13 @@
 <translation id="4347908978527632940">Если вы укажете значение True, то другие приложения для Android смогут запрашивать данные об ограничениях контролируемого профиля у поставщика контента.
 
           Если вы укажете значение False или не станете настраивать функцию, то поставщик контента не будет предоставлять эти данные.</translation>
+<translation id="4357587374229381015">Правило определяет название параметра URL, которое будет автоматически подставляться в качестве имени пользователя на странице входа в систему поставщика идентификационной информации SAML.
+
+      Значением для параметра URL будет служить адрес электронной почты, связанный с профилем пользователя в <ph name="PRODUCT_OS_NAME" />. Этот параметр нужно отключить, если на странице входа в систему поставщика идентификационной информации SAML планируется вводить другие электронные адреса.
+
+      Когда параметр не задан, имя пользователя необходимо вводить вручную.
+
+      Это правило распространяется на аутентификацию онлайн на экране входа и заблокированном экране.</translation>
 <translation id="4363057787588706121">Разрешить объединять правила, содержащие списки значений, из нескольких источников</translation>
 <translation id="4363101430102811068">Включить проверку учетных данных на утечку</translation>
 <translation id="436581050240847513">Сообщать о сетевых интерфейсах устройств</translation>
@@ -4069,11 +4068,6 @@
       Если выбран список идентификаторов способов ввода, на экране входа будут указаны эти способы. Выбор будет установлен на первом элементе списка. Если на экране отображается список пользователей, дополнительно будут доступны неиспользуемые в последнее время способы ввода. Если правило не настроено, способы ввода будут определяться региональными настройками для экрана входа. Некорректные идентификаторы способов ввода будут скрыты.</translation>
 <translation id="5407008856008996384">Предоставляет доступ к принтерам CUPS.</translation>
 <translation id="5413051574966911176">Запретить показ интерфейса, связанного с подключением, на рабочем столе удаленного хоста, когда подключение установлено</translation>
-<translation id="5417597818300833094">Это правило позволяет пользователям выбрать один из перечисленных вами методов ввода для сеансов в <ph name="PRODUCT_OS_NAME" />.
-
-       Если правило не настроено или указан пустой список, пользователь может выбирать любой из поддерживаемых способов ввода.
-
-      Примечание. Если текущий способ ввода не поддерживается, будет использоваться аппаратная раскладка клавиатуры (если это разрешено) или первый подходящий способ из списка. Все недопустимые или неподдерживаемые способы ввода игнорируются.</translation>
 <translation id="5417906792459853336">Передача информации об установленных на устройстве приложениях и их использовании.
 
       Если правило не настроено или задано значение False, сведения не отправляются.
@@ -4811,18 +4805,6 @@
 <translation id="6207607210601267301">Отключить аутентификацию без PIN-кода для хостов удаленного доступа</translation>
 <translation id="6208896993204286313">Сообщать данные правил <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Сообщать информацию об ОС и версии <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">Это правило позволяет настроить параметры списка URL для аутентификации в <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Аутентификация с использованием этих адресов осуществляется в <ph name="WEBVIEW_PRODUCT_NAME" /> особым образом. Если для проверки подлинности на веб-странице, открытой в <ph name="WEBVIEW_PRODUCT_NAME" />,
-      нужно перейти по одному из указанных URL, запускается подходящее приложение для аутентификации от поставщика идентификационной информации.
-
-      Это расширяет возможности поставщиков, например позволяет реализовать систему единого входа между приложениями
-      или повысить безопасность путем сбора данных с ненадежных устройств для определения состояния во время аутентификации.
-
-      Если на устройстве не установлено подходящее приложение для аутентификации, то переход по URL произойдет в <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      В URL для аутентификации должен использоваться протокол <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> и не допускаются подстановочные знаки.
-      </translation>
 <translation id="6212868225782276239">Пользователи видят все принтеры, кроме тех, которые находятся в черном списке</translation>
 <translation id="6220835555850906733">Если правило включено или не настроено, будут доступны все поддерживаемые аудиовыходы на устройствах пользователей.
 
@@ -6154,7 +6136,6 @@
 <translation id="7554382342294940216">Если правило включено, <ph name="PRODUCT_OS_NAME" /> может обходить прокси-серверы при аутентификации через страницы входа. Веб-страницы аутентификации, начиная со страницы входа, будут открываться в отдельном окне, игнорируя все настройки и ограничения правил для текущего пользователя, пока Chrome не зафиксирует успешное подключение к Интернету. Правило действует, только если настроен прокси-сервер (в правиле, через расширение или лично пользователем на странице chrome://settings).
 
       Если правило выключено или не настроено, страницы аутентификации будут просто открываться в новой вкладке браузера в соответствии с текущими настройками прокси-сервера.</translation>
-<translation id="7566878661979235378">Тип аутентификации при входе через SAML</translation>
 <translation id="7567373982693549834">Это правило определяет, могут ли конкретные пользователи работать с приложениями для Android из ненадежных источников (не из Google Play).
 
       Если правило не задано, такими приложениями пользоваться нельзя.
@@ -7431,7 +7412,6 @@
 <translation id="8951350807133946005">Установка каталога кеша на диске</translation>
 <translation id="8955719471735800169">В начало</translation>
 <translation id="8956312248048980644">Разрешает кластеризацию агента с ключом источника</translation>
-<translation id="8959992920425111821">Конфигурация по умолчанию</translation>
 <translation id="8967125680876068695">Поддержка приложений Chrome в Windows, macOS и Linux прекращена.
       Если правило включено, <ph name="PRODUCT_NAME" /> будет разрешать запуск приложений Chrome на данных платформах до даты прекращения их поддержки на всех платформах в июне 2022 года.
       Если правило отключено или не настроено, запуск приложений Chrome может быть запрещен (в зависимости от статуса прекращения поддержки).
diff --git a/components/policy/resources/policy_templates_th.xtb b/components/policy/resources/policy_templates_th.xtb
index b8f5f744..afa2a39 100644
--- a/components/policy/resources/policy_templates_th.xtb
+++ b/components/policy/resources/policy_templates_th.xtb
@@ -100,6 +100,7 @@
 <translation id="1095209545735032039">บล็อก Serial API ในเว็บไซต์เหล่านี้</translation>
 <translation id="1096105751829466145">ผู้ให้บริการการค้นหาเริ่มต้น</translation>
 <translation id="1099282607296956954">เปิดใช้การแยกเว็บไซต์สำหรับทุกเว็บไซต์</translation>
+<translation id="1100840127293327071">อย่าเลือกตัวเลือกให้เก็บข้อมูลการท่องเว็บที่มีอยู่ไว้โดยค่าเริ่มต้น</translation>
 <translation id="1105572260329131950">ใช้ไอคอนเริ่มต้นสำหรับการเชื่อมต่อที่ปลอดภัย</translation>
 <translation id="1107538157073168076">ปิดใช้ส่วนขยายข้อมูลเชิงลึก</translation>
 <translation id="1110426799149444997">ปิดใช้การค้นหาภูมิภาคของ <ph name="GOOGLE_LENS_PRODUCT_NAME" /></translation>
@@ -742,6 +743,14 @@
 <translation id="1781356041596378058">นโยบายนี้ยังควบคุมการเข้าถึงตัวเลือกสำหรับนักพัฒนาแอปของ Android เช่นกัน หากคุณตั้งค่านโยบายนี้เป็น True ผู้ใช้จะไม่สามารถเข้าถึงตัวเลือกสำหรับนักพัฒนาแอปได้ หากตั้งเป็น False หรือไม่ได้ตั้งค่า ผู้ใช้จะสามารถเข้าถึงตัวเลือกสำหรับนักพัฒนาแอปด้วยการแตะหมายเลขบิลด์ 7 ครั้งในแอปการตั้งค่าของ Android</translation>
 <translation id="1787790976045065845">นโยบายนี้จะมีผลก็ต่อเมื่อตั้งค่านโยบาย <ph name="SECURITY_TOKEN_SESSION_BEHAVIOR_POLICY_NAME" /> เป็น <ph name="SECURITY_TOKEN_SESSION_BEHAVIOR_LOCK" /> หรือ <ph name="SECURITY_TOKEN_SESSION_BEHAVIOR_LOGOUT" /> และผู้ใช้ที่ตรวจสอบสิทธิ์ผ่านสมาร์ทการ์ดนำสมาร์ทการ์ดดังกล่าวออก จากนั้นนโยบายนี้จะระบุระยะเวลาเป็นวินาทีที่ระบบจะแสดงการแจ้งเตือนซึ่งแจ้งให้ผู้ใช้ทราบถึงการดำเนินการที่กำลังจะเกิดขึ้น การแจ้งเตือนนี้จะบล็อกหน้าจอ การดำเนินการจะเกิดขึ้นหลังจากที่การแจ้งเตือนนี้หมดอายุเท่านั้น ผู้ใช้ป้องกันไม่ให้เกิดการดำเนินการได้ด้วยการเสียบสมาร์ทการ์ดกลับเข้าไปก่อนที่การแจ้งเตือนจะหมดอายุ หากตั้งค่านโยบายนี้เป็น 0 จะไม่มีการแสดงการแจ้งเตือนและการดำเนินการจะเกิดขึ้นทันที</translation>
 <translation id="1793346220873697538">ปิดใช้การพิมพ์ด้วย PIN โดยค่าเริ่มต้น</translation>
+<translation id="1794457906032475749">หากเปิดใช้นโยบายนี้ ระบบจะเลือกตัวเลือกให้เก็บข้อมูลการท่องเว็บที่มีอยู่ไว้เมื่อสร้างโปรไฟล์องค์กรโดยค่าเริ่มต้น
+
+แต่หากไม่ได้ตั้งค่านโยบายนี้หรือปิดใช้ ตัวเลือกให้เก็บข้อมูลการท่องเว็บที่มีอยู่ไว้เมื่อสร้างโปรไฟล์องค์กรจะไม่มีการเลือกไว้โดยค่าเริ่มต้น
+
+ไม่ว่าจะกำหนดค่าแบบใด ผู้ใช้จะสามารถเลือกได้ว่าจะเก็บข้อมูลการท่องเว็บที่มีอยู่ไว้หรือไม่เมื่อสร้างโปรไฟล์องค์กร
+
+นโยบายนี้จะไม่มีผลหากตัวเลือกให้เก็บข้อมูลการท่องเว็บที่มีอยู่ไว้ไม่พร้อมใช้งาน ซึ่งจะเกิดขึ้นหากบังคับใช้การแยกโปรไฟล์องค์กรอย่างเข้มงวด หรือหากข้อมูลมาจากโปรไฟล์ที่มีการจัดการอยู่แล้ว
+</translation>
 <translation id="179694024208061102">การตั้งค่านโยบายเป็น "เปิดใช้" หมายความว่า <ph name="PRODUCT_NAME" /> จะพยายามเปิด URL บางรายการในเบราว์เซอร์สำรอง เช่น <ph name="IE_PRODUCT_NAME" /> ฟีเจอร์นี้กำหนดค่าโดยใช้นโยบายในกลุ่ม <ph name="LEGACY_BROWSER_SUPPORT_POLICY_GROUP" />
 
       การตั้งค่านโยบายเป็น "ปิดใช้" หรือไม่ได้ตั้งค่าหมายความว่า <ph name="PRODUCT_NAME" /> จะไม่พยายามเปิด URL ที่กำหนดในเบราว์เซอร์สำรอง</translation>
@@ -1605,6 +1614,7 @@
 
       ใน <ph name="MS_WIN_NAME" /> ฟังก์ชันการทำงานนี้ใช้ได้เฉพาะในอินสแตนซ์ที่เข้าร่วมโดเมน <ph name="MS_AD_NAME" />, ทำงานใน Windows 10 Pro หรือลงทะเบียนในการจัดการระบบคลาวด์ของเบราว์เซอร์ Chrome ใน <ph name="MAC_OS_NAME" /> ฟังก์ชันการทำงานนี้ใช้ได้เฉพาะในอินสแตนซ์ที่จัดการผ่าน MDM หรือเข้าร่วมโดเมนผ่าน MCX</translation>
 <translation id="2623014935069176671">รอกิจกรรมเริ่มต้นของผู้ใช้</translation>
+<translation id="2625026032335150744">เลือกตัวเลือกให้เก็บข้อมูลการท่องเว็บที่มีอยู่ไว้โดยค่าเริ่มต้น</translation>
 <translation id="2625398797484317969">ควบคุมการตั้งค่าสำหรับคำตอบด่วน</translation>
 <translation id="262740370354162807">เปิดใช้งานการส่งเอกสารไปยัง <ph name="CLOUD_PRINT_NAME" /></translation>
 <translation id="2633084400146331575">เปิดใช้งานการตอบสนองด้วยเสียง</translation>
@@ -2026,6 +2036,7 @@
       ดูข้อมูลโดยละเอียดเกี่ยวกับรูปแบบ <ph name="URL_LABEL" /> ที่ถูกต้องได้ที่ https://cloud.google.com/docs/chrome-enterprise/policies/url-patterns <ph name="WILDCARD_VALUE" /> ไม่ใช่ค่าที่ยอมรับสำหรับนโยบายนี้</translation>
 <translation id="305106159605171619">การลด User Agent ปิดใช้อยู่ และไม่ได้เปิดใช้ผ่านช่วงทดลองใช้งานภาคสนามหรือช่วงทดลองใช้จากต้นทาง</translation>
 <translation id="3053265701996417839">Microsoft Windows 7</translation>
+<translation id="3063302084011279315">ปิดใช้ Screencast</translation>
 <translation id="3064530882228745118">ใช้การค้นหา CNAME ระหว่างการตรวจสอบสิทธิ์ Kerberos</translation>
 <translation id="3066446511111537292">อนุญาตให้ผู้ใช้ที่เชื่อมโยงของอุปกรณ์นี้ใช้การโหลดจากแหล่งที่ไม่รู้จักของ ADB</translation>
 <translation id="3070119171976169951">ป้องกันไม่ให้รูปภาพจากบุคคลที่สามแสดงพรอมต์การตรวจสอบสิทธิ์</translation>
@@ -2242,6 +2253,7 @@
 <translation id="3255762580838224124">การตั้งค่านโยบายจะมีการหมุนจอแสดงผลแต่ละจอไปตามการวางแนวที่กำหนดทุกครั้งที่รีบูตและเมื่อเชื่อมต่อเป็นครั้งแรกหลังจากเปลี่ยนค่าของนโยบาย ผู้ใช้อาจเปลี่ยนการหมุนจอแสดงผลได้จากหน้าการตั้งค่าหลังจากลงชื่อเข้าใช้ แต่จะมีการเปลี่ยนเมื่อรีบูตครั้งถัดไป นโยบายนี้จะใช้กับจอแสดงผลหลักและรอง
 
       หากไม่ได้ตั้งค่าไว้ ค่าเริ่มต้นจะเป็น 0 องศา และผู้ใช้เปลี่ยนค่าได้ตามต้องการ ในกรณีนี้ ระบบจะไม่ใช้ค่าเริ่มต้นซ้ำเมื่อรีสตาร์ท</translation>
+<translation id="3257786863492892609">นโยบายการควบคุม Screencast</translation>
 <translation id="3258380413685430793">เรียกใช้เนื้อหา "<ph name="FLASH_PLUGIN_NAME" />" ทั้งหมด</translation>
 <translation id="325883417142483505">การตั้งค่านโยบายจะกำหนดรายการ URL สำหรับเข้าสู่ระบบขององค์กร (โปรโตคอล HTTP และ HTTPS เท่านั้น) บริการปกป้องรหัสผ่านจะบันทึกแฮชที่ใช้ Salt ของรหัสผ่านใน URL เหล่านี้และนำไปใช้เพื่อตรวจหาการใช้รหัสผ่านซ้ำ โปรดตรวจสอบว่าหน้าลงชื่อเข้าใช้เป็นไปตามหลักเกณฑ์เหล่านี้ (https://www.chromium.org/developers/design-documents/create-amazing-password-forms) เพื่อให้ <ph name="PRODUCT_NAME" /> บันทึกแฮชที่ใช้ Salt ของรหัสผ่านได้อย่างถูกต้อง
 
@@ -2571,7 +2583,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (เราเลิกใช้งานช่องบรรทัดเดียวแล้วและจะนำออกในเร็วๆ นี้ โปรดเริ่มใช้กล่องข้อความหลายบรรทัดด้านล่างนี้)</translation>
 <translation id="3709266154059827597">กำหนดค่ารายการที่ไม่อนุญาตสำหรับการติดตั้งส่วนขยาย</translation>
 <translation id="3711895659073496551">ระงับการใช้งาน</translation>
-<translation id="3715569262675717862">การตรวจสอบสิทธิ์ที่ใช้ใบรับรองไคลเอ็นต์</translation>
 <translation id="3717409415785131989">การตั้งค่านโยบายเป็น "เปิดใช้" หรือไม่ตั้งค่าจะแสดง UI ลูกโป่งสำหรับดาวน์โหลดแบบใหม่ใน <ph name="PRODUCT_NAME" />
 
       การตั้งค่านโยบายเป็น "ปิดใช้" หมายความว่า <ph name="PRODUCT_NAME" /> จะยังแสดง UI แถบดาวน์โหลดแบบเก่าต่อไป</translation>
@@ -2951,13 +2962,6 @@
 <translation id="410068710490553233">อนุญาตการลงชื่อเข้าใช้บัญชี Google เพิ่มเติม</translation>
 <translation id="4101282687722389021">การประทับเวลา UTC สำหรับครั้งสุดท้ายที่อัปเดตข้อมูลนี้ ส่งเป็นสตริงเพราะการประทับเวลาไม่พอดีกับจำนวนเต็ม</translation>
 <translation id="4103289232974211388">เปลี่ยนเส้นทางไปยัง SAML IdP หลังจากผู้ใช้ยืนยัน</translation>
-<translation id="4105884561459127998">กำหนดค่าประเภทการตรวจสอบสิทธิ์ของการเข้าสู่ระบบด้วย SAML
-
-      เมื่อไม่ได้ตั้งค่านโยบายนี้หรือตั้งเป็นค่าเริ่มต้น (ค่า 0) เบราว์เซอร์จะเป็นตัวกำหนดลักษณะการทำงานของการเข้าสู่ระบบด้วย SAML ตามปัจจัยอื่นๆ ในกรณีพื้นฐานที่สุด การตรวจสอบสิทธิ์ผู้ใช้และการปกป้องข้อมูลผู้ใช้ที่แคชไว้จะทำด้วยการใช้รหัสผ่านที่ผู้ใช้ป้อนด้วยตนเอง
-
-      เมื่อตั้งค่านโยบายนี้เป็น ClientCertificate (ค่า 1) ระบบจะใช้การตรวจสอบสิทธิ์ด้วยใบรับรองไคลเอ็นต์สำหรับผู้ใช้ที่เพิ่มเข้ามาใหม่ซึ่งลงชื่อเข้าสู่ระบบผ่าน SAML และจะไม่มีการใช้รหัสผ่านสำหรับผู้ใช้ประเภทนี้ ระบบจะปกป้องข้อมูลในเครื่องที่แคชไว้โดยใช้คีย์การเข้ารหัสที่สอดคล้องกัน ตัวอย่างเช่น การตั้งค่านี้ช่วยให้กำหนดค่าการตรวจสอบสิทธิ์ผู้ใช้ด้วยสมาร์ทการ์ดได้ (จะต้องติดตั้งแอปมิดเดิลแวร์สมาร์ทการ์ดผ่านนโยบาย DeviceLoginScreenExtensions)
-
-      นโยบายนี้ส่งผลกับผู้ใช้ที่ยืนยันตัวตนโดยใช้ SAML เท่านั้น</translation>
 <translation id="4105989332710272578">ปิดการบังคับใช้ความโปร่งใสของใบรับรองสำหรับรายการ URL</translation>
 <translation id="4114059938441379876">การตั้งค่านโยบายจะกำหนด URL ที่ให้ผู้ใช้ไปเปลี่ยนรหัสผ่านหลังจากเห็นคำเตือนในเบราว์เซอร์ บริการปกป้องรหัสผ่านจะส่งผู้ใช้ไปยัง URL (โปรโตคอล HTTP และ HTTPS เท่านั้น) ที่คุณกำหนดผ่านนโยบายนี้ โปรดตรวจสอบว่าหน้าเปลี่ยนรหัสผ่านของคุณเป็นไปตามหลักเกณฑ์เหล่านี้ (https://www.chromium.org/developers/design-documents/create-amazing-password-forms) เพื่อให้ <ph name="PRODUCT_NAME" /> บันทึกแฮชที่ใช้ Salt ของรหัสผ่านใหม่ได้อย่างถูกต้องในหน้าเปลี่ยนรหัสผ่านนี้
 
@@ -3206,6 +3210,7 @@
 <translation id="441686537793821907">บล็อกการติดตั้งส่วนขยายจากภายนอก</translation>
 <translation id="4423597592074154136">ระบุการตั้งค่าพร็อกซีด้วยตนเอง</translation>
 <translation id="4424004842303301809">ปิดใช้การรายงานเหตุการณ์การป้องกันข้อมูลรั่วไหล</translation>
+<translation id="4426601693403743089">ปิดการลองใช้ Screencast สำหรับผู้ใช้ Family Link</translation>
 <translation id="4427173305799125784">โปรแกรมอ่าน PDF ใส่คำอธิบายประกอบใน PDF ไม่ได้</translation>
 <translation id="4432762137771104529">เปิดใช้การรายงานแบบขยายของ Safe Browsing</translation>
 <translation id="443454694385851356">แบบเดิม (ไม่ปลอดภัย)</translation>
@@ -4030,11 +4035,6 @@
       หากตั้งค่านโยบายนี้เป็นรายการตัวระบุวิธีการป้อนข้อมูล วิธีการป้อนข้อมูลที่ระบุจะพร้อมใช้งานในหน้าจอการลงชื่อเข้าใช้ ระบบจะเลือกวิธีการป้อนข้อมูลแรกที่ระบุไว้ล่วงหน้า เมื่อมีการทำงานบนพ็อดผู้ใช้ในหน้าจอการลงชื่อเข้าใช้ วิธีการป้อนข้อมูลที่ผู้ใช้ใช้ล่าสุดจะพร้อมใช้งานนอกเหนือจากวิธีการป้อนข้อมูลที่ได้จากนโยบายนี้ หากไม่ได้ตั้งค่านโยบายนี้ วิธีการป้อนข้อมูลในหน้าจอการลงชื่อเข้าใช้จะได้รับมาจากภาษาที่หน้าจอการลงชื่อเข้าใช้แสดง ระบบจะไม่สนใจค่าที่ไม่ใช่ตัวระบุวิธีการป้อนข้อมูลที่ถูกต้อง</translation>
 <translation id="5407008856008996384">อนุญาตการเข้าถึงเครื่องพิมพ์ CUPS</translation>
 <translation id="5413051574966911176">ปิดใช้การแสดง UI ที่เกี่ยวข้องกับการเชื่อมต่อบนเดสก์ท็อปของโฮสต์ระยะไกลเมื่อมีการเชื่อมต่อ</translation>
-<translation id="5417597818300833094">การตั้งค่านโยบายนี้จะอนุญาตให้ผู้ใช้เลือกวิธีการป้อนข้อมูลวิธีใดวิธีหนึ่งสำหรับเซสชันของ <ph name="PRODUCT_OS_NAME" /> ที่คุณระบุ
-
-       หากคุณไม่ได้ตั้งค่าหรือตั้งค่าเป็นรายการว่างเปล่า ผู้ใช้จะเลือกวิธีการป้อนข้อมูลวิธีใดก็ได้ที่รองรับ
-
-      หมายเหตุ: หากไม่รองรับวิธีการป้อนข้อมูลในปัจจุบัน ระบบจะเปลี่ยนไปใช้เลย์เอาต์ของแป้นพิมพ์ฮาร์ดแวร์ (หากอนุญาตให้ใช้ได้) หรือวิธีการแรกที่ใช้ได้ในรายการนี้ โดยจะไม่สนใจวิธีการที่ใช้ไม่ได้หรือไม่รองรับ</translation>
 <translation id="5417906792459853336">รายงานข้อมูลสำหรับพื้นที่และการใช้งานแอปพลิเคชันของอุปกรณ์
 
       หากตั้งค่านโยบายเป็น "เท็จ" หรือไม่ได้ตั้งค่า จะไม่มีการรายงานข้อมูล
@@ -4749,16 +4749,6 @@
 <translation id="6207607210601267301">ปิดใช้การตรวจสอบสิทธิ์โดยไม่ใช้ PIN สำหรับโฮสต์การเข้าถึงระยะไกล</translation>
 <translation id="6208896993204286313">รายงานข้อมูลนโยบายของ <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">รายงานข้อมูลระบบปฏิบัติการและเวอร์ชันของ <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">ให้คุณระบุค่ากำหนดสำหรับ URL การตรวจสอบสิทธิ์ใน <ph name="WEBVIEW_PRODUCT_NAME" /> ได้
-
-      <ph name="WEBVIEW_PRODUCT_NAME" /> จะดำเนินการกับ URL การตรวจสอบสิทธิ์เหล่านี้เป็นพิเศษ ซึ่งทำให้ในระหว่างการตรวจสอบสิทธิ์เมื่อมีการนำทางหน้าเว็บใน <ph name="WEBVIEW_PRODUCT_NAME" /> ไปยัง URL ดังกล่าว ระบบจะเปิดแอป Authenticator ของผู้ให้บริการข้อมูลประจำตัวที่เกี่ยวข้องขึ้นมาที่สามารถจัดการ URL การตรวจสอบสิทธิ์นี้ได้
-
-      ผู้ให้บริการข้อมูลประจำตัวจะใช้ขั้นตอนการเปิดแอป Authenticator ดังกล่าวเพื่อเปิดใช้ Use Case ต่างๆ เช่น การให้บริการ SSO ในแอป หรือการรักษาความปลอดภัยที่ดียิ่งขึ้นโดยการรวบรวมสัญญาณของอุปกรณ์ Zero Trust เพื่อทราบตำแหน่งอุปกรณ์ในระหว่างการตรวจสอบสิทธิ์
-
-      หากไม่ติดตั้งแอปที่ใช้จัดการ URL การตรวจสอบสิทธิ์ได้ไว้ในอุปกรณ์ ระบบจะนำทางต่อใน <ph name="WEBVIEW_PRODUCT_NAME" />
-
-      URL การตรวจสอบสิทธิ์ที่ถูกต้องควรมีรูปแบบ <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> และไม่ควรมีไวลด์การ์ด
-      </translation>
 <translation id="6212868225782276239">เครื่องพิมพ์ทั้งหมดยกเว้นที่อยู่ในบัญชีดำจะปรากฏ</translation>
 <translation id="6220835555850906733">การตั้งค่านโยบายเป็น "เปิดใช้" หรือไม่ได้ตั้งค่าจะอนุญาตเอาต์พุตเสียงทั้งหมดที่รองรับในอุปกรณ์ของผู้ใช้
 
@@ -4803,6 +4793,7 @@
       แต่ละรายการของนโยบายมีลักษณะเป็นสตริงที่มีรหัสส่วนขยายและอาจมี URL "อัปเดต" ที่คั่นด้วยเครื่องหมายอัฒภาค (<ph name="SEMICOLON" />) รหัสส่วนขยายคือสตริงตัวอักษร 32 ตัว เช่น ที่พบใน <ph name="CHROME_EXTENSIONS_LINK" /> เมื่ออยู่ในโหมดนักพัฒนาซอฟต์แวร์ URL "อัปเดต" (หากระบุไว้) ควรชี้ไปยังเอกสาร XML ไฟล์ Manifest ของการอัปเดตตามที่อธิบายไว้ที่ <ph name="LINK_TO_EXTENSION_DOC1" /> โดยค่าเริ่มต้น ระบบจะใช้ URL อัปเดตของ Chrome เว็บสโตร์ (ปัจจุบันคือ "https://clients2.google.com/service/update2/crx") โปรดทราบว่า URL "อัปเดต" ที่กำหนดไว้ในนโยบายนี้จะใช้สำหรับการติดตั้งครั้งแรกเท่านั้น ส่วนการอัปเดตส่วนขยายในครั้งต่อๆ ไปจะใช้ URL อัปเดตที่ระบุไว้ในไฟล์ Manifest ของส่วนขยาย
 
       ตัวอย่างเช่น <ph name="LOGIN_SCREEN_EXTENSION_POLICY_EXAMPLE" /> จะติดตั้งแอป <ph name="SMART_CARD_CONNECTOR_APP_NAME" /> จาก URL "อัปเดต" ของ Chrome เว็บสโตร์มาตรฐาน ดูข้อมูลเพิ่มเติมเกี่ยวกับการโฮสต์ส่วนขยายได้ที่ <ph name="LINK_TO_EXTENSION_DOC2" /></translation>
+<translation id="6274202259872570803">Screencast</translation>
 <translation id="6275497712828649588">ซ่อนคำเตือนด้านความปลอดภัยเมื่อมีการใช้การติดธงบรรทัดคำสั่งที่อาจเป็นอันตราย</translation>
 <translation id="6275833043726517413">ควรใช้การใช้งาน <ph name="CORS" /> เดิมมากกว่า <ph name="CORS" /> ใหม่
 
@@ -4836,7 +4827,15 @@
 
       การตั้งค่า <ph name="CHROME_OS_RELEASE_CHANNEL_POLICY_NAME" /> จะมีผลเฉพาะในกรณีที่ตั้งค่า <ph name="CHROME_OS_RELEASE_CHANNEL_DELEGATED_POLICY_NAME" /> เป็น "เท็จ"</translation>
 <translation id="6305373713165475629">การตั้งค่านโยบายนี้จะลบล้างโหมดการพิมพ์สีเริ่มต้น หากโหมดนี้ไม่พร้อมใช้งาน ระบบจะเพิกเฉยต่อนโยบายนี้</translation>
+<translation id="6308109234708949641">นโยบายนี้เปิดใช้ฟีเจอร์ Screencast สำหรับผู้ใช้ Family Link และให้สิทธิ์ในการสร้างและถอดเสียงการบันทึกหน้าจอและอัปโหลดไปยังไดรฟ์
+      นโยบายนี้ไม่มีผลต่อผู้ใช้ประเภทอื่นๆ
+      นโยบายนี้ไม่มีผลต่อนโยบาย <ph name="PROJECTOR_ENABLED_POLICY_NAME" /> สำหรับผู้ใช้ระดับองค์กร
+
+      หากเปิดใช้นโยบาย ระบบจะเปิดการลองใช้ Screencast สำหรับผู้ใช้ Family Link
+      หากปิดใช้นโยบาย ระบบจะปิดการลองใช้ Screencast สำหรับผู้ใช้ Family Link
+      หากไม่ได้ตั้งค่านโยบาย การลองใช้ Screencast จะปิดโดยค่าเริ่มต้นสำหรับผู้ใช้ Family Link</translation>
 <translation id="6310223829319187614">เปิดใช้การเติมชื่อโดเมนอัตโนมัติระหว่างการลงชื่อเข้าใช้ของผู้ใช้</translation>
+<translation id="6310756730808079944">เปิดใช้ Screencast</translation>
 <translation id="631081324835911099">บังคับให้ผู้ใช้ออกจากระบบเมื่อโทเค็นการตรวจสอบสิทธิ์บัญชีหลักของผู้ใช้ไม่ถูกต้อง
         นโยบายนี้ช่วยป้องกันไม่ให้ผู้ใช้เข้าถึงเนื้อหาที่จำกัดในผลิตภัณฑ์และบริการบนอินเทอร์เน็ตของ Google
         หากตั้งค่านโยบายนี้เป็น "จริง" ระบบจะนำผู้ใช้ออกจากระบบทันทีที่โทเค็นการตรวจสอบสิทธิ์ของผู้ใช้ไม่ถูกต้องและพยายามคืนค่าโทเค็นนี้ไม่สำเร็จ
@@ -5211,6 +5210,12 @@
           หากตั้งค่าเป็นเท็จหรือไม่ได้กำหนดค่า การสร้างผู้ใช้ภายใต้การควบคุมดูแลและการเข้าสู่ระบบของผู้ใช้ภายใต้การควบคุมดูแลจะถูกปิดใช้งาน ผู้ใช้ภายใต้การควบคุมดูแลที่มีอยู่ทั้งหมดจะถูกซ่อนไว้
 
           หมายเหตุ: การทำงานเริ่มต้นสำหรับอุปกรณ์ของผู้บริโภคและอุปกรณ์ขององค์กรจะแตกต่างกัน: บนอุปกรณ์ของผู้บริโภค ผู้ใช้ภายใต้การควบคุมดูแลจะถูกเปิดใช้งานโดยค่าเริ่มต้น แต่จะปิดใช้งานโดยค่าเริ่มต้นบนอุปกรณ์ขององค์กร</translation>
+<translation id="6648746349186337075">นโยบายนี้ให้สิทธิ์ Screencast ในการสร้างและถอดเสียงการบันทึกหน้าจอ รวมถึงอัปโหลดไปที่ไดรฟ์สำหรับผู้ใช้ระดับองค์กร
+      นโยบายนี้ไม่มีผลต่อผู้ใช้ Family Link
+      นโยบายนี้ไม่มีผลต่อนโยบาย <ph name="PROJECTOR_DOGFOOD_FOR_FAMILY_LINK_ENABLED_POLICY_NAME" /> สำหรับผู้ใช้ Family Link
+
+      หากไม่ได้ตั้งค่านโยบายหรือเปิดใช้ไว้ ระบบจะเปิดใช้ Screencast
+      หากปิดใช้นโยบาย ระบบจะปิดใช้ Screencast</translation>
 <translation id="665023848306499203">อนุญาตให้อุปกรณ์เลือกเวอร์ชันที่จะอัปเดต</translation>
 <translation id="6652197835259177259">การตั้งค่าผู้ใช้ที่ได้รับการจัดการในเครื่อง</translation>
 <translation id="6653897159826215341">หากตั้งค่านโยบายเป็น "เปิดใช้" จะทำให้ <ph name="PRODUCT_NAME" /> เปิดกล่องโต้ตอบการพิมพ์ของระบบแทนการแสดงตัวอย่างก่อนพิมพ์ในตัวเมื่อผู้ใช้ขอพิมพ์
@@ -6077,7 +6082,6 @@
 <translation id="7554382342294940216">การตั้งค่านโยบายเป็น "เปิดใช้" จะทำให้ <ph name="PRODUCT_OS_NAME" /> ข้ามพร็อกซีของการตรวจสอบสิทธิ์แคพทีฟพอร์ทัลได้ หน้าเว็บการตรวจสอบสิทธิ์เหล่านี้ (ซึ่งเริ่มตั้งแต่หน้าการลงชื่อเข้าใช้แคพทีฟพอร์ทัลไปจนถึงเมื่อ Chrome ตรวจพบว่าเชื่อมต่ออินเทอร์เน็ตสำเร็จ) จะเปิดในหน้าต่างใหม่โดยไม่ยึดตามข้อจำกัดและการตั้งค่านโยบายทั้งหมดสำหรับผู้ใช้ปัจจุบัน นโยบายนี้จะมีผลก็ต่อเมื่อมีการตั้งค่าพร็อกซี (โดยนโยบาย ส่วนขยาย หรือผู้ใช้ใน chrome://settings)
 
       การตั้งค่านโยบายเป็น "ปิดใช้" หรือไม่ได้ตั้งค่าจะทำให้หน้าการตรวจสอบสิทธิ์แคพทีฟพอร์ทัลต่างๆ แสดงในแท็บใหม่ (ปกติ) ของเบราว์เซอร์โดยใช้การตั้งค่าพร็อกซีของผู้ใช้ปัจจุบัน</translation>
-<translation id="7566878661979235378">ประเภทการตรวจสอบสิทธิ์ของการเข้าสู่ระบบด้วย SAML</translation>
 <translation id="7567373982693549834">นโยบายนี้ควบคุมการใช้งานแอป Android จากแหล่งที่มาที่ไม่น่าเชื่อถือ (แหล่งที่ไม่ใช่ Google Play Store) สำหรับผู้ใช้แต่ละราย
 
       หากไม่ได้ตั้งค่าในนโยบายนี้ จะถือว่าตั้งค่าเป็นไม่อนุญาต
@@ -6113,6 +6117,7 @@
       หากเปิดใช้นโยบายหรือไม่ได้ตั้งค่า ระบบจะเปิดใช้การแปลงหน่วยของคำตอบด่วน
       หากปิดใช้นโยบาย ระบบจะปิดใช้การแปลงหน่วยของคำตอบด่วน</translation>
 <translation id="7587345076013230465">แสดงข้อความแจ้งให้ผู้ใช้เลือกใบรับรองไคลเอ็นต์เมื่อนโยบายการเลือกอัตโนมัติตรงกับใบรับรองหลายรายการบนหน้าจอการลงชื่อเข้าใช้</translation>
+<translation id="7587921466180902617">เปิดการลองใช้ Screencast สำหรับผู้ใช้ Family Link</translation>
 <translation id="759957074386651883">การตั้งค่า Safe Browsing</translation>
 <translation id="7604169113182304895">แอป Android อาจเลือกใช้รายการด้วยความสมัครใจ คุณไม่สามารถบังคับแอปให้เลือกได้</translation>
 <translation id="7612157962821894603">การตั้งค่าสถานะที่ใช้ทั้งระบบที่จะนำไปใช้กับการเริ่มต้นใช้งาน <ph name="PRODUCT_NAME" /></translation>
@@ -6360,6 +6365,7 @@
 
       คำแนะนำ: ล็อกหน้าจอเมื่อไม่มีความเคลื่อนไหวด้วยการเปิดการล็อกหน้าจอเมื่อถูกระงับการใช้งาน และให้<ph name="PRODUCT_OS_NAME" /> ระงับการใช้งานหลังจากหมดระยะหน่วงเวลาเมื่อไม่มีความเคลื่อนไหว ใช้นโยบายนี้ในเวลาที่การล็อกหน้าจอควรจะเกิดขึ้นก่อนเวลาระงับการใช้งานเป็นเวลานาน หรือเมื่อไม่ต้องการระงับการใช้งานเมื่อไม่มีความเคลื่อนไหวเท่านั้น</translation>
 <translation id="7895553628261067384">การเข้าถึงระยะไกล</translation>
+<translation id="7900469325540540107">เก็บข้อมูลการท่องเว็บไว้เมื่อสร้างโปรไฟล์องค์กรโดยค่าเริ่มต้น</translation>
 <translation id="7902040092815978832">แสดงแป้นพิมพ์ตัวเลขสำหรับรหัสผ่าน</translation>
 <translation id="7904177352786629708">การตั้งค่านโยบายเป็น "เปิดใช้" จะข้ามการค้นหา CNAME ระบบจะใช้ชื่อเซิร์ฟเวอร์ตามที่ป้อนเมื่อสร้าง Kerberos SPN
 
@@ -7341,7 +7347,6 @@
 <translation id="8951350807133946005">ตั้งค่าไดเรกทอรีสำหรับแคชของดิสก์</translation>
 <translation id="8955719471735800169">กลับไปด้านบน</translation>
 <translation id="8956312248048980644">อนุญาตการสร้างคลัสเตอร์ Agent ที่ผูกกับต้นทางโดยค่าเริ่มต้น</translation>
-<translation id="8959992920425111821">การกำหนดค่าเริ่มต้น</translation>
 <translation id="8967125680876068695">แอป Chrome เลิกใช้งานแล้วใน Windows, Mac และ Linux
       หากเปิดใช้นโยบายนี้ <ph name="PRODUCT_NAME" /> จะอนุญาตให้แอป Chrome ทำงานในแพลตฟอร์มดังกล่าวต่อไปจนกระทั่งถึงวันที่เรายกเลิกการสนับสนุนแอป Chrome ในทุกแพลตฟอร์มเดือนมิถุนายน 2022
       หากปิดใช้นโยบายนี้หรือไม่ได้ตั้งค่า ระบบอาจไม่อนุญาตให้แอป Chrome ทำงาน ทั้งนี้ขึ้นอยู่กับสถานะของการเริ่มเลิกใช้งาน
diff --git a/components/policy/resources/policy_templates_tr.xtb b/components/policy/resources/policy_templates_tr.xtb
index d195798..aa540ef8 100644
--- a/components/policy/resources/policy_templates_tr.xtb
+++ b/components/policy/resources/policy_templates_tr.xtb
@@ -2591,7 +2591,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Tek satırlı alanlar artık kullanılmamaktadır ve yakında kaldırılacaktır. Lütfen aşağıdaki çok satırlı metin kutusunu kullanın.)</translation>
 <translation id="3709266154059827597">Uzantı kurulum kara listesini yapılandır</translation>
 <translation id="3711895659073496551">Askıya al</translation>
-<translation id="3715569262675717862">İstemci sertifikalarına dayalı kimlik doğrulama</translation>
 <translation id="3717409415785131989">Politika, etkin değerine ayarlanır veya ayarlanmadan bırakılırsa <ph name="PRODUCT_NAME" />, yeni indirme baloncuğu kullanıcı arayüzünü gösterir.
 
       Politika, devre dışı değerine ayarlanırsa <ph name="PRODUCT_NAME" />, eski indirme rafı kullanıcı arayüzünü göstermeye devam eder.</translation>
@@ -2972,13 +2971,6 @@
 <translation id="410068710490553233">Başka Google Hesapları ile Oturum Açmaya İzin Ver</translation>
 <translation id="4101282687722389021">Bu girişin son güncellendiği zamanı gösteren UTC zaman damgası. Zaman damgasına bir tamsayı sığmayacağından dize olarak gönderilir</translation>
 <translation id="4103289232974211388">Kullanıcı onayından sonra SAML IdP'ye yönlendir</translation>
-<translation id="4105884561459127998">SAML giriş için kimlik doğrulama türünü yapılandırır.
-
-      Bu politika ayarlanmazsa veya Varsayılan değere (0 değeri) ayarlanırsa, SAML giriş işlemlerinin çalışma biçimini, diğer unsurlara dayalı olarak tarayıcı tarafından belirlenir. Çoğu temel senaryoda, kullanıcı kimlik doğrulaması ve önbelleğe alınan kullanıcı verilerinin korunması kullanıcıların manuel olarak girdiği şifrelerle yapılır.
-
-      Bu politika ClientCertificate değerine (1 değeri) ayarlanırsa yeni eklenen ve SAML ile giriş kullanıcılar için istemci sertifikası kimlik doğrulaması kullanılır. Bu tür kullanıcılar için herhangi bir şifre kullanılmaz ve bunların önbelleğe alınan yerel verileri ilgili şifreleme anahtarlarıyla korunur. Örneğin, bu ayar, kullanıcı kimlik doğrulamasını temel alarak akıllı kartın yapılandırılmasına olanak verir (DeviceLoginScreenExtensions politikası kullanılarak akıllı kart aracı yazılım uygulamalarının yüklenmesi gerektiğini unutmayın).
-
-      Bu politika sadece SAML kullanarak kimlik doğrulaması yapan kullanıcıları etkiler.</translation>
 <translation id="4105989332710272578">Bir URL listesi için Sertifika Şeffaflığı uygulamasını devre dışı bırak</translation>
 <translation id="4114059938441379876">Politika ayarlanırsa kullanıcıların tarayıcıda bir uyarı gördükten sonra şifrelerini değiştirmeleri için hangi URL'ye gönderileceği belirlenir. Şifre koruma hizmeti, kullanıcıları bu politikayla belirlediğiniz URL'ye (yalnızca HTTP ve HTTPS protokolleri) gönderir. <ph name="PRODUCT_NAME" /> ürününün bu şifre değiştirme sayfasında yeni şifrenin rastgele oluşturulmuş karma değerini doğru bir şekilde yakalayabilmesi için şifre değiştirme sayfanızın, https://www.chromium.org/developers/design-documents/create-amazing-password-forms adresinde belirtilen yönergelere uygun olduğundan emin olun.
 
@@ -4065,11 +4057,6 @@
       Bu politika bir giriş yöntemi tanımlayıcıları listesine ayarlanırsa belirtilen giriş yöntemleri oturum açma ekranında kullanılabilir. Belirtilen ilk giriş yöntemi önceden seçilir. Oturum açma ekranında bir kullanıcı simgesine odaklanılmışken, kullanıcının kullandığı son giriş yöntemi de bu politikada belirtilen giriş yöntemlerine ek olarak gösterilir. Bu politika ayarlanmazsa oturum açma ekranındaki giriş yöntemleri, oturum açma ekranının görüntülendiği yerel ayardan türetilir. Geçerli giriş yöntemi tanımlayıcıları olmayan değerler yok sayılır.</translation>
 <translation id="5407008856008996384">CUPS yazıcılara erişim izni verir</translation>
 <translation id="5413051574966911176">Etkin bağlantı olduğunda uzak ana makine masaüstünde bağlantıyla ilgili kullanıcı arayüzünü devre dışı bırak</translation>
-<translation id="5417597818300833094">Politikanın ayarlanması, belirttiğiniz <ph name="PRODUCT_OS_NAME" /> oturumu için kullanıcıların giriş yöntemlerinden birini seçmesine izin verir.
-
-       Ayarlanmadan bırakılır veya boş bir listeye ayarlanırsa kullanıcılar tüm desteklenen giriş yöntemlerini seçebilirler.
-
-      Not: Geçerli giriş yöntemi desteklenmiyorsa donanım klavye düzenine (izin veriliyorsa) veya bu listedeki ilk geçerli girişe geçiş yapar. Geçersiz veya desteklenmeyen giriş yöntemleri göz ardı edilir.</translation>
 <translation id="5417906792459853336">Cihazın uygulama envanteri ve kullanımı için bilgi raporlayın.
 
       Bu politika false (yanlış) değerine ayarlanırsa veya ayarlanmadan bırakılırsa bilgi raporlanmaz.
@@ -4791,18 +4778,6 @@
 <translation id="6207607210601267301">Uzaktan erişim ana makinesi için PIN'siz kimlik doğrulamayı devre dışı bırak</translation>
 <translation id="6208896993204286313"><ph name="PRODUCT_NAME" /> Politika Bilgilerini bildir</translation>
 <translation id="6210259502936598222">OS ve <ph name="PRODUCT_NAME" /> Sürümü Bilgilerini bildir</translation>
-<translation id="6210422374261465354"><ph name="WEBVIEW_PRODUCT_NAME" /> içindeki kimlik doğrulama URL'leriyle ilgili yapılandırmaları belirtmenizi sağlar.
-
-      <ph name="WEBVIEW_PRODUCT_NAME" /> bu kimlik doğrulama URL'lerini özel olarak ele alır. <ph name="WEBVIEW_PRODUCT_NAME" /> içindeki web sayfası, kimlik doğrulama sırasında kimlik doğrulama URL'lerine yönlendirildiğinde,
-      bu URL'yi işleyebilen ilgili Kimlik Sağlayıcılar'a ait kimlik doğrulayıcı uygulaması başlatılır.
-
-      Kimlik Sağlayıcılar'ın kimlik doğrulayıcı uygulamasını başlatmayla ilgili bu akış, Kimlik Sağlayıcılar tarafından kullanım alanlarını
-      (uygulamalar arasında TOA sağlama veya sıfır güvene sahip cihaz sinyalleri toplayarak daha iyi güvenlik sağlama gibi) etkinleştirerek kimlik doğrulama sırasında cihaz durumunu anlamak için kullanılır.
-
-      Kimlik doğrulama URL'sini işleyecek geçerli bir uygulama cihazda yüklü değilse yönlendirme işlemi <ph name="WEBVIEW_PRODUCT_NAME" /> içinde devam eder.
-
-      Geçerli kimlik doğrulama URL'si <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> şemasına sahip olmalı ve joker karakter içermemelidir.
-      </translation>
 <translation id="6212868225782276239">Kara listede olanlar hariç tüm yazıcılar gösterilir.</translation>
 <translation id="6220835555850906733">Politikayı Etkin değerine ayarlamak veya ayarlamadan bırakmak, kullanıcıların cihazlarında tüm desteklenen ses çıkışlarına izin verir.
 
@@ -6138,7 +6113,6 @@
 <translation id="7554382342294940216">Politika, Etkin değerine ayarlanırsa <ph name="PRODUCT_OS_NAME" /> ürünü, giriş portalı kimlik doğrulaması için proxy'leri atlayabilir. Bu kimlik doğrulama web sayfaları (giriş portalı oturum açma sayfasından itibaren Chrome başarılı bir internet bağlantısı algılayana kadar), geçerli kullanıcıyla ilgili tüm politika ayarları ve kısıtlamalar yok sayılarak ayrı bir pencerede açılır. Bu politika, yalnızca bir proxy yapılandırıldığında (politika veya uzantı aracılığıyla ya da kullanıcı tarafından chrome://settings bölümünden) geçerli olur.
 
       Politika, Devre Dışı değerine ayarlanır veya ayarlanmadan bırakılırsa giriş portalı kimlik doğrulama sayfaları, geçerli kullanıcının proxy ayarları kullanılarak yeni bir (normal) tarayıcı sekmesinde görüntülenir.</translation>
-<translation id="7566878661979235378">SAML oturum açma kimlik doğrulama türü</translation>
 <translation id="7567373982693549834">Bu politika, güvenilmeyen kaynaklardan (Google Play Store dışında) Android uygulamalarının kullanımını kullanıcı bazında kontrol eder.
 
       Bu politikanın değeri ayarlanmazsa işleve izin verilmiyor olarak değerlendirilir.
@@ -7402,7 +7376,6 @@
 <translation id="8951350807133946005">Disk önbellek dizinini ayarla</translation>
 <translation id="8955719471735800169">Başa dön</translation>
 <translation id="8956312248048980644">Varsayılan olarak kaynak içeren veya kaynaklarla ilişkili aracı kümelemeye izin verir.</translation>
-<translation id="8959992920425111821">Varsayılan yapılandırma</translation>
 <translation id="8967125680876068695">Chrome Uygulamaları; Windows, Mac ve Linux'ta kullanımdan kaldırıldı.
       Bu politika etkinleştirilirse <ph name="PRODUCT_NAME" />, Chrome Uygulamaları desteğinin tüm platformlardan kaldırılacağı son tarih olan Haziran 2022'ye kadar Chrome Uygulamalarının bu platformlarda çalıştırılmasına izin verir.
       Bu politika devre dışı bırakılır veya ayarlanmazsa, kullanımdan kaldırma durumuna bağlı olarak Chrome Uygulamalarının çalışmasına izin verilmeyebilir.
diff --git a/components/policy/resources/policy_templates_uk.xtb b/components/policy/resources/policy_templates_uk.xtb
index 8ae4a2c..5710c22 100644
--- a/components/policy/resources/policy_templates_uk.xtb
+++ b/components/policy/resources/policy_templates_uk.xtb
@@ -2618,7 +2618,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Поле, що складається з одного рядка, не підтримується, у майбутньому його буде видалено. Почніть користуватися полем нижче, що складається з кількох рядків.)</translation>
 <translation id="3709266154059827597">Налаштувати "чорний список" для встановлення розширень</translation>
 <translation id="3711895659073496551">Призупинити</translation>
-<translation id="3715569262675717862">Автентифікація на основі сертифікатів клієнта</translation>
 <translation id="3717409415785131989">Якщо не налаштувати правило або вибрати для нього значення Enabled, у <ph name="PRODUCT_NAME" /> відобразиться новий інтерфейс зі спливаючою підказкою щодо завантаження.
 
       Якщо вибрати значення Disabled, у <ph name="PRODUCT_NAME" /> показуватиметься старий інтерфейс із панеллю запуску завантаження.</translation>
@@ -2999,13 +2998,6 @@
 <translation id="410068710490553233">Дозволити вхід у додаткові облікові записи Google</translation>
 <translation id="4101282687722389021">Позначка часу UTC для останнього оновлення запису. Надсилається як сегмент, оскільки не поміщається в ціле число</translation>
 <translation id="4103289232974211388">Перенаправлення на постачальника ідентифікатора SAML після підтвердження користувача</translation>
-<translation id="4105884561459127998">Налаштовує тип автентифікації для входу SAML.
-
-      Якщо це правило не налаштовано або має значення Default (0), процедура входу SAML визначається веб-переглядачем і залежить від інших факторів. За найтиповішим сценарієм автентифікація користувача й захист його кешованих даних здійснюються за допомогою введених вручну паролів.
-
-      Якщо це правило має значення ClientCertificate (1), для нових користувачів, які ввійшли через SAML, використовується автентифікація сертифікатом клієнта. Для таких користувачів не використовуються паролі, а їхні кешовані локальні дані захищені відповідними криптографічними ключами. Наприклад, цей параметр дає змогу налаштувати автентифікацію користувача через смарт-карти (зауважте, що додатки проміжного програмного забезпечення зі смарт-картою потрібно встановлювати за допомогою правила DeviceLoginScreenExtensions).
-
-      Це правило стосується лише користувачів, які автентифікуються через SAML.</translation>
 <translation id="4105989332710272578">Вимкнути застосування перевірки сертифіката для списку URL-адрес</translation>
 <translation id="4114059938441379876">За допомогою цього правила можна налаштувати URL-адресу, де користувачі після попередження у веб-переглядачі зможуть змінити пароль. Сервіс захисту паролів спрямовує користувачів на URL-адресу (лише для протоколів HTTP та HTTPS), яку ви вказуєте в цьому правилі. Щоб <ph name="PRODUCT_NAME" /> правильно зберігав модифікований хеш нового пароля, введеного на цій сторінці, вона має відповідати правилам на сайті https://www.chromium.org/developers/design-documents/create-amazing-password-forms.
 
@@ -3200,6 +3192,13 @@
 <translation id="4347908978527632940">Якщо користувач контрольований і для цього правила вибрано значення "true", інші додатки Android можуть запитувати в постачальника вмісту інформацію про обмеження користувача в Інтернеті.
 
           Якщо це правило не налаштовано або вибрано значення "false", постачальник вмісту не надаватиме інформацію.</translation>
+<translation id="4357587374229381015">Указує назву параметра URL-адреси, який буде застосовуватися на сторінці входу в сервіс постачальника ідентифікатора SAML, щоб поле імені користувача заповнювалось автоматично.
+
+      Електронна адреса користувача, зв’язана з профілем <ph name="PRODUCT_OS_NAME" />, стане значенням параметра URL-адреси. Вимкніть це налаштування, якщо очікується, що користувачі застосовуватимуть різні електронні адреси на сторінці постачальника ідентифікатора SAML.
+
+      Якщо цей параметр не налаштовано, потрібно буде вручну вводити своє ім’я користувача на сторінці входу в сервісі постачальника ідентифікатора SAML.
+
+      Це правило впливає на онлайн-автентифікацію на екранах входу та блокування.</translation>
 <translation id="4363057787588706121">Дає змогу об’єднувати правила списків із різних джерел</translation>
 <translation id="4363101430102811068">Увімкнути перевірку введених облікових даних на предмет витоку</translation>
 <translation id="436581050240847513">Повідомляти про мережеві інтерфейси пристрою</translation>
@@ -4086,11 +4085,6 @@
       Якщо для правила вказано список ідентифікаторів методів введення, ці методи будуть доступні на екрані входу. Перший указаний метод буде вибрано за умовчанням. Коли рядок введення на екрані входу активний, разом із дозволеними цим правилом методами введення буде доступний останній метод введення, вибраний користувачем. Якщо правило не налаштовано, методи введення буде вибрано на основі мовного коду, який використовується на екрані входу. Недійсні ідентифікатори методів введення ігноруються.</translation>
 <translation id="5407008856008996384">Дозволити доступ до принтерів CUPS</translation>
 <translation id="5413051574966911176">Вимкнути показ пов’язаного з підключенням інтерфейсу на робочому столі під час активного віддаленого підключення до нього</translation>
-<translation id="5417597818300833094">Якщо налаштувати це правило, користувачі зможуть вибирати один з указаних вами методів введення для <ph name="PRODUCT_OS_NAME" />.
-
-       Якщо це правило не налаштувати або вказати для нього порожній список, користувачі можуть вибрати будь-який підтримуваний метод введення.
-
-      Примітка: якщо поточний метод введення не підтримується, вмикається розкладка клавіатури апаратного забезпечення (якщо це дозволено) або перший дійсний метод у списку. Недійсні або непідтримувані методи ігноруються.</translation>
 <translation id="5417906792459853336">Повідомляти дані про використання пристрою та додатки на ньому.
 
       Якщо для цього правила вибрано значення false або його не налаштовано, інформація не надсилатиметься.
@@ -4827,18 +4821,6 @@
 <translation id="6207607210601267301">Вимкнути автентифікацію без PIN-коду для хосту віддаленого доступу</translation>
 <translation id="6208896993204286313">Повідомляти інформацію про правила <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Повідомляти інформацію про ОС і версію <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">Це правило дає змогу налаштовувати конфігурації для URL-адрес автентифікації в <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Автентифікація за такими URL-адресами відбувається в <ph name="WEBVIEW_PRODUCT_NAME" /> у такий спосіб: під час переходу з <ph name="WEBVIEW_PRODUCT_NAME" />
-      за цими посиланнями запускається відповідний додаток для автентифікації від постачальника ідентифікаторів.
-
-      Завдяки запуску додатка для автентифікації постачальник ідентифікаторів зможе використовувати
-      Систему єдиного входу або збирати сигнали пристроїв щодо моделі Zero Trust, щоб посилити безпеку й визначити стан пристрою під час автентифікації.
-
-      Якщо на пристрої не встановлено додаток для обробки URL-адреси автентифікації, перехід за посиланнями буде виконано в <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Дійсна URL-адреса автентифікації має починатися з префіксу <ph name="HTTP_PROTOCOL" /> або <ph name="HTTPS_PROTOCOL" /> і не містити символів підстановки.
-      </translation>
 <translation id="6212868225782276239">Відображаються всі принтери, крім тих, які є в чорному списку.</translation>
 <translation id="6220835555850906733">Якщо для цього правила вибрано значення Enabled або його не налаштовано, усі підтримувані на пристроях користувачів аудіовиходи будуть дозволені.
 
@@ -6171,7 +6153,6 @@
 <translation id="7554382342294940216">Якщо це правило ввімкнено, <ph name="PRODUCT_OS_NAME" /> зможе обходити проксі для автентифікації адаптивного порталу. Ці веб-сторінки автентифікації (від сторінки входу в адаптивний портал і доки Chrome не виявить інтернет-з'єднання) відкриваються в окремому вікні незалежно від налаштувань правила й обмежень для поточного користувача. Це правило діє, лише якщо проксі налаштовано (за допомогою правила чи розширення або вручну користувачем на сторінці chrome://settings).
 
       Якщо це правило вимкнено або не налаштовано, сторінки автентифікації адаптивних порталів відображаються у (звичайних) нових вкладках веб-переглядача, а також використовуються поточні налаштування проксі, які вибрав користувач.</translation>
-<translation id="7566878661979235378">Тип автентифікації входу SAML</translation>
 <translation id="7567373982693549834">Це правило дає змогу вибрати окремо для кожного користувача, чи можна завантажувати додатки для Android із ненадійних джерел (не з Google Play).
 
       Якщо це правило не налаштовано, вважатиметься, що воно вимкнене.
@@ -7447,7 +7428,6 @@
 <translation id="8951350807133946005">Налаштування каталогу кешу на диску</translation>
 <translation id="8955719471735800169">На початок</translation>
 <translation id="8956312248048980644">За умовчанням дозволяє кластеризацію агентів за ключем джерела.</translation>
-<translation id="8959992920425111821">Параметри за умовчанням</translation>
 <translation id="8967125680876068695">Додатки Chrome не підтримуються в ОС Windows, Mac і Linux.
       Якщо це правило ввімкнути, <ph name="PRODUCT_NAME" /> дозволятиме запускати додатки Chrome на цих платформах до дати завершення їх підтримки на всіх платформах (червень 2022 року).
       Якщо це правило вимкнути або не налаштувати, запуск додатків Chrome може бути забороненим залежно від статусу припинення підтримки.
diff --git a/components/policy/resources/policy_templates_vi.xtb b/components/policy/resources/policy_templates_vi.xtb
index 03c900b..f0ac232 100644
--- a/components/policy/resources/policy_templates_vi.xtb
+++ b/components/policy/resources/policy_templates_vi.xtb
@@ -2622,7 +2622,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (Trường một dòng không dùng nữa và sẽ bị xóa trong tương lai. Hãy bắt đầu sử dụng hộp văn bản nhiều dòng bên dưới.)</translation>
 <translation id="3709266154059827597">Định cấu hình danh sách đen cài đặt tiện ích</translation>
 <translation id="3711895659073496551">Tạm ngừng</translation>
-<translation id="3715569262675717862">Xác thực dựa trên chứng chỉ ứng dụng khách</translation>
 <translation id="3717409415785131989">Nếu bạn đặt chính sách này thành Bật hoặc không đặt chính sách này, người dùng sẽ thấy bong bóng tải xuống mới xuất hiện trong <ph name="PRODUCT_NAME" />.
 
       Nếu bạn đặt chính sách này thành Tắt, người dùng sẽ tiếp tục thấy giao diện kệ tải xuống cũ trong <ph name="PRODUCT_NAME" />.</translation>
@@ -3003,13 +3002,6 @@
 <translation id="410068710490553233">Cho phép đăng nhập vào các Tài khoản Google khác</translation>
 <translation id="4101282687722389021">Dấu thời gian UTC cho lần cập nhật mục này gần đây nhất. Được gửi dưới dạng một chuỗi do dấu thời gian không phù hợp trong một số nguyên</translation>
 <translation id="4103289232974211388">Chuyển hướng tới SAML IdP sau khi xác nhận người dùng</translation>
-<translation id="4105884561459127998">Định cấu hình loại xác thực đăng nhập qua SAML.
-
-      Khi bạn không đặt hoặc đặt chính sách này thành Default (giá trị 0), hành vi đăng nhập qua SAML sẽ do trình duyệt xác định dựa trên các yếu tố khác. Trong tình huống cơ bản nhất, tính năng xác thực người dùng và bảo vệ dữ liệu người dùng đã lưu vào bộ nhớ đệm là dựa trên mật khẩu mà người dùng nhập theo cách thủ công.
-
-      Khi bạn đặt chính sách này thành ClientCertificate (giá trị 1), tính năng xác thực chứng chỉ ứng dụng khách được dùng cho người dùng mới thêm đăng nhập qua SAML. Không có mật khẩu nào dùng cho những người dùng đó và dữ liệu đã lưu vào bộ nhớ đệm trên máy được bảo vệ bằng cách sử dụng các khóa mật mã tương ứng. Ví dụ: tùy chọn cài đặt này cho phép định cấu hình thẻ thông minh dựa trên tính năng xác thực người dùng (xin lưu ý rằng bạn phải cài đặt ứng dụng trung gian của thẻ thông minh thông qua chính sách DeviceLoginScreenExtensions).
-
-      Chính sách này chỉ ảnh hưởng đến người dùng xác thực bằng cách sử dụng SAML.</translation>
 <translation id="4105989332710272578">Tắt buộc thực thi Tính minh bạch của chứng chỉ cho danh sách URL</translation>
 <translation id="4114059938441379876">Khi bạn đặt chính sách này, hệ thống sẽ đặt URL để người dùng đổi mật khẩu của họ sau khi thấy cảnh báo trên trình duyệt. Dịch vụ bảo vệ mật khẩu đưa người dùng tới URL (chỉ giao thức HTTP và HTTPS) mà bạn chỉ định thông qua chính sách này. Để <ph name="PRODUCT_NAME" /> ghi lại chính xác hàm băm được thêm dữ liệu ngẫu nhiên của mật khẩu mới trên trang đổi mật khẩu này, hãy đảm bảo trang đổi mật khẩu của bạn tuân thủ các nguyên tắc này (https://www.chromium.org/developers/design-documents/create-amazing-password-forms).
 
@@ -4090,11 +4082,6 @@
       Nếu chính sách này được đặt thành danh sách số nhận dạng phương thức nhập, phương thức nhập được cung cấp sẽ có sẵn trên màn hình đăng nhập. Phương thức nhập được cung cấp đầu tiên sẽ được chọn sẵn. Mặc dù nhóm người dùng được lấy tiêu điểm trên màn hình đăng nhập, phương thức nhập được sử dụng gần đây nhất của người dùng sẽ có sẵn ngoài phương thức nhập được cung cấp bởi chính sách này. Nếu chính sách này chưa được đặt, các phương thức nhập trên màn hình đăng nhập sẽ được lấy từ ngôn ngữ mà màn hình đăng nhập hiển thị. Các giá trị không phải số nhận dạng phương thức nhập hợp lệ sẽ bị bỏ qua.</translation>
 <translation id="5407008856008996384">Cho phép truy cập vào máy in CUPS</translation>
 <translation id="5413051574966911176">Tắt giao diện người dùng liên quan đến kết nối trên màn hình máy chủ từ xa khi đang có kết nối</translation>
-<translation id="5417597818300833094">Nếu bạn đặt chính sách này, thì người dùng có thể chọn một trong nhiều phương thức nhập cho phiên <ph name="PRODUCT_OS_NAME" /> mà bạn chỉ định.
-
-       Nếu bạn đặt chính sách này thành một danh sách trống hoặc không đặt chính sách này, thì người dùng có thể chọn tất cả phương thức nhập được hỗ trợ.
-
-      Xin lưu ý: Nếu phương thức nhập hiện tại không được hỗ trợ, thì hệ thống sẽ sử dụng bố cục bàn phím phần cứng (nếu được phép) hoặc mục hợp lệ đầu tiên trong danh sách này. Hệ thống sẽ bỏ qua phương thức không hợp lệ hoặc không được hỗ trợ.</translation>
 <translation id="5417906792459853336">Báo cáo thông tin về mức sử dụng và danh sách ứng dụng của một thiết bị.
 
       Nếu bạn không đặt chính sách này hoặc đặt chính sách thành false, thì thông tin sẽ không được báo cáo.
@@ -4822,16 +4809,6 @@
 <translation id="6207607210601267301">Tắt chế độ xác thực không cần mã PIN đối với máy chủ truy cập từ xa</translation>
 <translation id="6208896993204286313">Báo cáo thông tin chính sách của <ph name="PRODUCT_NAME" /></translation>
 <translation id="6210259502936598222">Báo cáo thông tin hệ điều hành và phiên bản của <ph name="PRODUCT_NAME" /></translation>
-<translation id="6210422374261465354">Cho phép bạn chỉ định cấu hình cho các URL xác thực trong <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      Những URL xác thực này sẽ được đối xử đặc biệt trong <ph name="WEBVIEW_PRODUCT_NAME" />, tức là trong quá trình xác thực khi trang web trong <ph name="WEBVIEW_PRODUCT_NAME" /> được điều hướng đến URL xác thực, ứng dụng xác thực của Nhà cung cấp danh tính tương ứng có thể xử lý URL xác thực này sẽ chạy.
-
-      Quy trình chạy ứng dụng xác thực của Nhà cung cấp danh tính sẽ được Nhà cung cấp danh tính sử dụng để thực hiện những trường hợp sử dụng như cung cấp Dịch vụ Đăng nhập một lần (SSO) giữa nhiều ứng dụng hoặc tăng mức độ bảo mật bằng cách thu thập tín hiệu thiết bị không tin cậy để nắm được tình trạng của thiết bị trong quá trình xác thực.
-
-      Nếu thiết bị chưa cài đặt ứng dụng nào hợp lệ để xử lý URL xác thực, quá trình điều hướng sẽ tiếp tục trên <ph name="WEBVIEW_PRODUCT_NAME" />.
-
-      URL xác thực hợp lệ phải có lược đồ <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> và không chứa ký tự đại diện.
-      </translation>
 <translation id="6212868225782276239">Tất cả các máy in đều hiển thị trừ những máy in trong danh sách cấm.</translation>
 <translation id="6220835555850906733">Nếu bạn đặt chính sách này thành Bật hoặc không đặt chính sách này, thì tất cả thiết bị đầu ra âm thanh được hỗ trợ đều có thể hoạt động trên thiết bị của người dùng.
 
@@ -6157,7 +6134,6 @@
 <translation id="7554382342294940216">Nếu bạn đặt chính sách này thành Bật, <ph name="PRODUCT_OS_NAME" /> sẽ bỏ qua bất kỳ proxy dùng để xác thực nào của trang xác thực. Các trang web xác thực này (bắt đầu từ trang đăng nhập của trang xác thực cho đến khi Chrome phát hiện thấy lượt kết nối Internet thành công) mở trong một cửa sổ riêng biệt, bỏ qua tất cả tùy chọn cài đặt và hạn chế của chính sách đối với người dùng hiện tại. Chính sách này chỉ có hiệu lực nếu proxy được thiết lập (thông qua chính sách, tiện ích hoặc người dùng trong chrome://settings).
 
       Nếu bạn không đặt hoặc đặt chính sách này thành Tắt, thì mọi trang xác thực sẽ hiển thị trong thẻ trình duyệt mới (thông thường), sử dụng tùy chọn cài đặt proxy của người dùng hiện tại.</translation>
-<translation id="7566878661979235378">Loại xác thực đăng nhập SAML</translation>
 <translation id="7567373982693549834">Chính sách này kiểm soát việc sử dụng ứng dụng Android từ những nguồn không tin cậy (không phải là Cửa hàng Google Play) của từng người dùng.
 
       Nếu không được đặt, thì giá trị mặc định của chính sách này sẽ là không cho phép.
@@ -7442,7 +7418,6 @@
 <translation id="8951350807133946005">Thiết lập thư mục bộ nhớ đệm trên đĩa</translation>
 <translation id="8955719471735800169">Quay lại đầu trang</translation>
 <translation id="8956312248048980644">Cho phép phân nhóm tác nhân theo khoá nguồn gốc theo mặc định.</translation>
-<translation id="8959992920425111821">Cấu hình mặc định</translation>
 <translation id="8967125680876068695">Ứng dụng Chrome không được dùng nữa trên Windows, Mac và Linux.
       Nếu bạn bật chính sách này, thì <ph name="PRODUCT_NAME" /> sẽ tiếp tục cho phép Ứng dụng Chrome chạy trên các nền tảng này cho đến ngày cuối cùng, là thời điểm mà Ứng dụng Chrome không còn được hỗ trợ trên tất cả nền tảng vào tháng 6 năm 2022.
       Nếu bạn tắt hoặc không đặt chính sách này, thì Ứng dụng Chrome có thể không được phép chạy, tùy thuộc vào trạng thái của việc ngừng phát hành.
diff --git a/components/policy/resources/policy_templates_zh-CN.xtb b/components/policy/resources/policy_templates_zh-CN.xtb
index 710066d..dfaed39 100644
--- a/components/policy/resources/policy_templates_zh-CN.xtb
+++ b/components/policy/resources/policy_templates_zh-CN.xtb
@@ -2565,7 +2565,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" />(我们已弃用并将于日后移除单行字段。请开始使用下面的多行文本框。)</translation>
 <translation id="3709266154059827597">配置扩展程序安装黑名单</translation>
 <translation id="3711895659073496551">暂停</translation>
-<translation id="3715569262675717862">基于客户端证书的身份验证</translation>
 <translation id="3717409415785131989">如果此政策已启用或未设置,<ph name="PRODUCT_NAME" />中会显示新的下载气泡界面。
 
       如果此政策已停用,<ph name="PRODUCT_NAME" />一直显示旧的下载任务栏界面。</translation>
@@ -2945,13 +2944,6 @@
 <translation id="410068710490553233">允许登录其他 Google 帐号</translation>
 <translation id="4101282687722389021">时间戳(采用世界协调时间),用于表明此条目的上次更新时间。将以字符串的形式发送,因为该时间戳不能表示为整数</translation>
 <translation id="4103289232974211388">用户确认后重定向至 SAML IdP</translation>
-<translation id="4105884561459127998">为 SAML 登录配置身份验证类型。
-
-      如果此政策设为“Default”(值是 0)或未设置,浏览器将会根据其他因素决定 SAML 登录行为。在最基本的情景中,浏览器会根据用户手动输入的密码来验证用户的身份并保护缓存的用户数据。
-
-      如果此政策设为“ClientCertificate”(值是 1),那么对于所有通过 SAML 登录的新增用户,浏览器都会使用客户端证书(而非密码)来验证他们的身份,并会使用相应的加密密钥来保护与他们相关的本地缓存数据。例如,此设置允许配置基于智能卡的用户身份验证机制(请注意,智能卡中间件应用必须通过 DeviceLoginScreenExtensions 政策进行安装)。
-
-      此政策仅会影响那些使用 SAML 验证身份的用户。</translation>
 <translation id="4105989332710272578">对于指定的一系列网址,不强制要求必须符合证书透明度政策</translation>
 <translation id="4114059938441379876">通过设置此政策,您可以配置当浏览器显示警告后,供用户更改密码的网址。密码保护服务会将用户转到您通过此政策指定的网址(仅限 HTTP 和 HTTPS 协议)。为了使 <ph name="PRODUCT_NAME" /> 能够在这个密码更改页面上正确捕获新密码的加盐哈希值,请务必确保该页面遵循了这些准则 ( https://www.chromium.org/developers/design-documents/create-amazing-password-forms )。
 
@@ -3135,6 +3127,13 @@
 <translation id="4347908978527632940">如果设为 true 且该用户是受监管用户,则其他 Android 应用可以通过内容提供方查询该用户的网络限制。
 
           如果设为 false 或未设置,则内容提供方不会返回任何信息。</translation>
+<translation id="4357587374229381015">指定将用于在 SAML IdP 登录页面上自动填充用户名字段的网址参数名称。
+
+      与用户的 <ph name="PRODUCT_OS_NAME" /> 个人资料关联的电子邮件地址将用作网址参数的值。因此,如果用户需要在 SAML IdP 页面上使用不同的电子邮件地址,此设置应被停用。
+
+      如果此设置未配置,用户将需要在 SAML IdP 登录页面上手动输入用户名。
+
+      此政策会影响登录屏幕和锁定的屏幕上的在线身份验证。</translation>
 <translation id="4363057787588706121">允许合并具有多个不同来源的列表政策</translation>
 <translation id="4363101430102811068">针对输入的凭据启用泄露检测功能</translation>
 <translation id="436581050240847513">报告设备网络接口</translation>
@@ -4020,11 +4019,6 @@
       如果此政策设为一个输入法标识符列表,登录屏幕上将会提供所有已指定的输入法以供选用。系统将会预先选择所指定的第一种输入法。当登录屏幕上显示已激活的用户操作大图标时,屏幕上除了会提供通过此政策指定的各种输入法外,还会提供相应用户最近一次用过的输入法。如果此政策未设置,系统则会根据显示登录屏幕时使用的语言区域提供登录屏幕上的输入法。系统将会忽略无效的输入法标识符。</translation>
 <translation id="5407008856008996384">允许访问 CUPS 打印机</translation>
 <translation id="5413051574966911176">禁止远程主机桌面在处于已连接状态时显示与连接相关的界面</translation>
-<translation id="5417597818300833094">通过设置此政策,您可允许用户从您为 <ph name="PRODUCT_OS_NAME" />会话指定的输入法中选择其一。
-
-       如果此政策设为一个空列表或未设置,用户将可以选择所有受支持的输入法。
-
-      注意:如果当前输入法不受支持,它会切换为硬件键盘布局(如果允许)或此列表中的第一个有效条目。无效输入法或不受支持的输入法将被忽略。</translation>
 <translation id="5417906792459853336">此政策旨在报告与设备的应用清单及使用情况有关的信息。
 
       如果此政策设为 false 或未设置,系统将不会报告这些信息。
@@ -4740,16 +4734,6 @@
 <translation id="6207607210601267301">针对远程访问主机停用无 PIN 码身份验证</translation>
 <translation id="6208896993204286313">报告 <ph name="PRODUCT_NAME" /> 政策信息</translation>
 <translation id="6210259502936598222">报告操作系统和 <ph name="PRODUCT_NAME" /> 版本信息</translation>
-<translation id="6210422374261465354">让您能在 <ph name="WEBVIEW_PRODUCT_NAME" /> 中为身份验证网址指定配置。
-
-      这些身份验证网址将被 <ph name="WEBVIEW_PRODUCT_NAME" /> 视为特殊网址,因此在身份验证期间,当网页在 <ph name="WEBVIEW_PRODUCT_NAME" /> 中被导航到身份验证网址时,系统将会启动可处理此身份验证网址的相应身份提供方身份验证器应用。
-
-      身份提供方将使用上述身份提供方身份验证器应用启动流程来支持一些使用情形(例如提供跨应用式单点登录)或通过以下方式提供更高的安全性:在身份验证期间收集零信任设备信号以了解设备状态。
-
-      如果设备上未安装任何用于处理身份验证网址的有效应用,导航将在 <ph name="WEBVIEW_PRODUCT_NAME" /> 中继续。
-
-      有效的身份验证网址应采用 <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> 架构,且不应包含通配符。
-      </translation>
 <translation id="6212868225782276239">系统会显示除黑名单中所列打印机之外的所有打印机。</translation>
 <translation id="6220835555850906733">如果此政策已启用或未设置,用户将能在其设备上使用所有受支持的音频输出。
 
@@ -6069,7 +6053,6 @@
 <translation id="7554382342294940216">如果此政策已启用,系统会允许 <ph name="PRODUCT_OS_NAME" />在进行强制门户身份验证时跳过所有代理。这些身份验证网页(即在 Chrome 检测到成功建立互联网连接之前,从强制门户登录页面开始的所有网页)都会在单独的窗口中打开,并会忽略针对当前用户的所有政策设置和限制。仅当已设置了代理时(通过政策或扩展程序设置,或者由用户在 chrome://settings 中设置),此政策才会生效。
 
       如果此政策已停用或未设置,任何强制门户身份验证页面都将在新的常规浏览器标签页中显示,并会使用当前用户的代理设置。</translation>
-<translation id="7566878661979235378">SAML 登录身份验证类型</translation>
 <translation id="7567373982693549834">此政策可以控制每个用户对来源不受信任(来自 Google Play 商店之外)的 Android 应用的使用。
 
       如果未设置此政策的值,则系统会视为不允许使用此功能。
@@ -7326,7 +7309,6 @@
 <translation id="8951350807133946005">设置磁盘缓存目录</translation>
 <translation id="8955719471735800169">返回页首</translation>
 <translation id="8956312248048980644">默认允许使用以源为键的代理集群。</translation>
-<translation id="8959992920425111821">默认配置</translation>
 <translation id="8967125680876068695">在 Windows、Mac 和 Linux 上,Chrome 应用已被弃用。
       如果此政策已启用,<ph name="PRODUCT_NAME" /> 会允许 Chrome 应用在这些平台上继续运行,直到从所有平台上移除对 Chrome 应用的支持的截止日期(2022 年 6 月)来临为止。
       如果此政策已停用或未设置,Chrome 应用可能会无法运行,具体取决于弃用安排的状态。
diff --git a/components/policy/resources/policy_templates_zh-TW.xtb b/components/policy/resources/policy_templates_zh-TW.xtb
index e5325d77..2fe1a91 100644
--- a/components/policy/resources/policy_templates_zh-TW.xtb
+++ b/components/policy/resources/policy_templates_zh-TW.xtb
@@ -2566,7 +2566,6 @@
 <translation id="3702647575225525306"><ph name="POLICY_NAME" /> (單行欄位已淘汰,日後將遭到移除。請開始使用下方的多行文字方塊。)</translation>
 <translation id="3709266154059827597">設定擴充功能安裝黑名單</translation>
 <translation id="3711895659073496551">暫停</translation>
-<translation id="3715569262675717862">根據用戶端憑證進行驗證</translation>
 <translation id="3717409415785131989">如果將這項政策設為啟用或不設定,<ph name="PRODUCT_NAME" /> 就會顯示新版下載對話框 UI。
 
       如果將這項政策設為停用,代表 <ph name="PRODUCT_NAME" /> 會繼續顯示舊版下載櫃 UI。</translation>
@@ -2945,13 +2944,6 @@
 <translation id="410068710490553233">允許登入其他 Google 帳戶</translation>
 <translation id="4101282687722389021">這個項目上次進行更新的時間戳記 (世界標準時間)。時間戳記並非整數值,因此會以字串的形式傳送</translation>
 <translation id="4103289232974211388">經使用者確認後重新導向 SAML IdP</translation>
-<translation id="4105884561459127998">設定 SAML 登入的驗證類型。
-
-      如果未設定這項政策或使用預設設定 (值為 0),瀏覽器會依其他因素決定是否要允許 SAML 登入行為。在最單純的情況下,如果是要驗證使用者和保護快取使用者資料,則判斷依據是使用者手動輸入的密碼。
-
-      如果將這項政策設為 ClientCertificate (值為 1),則會依用戶端憑證驗證判斷是否要允許新使用者透過 SAML 登入。這類使用者不需要密碼,且其快取本機資料會受到對應加密金鑰的保護。舉例來說,如果使用這項設定,就能設定透過智慧型卡片驗證使用者 (請注意,你必須透過 DeviceLoginScreenExtensions 政策安裝智慧型卡片中介軟體應用程式)。
-
-      這項政策只會影響透過 SAML 進行驗證的使用者。</translation>
 <translation id="4105989332710272578">不針對列出的網址強制執行憑證透明化政策</translation>
 <translation id="4114059938441379876">你可以透過設定這項政策,指定使用者在瀏覽器中看到警告後,前往變更密碼的網址。密碼保護服務會將使用者導向你透過這項政策設定的網址 (僅限 HTTP 和 HTTPS 通訊協定)。為了讓 <ph name="PRODUCT_NAME" /> 能在這個變更密碼頁面中正確擷取新密碼的加鹽雜湊值,請確保變更密碼頁面符合以下網址所述的規範:https://www.chromium.org/developers/design-documents/create-amazing-password-forms。
 
@@ -4027,11 +4019,6 @@
       如果將這項政策設為輸入法 ID 清單,登入畫面即可顯示指定的輸入法。系統會預先選取第一個指定的輸入法。在特定使用者視窗的登入畫面中,除了這項政策指定的輸入法之外,還會提供使用者最後一次使用的輸入法。如果未設定這項政策,系統會根據登入畫面顯示的語言代碼提供登入畫面的輸入法。如果值不是有效的輸入法 ID,則會遭到忽略。</translation>
 <translation id="5407008856008996384">允許存取 CUPS 印表機</translation>
 <translation id="5413051574966911176">連線時,在遠端主機桌面停用連線相關 UI</translation>
-<translation id="5417597818300833094">透過這項政策,你可以讓使用者為 <ph name="PRODUCT_OS_NAME" /> 工作階段選擇你指定的其中一種輸入法。
-
-       如果不設定這項政策或將清單設為空白,使用者可以選取任何支援的輸入法。
-
-      注意:若系統不支援目前的輸入法,就會將輸入法切換至硬體鍵盤配置 (如果情況允許),或是這份清單中的第一個有效項目。系統會忽略無效或不支援的輸入法。</translation>
 <translation id="5417906792459853336">回報裝置的應用程式清單和使用狀況資訊。
 
       如果將這項政策設為 False 或未設定,系統將不會回報這項資訊。
@@ -4733,16 +4720,6 @@
 <translation id="6207607210601267301">針對遠端存取主機停用無 PIN 碼驗證機制</translation>
 <translation id="6208896993204286313">回報 <ph name="PRODUCT_NAME" /> 政策資訊</translation>
 <translation id="6210259502936598222">回報作業系統和 <ph name="PRODUCT_NAME" /> 版本資訊</translation>
-<translation id="6210422374261465354">這項政策可讓你在 <ph name="WEBVIEW_PRODUCT_NAME" /> 中指定驗證網址的設定。
-
-      <ph name="WEBVIEW_PRODUCT_NAME" /> 會將這些驗證網址視為特殊網址,因此在驗證過程中,當 <ph name="WEBVIEW_PRODUCT_NAME" /> 中的網頁導向至驗證網址時,系統就會啟動可處理這個驗證網址的識別資訊提供者驗證器應用程式。
-
-      透過這項啟動識別資訊提供者驗證器應用程式的流程,識別資訊提供者可以啟用其他用途,例如提供多個應用程式適用的單一登入 (SSO),或是收集零信任的裝置信號來瞭解裝置在驗證過程中的狀態,藉此提供更完善的安全防護能力。
-
-      如果裝置上未安裝可處理驗證網址的有效應用程式,系統會繼續在 <ph name="WEBVIEW_PRODUCT_NAME" /> 中導向網頁。
-
-      有效的驗證網址應採用 <ph name="HTTP_PROTOCOL" />/<ph name="HTTPS_PROTOCOL" /> 架構,且不得包含萬用字元。
-      </translation>
 <translation id="6212868225782276239">顯示所有印表機 (黑名單中的印表機除外)。</translation>
 <translation id="6220835555850906733">如果將這項政策設為啟用或不設定,系統會在使用者的裝置上允許所有支援的音訊輸出。
 
@@ -6058,7 +6035,6 @@
 <translation id="7554382342294940216">你可以透過設定這項政策,讓 <ph name="PRODUCT_OS_NAME" /> 在網頁認證入口的驗證機制忽略所有 Proxy 設定。這些驗證網頁 (也就是從開啟網頁認證入口登入網頁開始,到 Chrome 成功偵測到網際網路連線為止的所有網頁) 會在另一個視窗開啟,並忽略目前使用者的所有政策設定和限制。只有當政策、擴充功能或是使用者在 chrome://settings 設定 Proxy 時,這項政策才會生效。
 
       如果將這項政策設為停用或不設定,則所有網頁認證入口驗證網頁都會顯示在一般的新瀏覽器分頁中,使用目前使用者的 Proxy 設定。</translation>
-<translation id="7566878661979235378">SAML 登入驗證類型</translation>
 <translation id="7567373982693549834">這項政策可控管每位使用者是否能使用來源不受信任 (並非來自 Google Play 商店) 的 Android 應用程式。
 
       如果不設定這項政策的值,系統會視為禁止使用這項功能。
@@ -7301,7 +7277,6 @@
 <translation id="8951350807133946005">設定磁碟快取目錄</translation>
 <translation id="8955719471735800169">返回頁首</translation>
 <translation id="8956312248048980644">在預設情況下,允許使用 origin-keyed 代理程式叢集。</translation>
-<translation id="8959992920425111821">預設設定</translation>
 <translation id="8967125680876068695">Chrome 應用程式已在 Windows、Mac 和 Linux 上遭到淘汰。
       如果啟用這項政策,<ph name="PRODUCT_NAME" /> 會繼續允許 Chrome 應用程式在這些平台上執行,直到 2022 年 6 月對所有平台停止支援 Chrome 應用程式為止。
       如果停用或不設定這項政策,系統可能會不允許執行 Chrome 應用程式,具體做法取決於淘汰實施狀態。
diff --git a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
index 75546f5..18c63a4 100644
--- a/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
+++ b/components/remote_cocoa/app_shim/native_widget_mac_nswindow.mm
@@ -374,9 +374,11 @@
 
   // Draggable regions only respond to left-click dragging, but the system will
   // still suppress right-clicks in a draggable region. Forwarding right-clicks
-  // allows the underlying views to respond to right-click to potentially bring
-  // up a frame context menu.
-  if (type == NSEventTypeRightMouseDown) {
+  // and ctrl+left-clicks allows the underlying views to respond to right-click
+  // to potentially bring up a frame context menu.
+  if (type == NSEventTypeRightMouseDown ||
+      (type == NSEventTypeLeftMouseDown &&
+       ([event modifierFlags] & NSEventModifierFlagControl))) {
     if ([[self contentView] hitTest:event.locationInWindow] == nil) {
       [[self contentView] rightMouseDown:event];
       return;
diff --git a/components/services/app_service/public/cpp/intent.cc b/components/services/app_service/public/cpp/intent.cc
index f405c25..4f8800b8 100644
--- a/components/services/app_service/public/cpp/intent.cc
+++ b/components/services/app_service/public/cpp/intent.cc
@@ -156,7 +156,7 @@
       return url.has_value() ? absl::optional<std::string>(url->host())
                              : absl::nullopt;
     }
-    case ConditionType::kPattern: {
+    case ConditionType::kPath: {
       return url.has_value() ? absl::optional<std::string>(url->path())
                              : absl::nullopt;
     }
diff --git a/components/services/app_service/public/cpp/intent_filter.cc b/components/services/app_service/public/cpp/intent_filter.cc
index 907585e..730a3a26 100644
--- a/components/services/app_service/public/cpp/intent_filter.cc
+++ b/components/services/app_service/public/cpp/intent_filter.cc
@@ -9,7 +9,7 @@
 APP_ENUM_TO_STRING(ConditionType,
                    kScheme,
                    kHost,
-                   kPattern,
+                   kPath,
                    kAction,
                    kMimeType,
                    kFile)
@@ -147,8 +147,8 @@
       case ConditionType::kHost:
         match_level += static_cast<int>(IntentFilterMatchLevel::kHost);
         break;
-      case ConditionType::kPattern:
-        match_level += static_cast<int>(IntentFilterMatchLevel::kPattern);
+      case ConditionType::kPath:
+        match_level += static_cast<int>(IntentFilterMatchLevel::kPath);
         break;
       case ConditionType::kMimeType:
       case ConditionType::kFile:
@@ -217,7 +217,7 @@
     }
 
     // For path conditions we add each value to the |paths| set.
-    if (condition->condition_type == ConditionType::kPattern) {
+    if (condition->condition_type == ConditionType::kPath) {
       for (auto& condition_value : condition->condition_values) {
         std::string value = condition_value->value;
         // Glob and literal patterns can be printed exactly, but prefix
@@ -361,8 +361,8 @@
       return ConditionType::kScheme;
     case apps::mojom::ConditionType::kHost:
       return ConditionType::kHost;
-    case apps::mojom::ConditionType::kPattern:
-      return ConditionType::kPattern;
+    case apps::mojom::ConditionType::kPath:
+      return ConditionType::kPath;
     case apps::mojom::ConditionType::kAction:
       return ConditionType::kAction;
     case apps::mojom::ConditionType::kMimeType:
@@ -379,8 +379,8 @@
       return apps::mojom::ConditionType::kScheme;
     case ConditionType::kHost:
       return apps::mojom::ConditionType::kHost;
-    case ConditionType::kPattern:
-      return apps::mojom::ConditionType::kPattern;
+    case ConditionType::kPath:
+      return apps::mojom::ConditionType::kPath;
     case ConditionType::kAction:
       return apps::mojom::ConditionType::kAction;
     case ConditionType::kMimeType:
diff --git a/components/services/app_service/public/cpp/intent_filter.h b/components/services/app_service/public/cpp/intent_filter.h
index 337650e..605489d 100644
--- a/components/services/app_service/public/cpp/intent_filter.h
+++ b/components/services/app_service/public/cpp/intent_filter.h
@@ -27,7 +27,7 @@
   kNone = 0,
   kScheme = 1,
   kHost = 2,
-  kPattern = 4,
+  kPath = 4,
   kMimeType = 8,
 };
 
@@ -42,7 +42,7 @@
      kHost,
      // Matches the URL path (e.g. /abc/*). Does not include the URL query or
      // hash.
-     kPattern,
+     kPath,
      // Matches the action type (e.g. view, send).
      kAction,
      // Matches the top-level mime type (e.g. text/plain).
diff --git a/components/services/app_service/public/cpp/intent_filter_util.cc b/components/services/app_service/public/cpp/intent_filter_util.cc
index cf5a603..59efd93 100644
--- a/components/services/app_service/public/cpp/intent_filter_util.cc
+++ b/components/services/app_service/public/cpp/intent_filter_util.cc
@@ -174,8 +174,7 @@
   intent_filter->AddSingleValueCondition(apps::ConditionType::kHost, url.host(),
                                          apps::PatternMatchType::kNone);
 
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern,
-                                         url.path(),
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath, url.path(),
                                          apps::PatternMatchType::kPrefix);
 
   return intent_filter;
@@ -194,7 +193,7 @@
   AddSingleValueCondition(apps::mojom::ConditionType::kHost, url.host(),
                           apps::mojom::PatternMatchType::kNone, intent_filter);
 
-  AddSingleValueCondition(apps::mojom::ConditionType::kPattern, url.path(),
+  AddSingleValueCondition(apps::mojom::ConditionType::kPath, url.path(),
                           apps::mojom::PatternMatchType::kPrefix,
                           intent_filter);
 
@@ -215,8 +214,8 @@
       case apps::mojom::ConditionType::kHost:
         match_level += static_cast<int>(apps::IntentFilterMatchLevel::kHost);
         break;
-      case apps::mojom::ConditionType::kPattern:
-        match_level += static_cast<int>(apps::IntentFilterMatchLevel::kPattern);
+      case apps::mojom::ConditionType::kPath:
+        match_level += static_cast<int>(apps::IntentFilterMatchLevel::kPath);
         break;
       case apps::mojom::ConditionType::kMimeType:
       case apps::mojom::ConditionType::kFile:
@@ -346,7 +345,7 @@
       case apps::ConditionType::kHost:
         host = true;
         break;
-      case apps::ConditionType::kPattern:
+      case apps::ConditionType::kPath:
         pattern = true;
         break;
       default:
@@ -373,7 +372,7 @@
   bool action = false;
   bool scheme = false;
   bool host = false;
-  bool pattern = false;
+  bool path = false;
   for (auto& condition : intent_filter->conditions) {
     switch (condition->condition_type) {
       case apps::mojom::ConditionType::kAction:
@@ -396,14 +395,14 @@
       case apps::mojom::ConditionType::kHost:
         host = true;
         break;
-      case apps::mojom::ConditionType::kPattern:
-        pattern = true;
+      case apps::mojom::ConditionType::kPath:
+        path = true;
         break;
       default:
         break;
     }
 
-    if (action && scheme && host && pattern) {
+    if (action && scheme && host && path) {
       return true;
     }
   }
@@ -417,12 +416,12 @@
   if (!intent.MatchFilter(intent_filter)) {
     return 0;
   }
-  // If the filter matches, all URL components match, so a kPattern condition
+  // If the filter matches, all URL components match, so a kPath condition
   // matches and we add up the length of the filter's URL components (scheme,
   // host, path).
   size_t path_length = 0;
   for (const apps::ConditionPtr& condition : intent_filter->conditions) {
-    if (condition->condition_type == apps::ConditionType::kPattern) {
+    if (condition->condition_type == apps::ConditionType::kPath) {
       for (const apps::ConditionValuePtr& value : condition->condition_values) {
         switch (value->match_type) {
           case apps::PatternMatchType::kLiteral:
diff --git a/components/services/app_service/public/cpp/intent_filter_util_unittest.cc b/components/services/app_service/public/cpp/intent_filter_util_unittest.cc
index cc616e08..e98e7bd 100644
--- a/components/services/app_service/public/cpp/intent_filter_util_unittest.cc
+++ b/components/services/app_service/public/cpp/intent_filter_util_unittest.cc
@@ -43,7 +43,7 @@
     intent_filter->AddSingleValueCondition(apps::ConditionType::kHost, host,
                                            apps::PatternMatchType::kNone);
 
-    intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern, path,
+    intent_filter->AddSingleValueCondition(apps::ConditionType::kPath, path,
                                            pattern);
 
     return intent_filter;
@@ -69,8 +69,8 @@
                                        apps::mojom::PatternMatchType::kNone,
                                        intent_filter);
 
-    apps_util::AddSingleValueCondition(apps::mojom::ConditionType::kPattern,
-                                       path, pattern, intent_filter);
+    apps_util::AddSingleValueCondition(apps::mojom::ConditionType::kPath, path,
+                                       pattern, intent_filter);
 
     return intent_filter;
   }
@@ -118,7 +118,7 @@
 
   EXPECT_EQ(links.size(), 0u);
 
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern,
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath,
                                          kPathLiteral,
                                          apps::PatternMatchType::kLiteral);
 
@@ -127,9 +127,8 @@
   EXPECT_EQ(links.size(), 1u);
   EXPECT_EQ(links.count(kUrlGoogleLiteral), 1u);
 
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern,
-                                         kPathPrefix,
-                                         apps::PatternMatchType::kPrefix);
+  intent_filter->AddSingleValueCondition(
+      apps::ConditionType::kPath, kPathPrefix, apps::PatternMatchType::kPrefix);
 
   links = intent_filter->GetSupportedLinksForAppManagement();
 
@@ -137,8 +136,8 @@
   EXPECT_EQ(links.count(kUrlGoogleLiteral), 1u);
   EXPECT_EQ(links.count(kUrlGooglePrefix), 1u);
 
-  intent_filter->AddSingleValueCondition(
-      apps::ConditionType::kPattern, kPathGlob, apps::PatternMatchType::kGlob);
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath, kPathGlob,
+                                         apps::PatternMatchType::kGlob);
 
   links = intent_filter->GetSupportedLinksForAppManagement();
 
@@ -176,7 +175,7 @@
   intent_filter->conditions.push_back(std::make_unique<apps::Condition>(
       apps::ConditionType::kHost, std::move(condition_values)));
 
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern,
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath,
                                          kPathLiteral,
                                          apps::PatternMatchType::kLiteral);
 
@@ -215,7 +214,7 @@
       kPathGlob, apps::PatternMatchType::kGlob));
 
   intent_filter->conditions.push_back(std::make_unique<apps::Condition>(
-      apps::ConditionType::kPattern, std::move(path_condition_values)));
+      apps::ConditionType::kPath, std::move(path_condition_values)));
 
   std::set<std::string> links =
       intent_filter->GetSupportedLinksForAppManagement();
@@ -238,7 +237,7 @@
                                          apps::PatternMatchType::kNone);
   intent_filter->AddSingleValueCondition(apps::ConditionType::kHost, host,
                                          apps::PatternMatchType::kSuffix);
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern,
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath,
                                          kPathLiteral,
                                          apps::PatternMatchType::kLiteral);
 
@@ -278,7 +277,7 @@
                                          kHostUrlGoogle,
                                          apps::PatternMatchType::kNone);
 
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern,
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath,
                                          kPathLiteral,
                                          apps::PatternMatchType::kLiteral);
 
@@ -300,13 +299,13 @@
                                          "m.youtube.com",
                                          apps::PatternMatchType::kNone);
 
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern, ".*",
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath, ".*",
                                          apps::PatternMatchType::kGlob);
 
-  intent_filter->AddSingleValueCondition(
-      apps::ConditionType::kPattern, ".*/foo", apps::PatternMatchType::kGlob);
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath, ".*/foo",
+                                         apps::PatternMatchType::kGlob);
 
-  intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern, "",
+  intent_filter->AddSingleValueCondition(apps::ConditionType::kPath, "",
                                          apps::PatternMatchType::kPrefix);
 
   std::set<std::string> links =
@@ -512,14 +511,14 @@
 TEST_F(IntentFilterUtilTest, PatternMatchOverlapMojom) {
   auto literal_pattern_filter1 = MakeFilter(
       "https", "www.example.com", "/", apps::mojom::PatternMatchType::kLiteral);
-  apps_util::AddConditionValue(apps::mojom::ConditionType::kPattern, "/foo",
+  apps_util::AddConditionValue(apps::mojom::ConditionType::kPath, "/foo",
                                apps::mojom::PatternMatchType::kLiteral,
                                literal_pattern_filter1);
 
   auto literal_pattern_filter2 =
       MakeFilter("https", "www.example.com", "/foo/bar",
                  apps::mojom::PatternMatchType::kLiteral);
-  apps_util::AddConditionValue(apps::mojom::ConditionType::kPattern, "/bar",
+  apps_util::AddConditionValue(apps::mojom::ConditionType::kPath, "/bar",
                                apps::mojom::PatternMatchType::kLiteral,
                                literal_pattern_filter2);
 
@@ -551,13 +550,13 @@
 TEST_F(IntentFilterUtilTest, PatternMatchOverlap) {
   auto literal_pattern_filter1 = MakeFilter("https", "www.example.com", "/",
                                             apps::PatternMatchType::kLiteral);
-  apps_util::AddConditionValue(apps::ConditionType::kPattern, "/foo",
+  apps_util::AddConditionValue(apps::ConditionType::kPath, "/foo",
                                apps::PatternMatchType::kLiteral,
                                literal_pattern_filter1);
 
   auto literal_pattern_filter2 = MakeFilter(
       "https", "www.example.com", "/foo/bar", apps::PatternMatchType::kLiteral);
-  apps_util::AddConditionValue(apps::ConditionType::kPattern, "/bar",
+  apps_util::AddConditionValue(apps::ConditionType::kPath, "/bar",
                                apps::PatternMatchType::kLiteral,
                                literal_pattern_filter2);
 
diff --git a/components/services/app_service/public/cpp/intent_util.cc b/components/services/app_service/public/cpp/intent_util.cc
index f1e1a17e..7d7d14d 100644
--- a/components/services/app_service/public/cpp/intent_util.cc
+++ b/components/services/app_service/public/cpp/intent_util.cc
@@ -61,7 +61,7 @@
       return intent->url.has_value()
                  ? absl::optional<std::string>(intent->url->host())
                  : absl::nullopt;
-    case apps::mojom::ConditionType::kPattern:
+    case apps::mojom::ConditionType::kPath:
       return intent->url.has_value()
                  ? absl::optional<std::string>(intent->url->path())
                  : absl::nullopt;
diff --git a/components/services/app_service/public/cpp/intent_util_unittest.cc b/components/services/app_service/public/cpp/intent_util_unittest.cc
index 8dd7342d..e5823daa 100644
--- a/components/services/app_service/public/cpp/intent_util_unittest.cc
+++ b/components/services/app_service/public/cpp/intent_util_unittest.cc
@@ -428,7 +428,7 @@
   EXPECT_EQ(apps_util::GetFilterMatchLevel(filter_url),
             static_cast<int>(apps::IntentFilterMatchLevel::kScheme) +
                 static_cast<int>(apps::IntentFilterMatchLevel::kHost) +
-                static_cast<int>(apps::IntentFilterMatchLevel::kPattern));
+                static_cast<int>(apps::IntentFilterMatchLevel::kPath));
   EXPECT_EQ(apps_util::GetFilterMatchLevel(filter_scheme_and_host_only),
             static_cast<int>(apps::IntentFilterMatchLevel::kScheme) +
                 static_cast<int>(apps::IntentFilterMatchLevel::kHost));
@@ -461,7 +461,7 @@
   EXPECT_EQ(filter_url->GetFilterMatchLevel(),
             static_cast<int>(apps::IntentFilterMatchLevel::kScheme) +
                 static_cast<int>(apps::IntentFilterMatchLevel::kHost) +
-                static_cast<int>(apps::IntentFilterMatchLevel::kPattern));
+                static_cast<int>(apps::IntentFilterMatchLevel::kPath));
   EXPECT_EQ(filter_scheme_and_host_only->GetFilterMatchLevel(),
             static_cast<int>(apps::IntentFilterMatchLevel::kScheme) +
                 static_cast<int>(apps::IntentFilterMatchLevel::kHost));
diff --git a/components/services/app_service/public/cpp/preferred_apps_list_unittest.cc b/components/services/app_service/public/cpp/preferred_apps_list_unittest.cc
index fe8907e45..2847b2dd 100644
--- a/components/services/app_service/public/cpp/preferred_apps_list_unittest.cc
+++ b/components/services/app_service/public/cpp/preferred_apps_list_unittest.cc
@@ -23,21 +23,21 @@
 
 class PreferredAppListTest : public testing::Test {
  protected:
-  apps::IntentFilterPtr MakePatternFilter(const std::string& pattern,
-                                          apps::PatternMatchType match_type) {
+  apps::IntentFilterPtr MakePathFilter(const std::string& pattern,
+                                       apps::PatternMatchType match_type) {
     auto intent_filter =
         apps_util::MakeSchemeAndHostOnlyFilter("https", "www.google.com");
-    intent_filter->AddSingleValueCondition(apps::ConditionType::kPattern,
-                                           pattern, match_type);
+    intent_filter->AddSingleValueCondition(apps::ConditionType::kPath, pattern,
+                                           match_type);
     return intent_filter;
   }
 
-  apps::mojom::IntentFilterPtr CreatePatternFilter(
+  apps::mojom::IntentFilterPtr CreatePathFilter(
       const std::string& pattern,
       apps::mojom::PatternMatchType match_type) {
     auto intent_filter =
         apps_util::CreateSchemeAndHostOnlyFilter("https", "www.google.com");
-    apps_util::AddSingleValueCondition(apps::mojom::ConditionType::kPattern,
+    apps_util::AddSingleValueCondition(apps::mojom::ConditionType::kPath,
                                        pattern, match_type, intent_filter);
     return intent_filter;
   }
@@ -160,11 +160,11 @@
 // Test for more than one pattern available, we can find the correct match.
 TEST_F(PreferredAppListTest, DifferentPatterns) {
   auto intent_filter_literal =
-      MakePatternFilter("/bc", apps::PatternMatchType::kLiteral);
+      MakePathFilter("/bc", apps::PatternMatchType::kLiteral);
   auto intent_filter_prefix =
-      MakePatternFilter("/a", apps::PatternMatchType::kPrefix);
+      MakePathFilter("/a", apps::PatternMatchType::kPrefix);
   auto intent_filter_glob =
-      MakePatternFilter("/c.*d", apps::PatternMatchType::kGlob);
+      MakePathFilter("/c.*d", apps::PatternMatchType::kGlob);
 
   preferred_apps_.AddPreferredApp(kAppId1, intent_filter_literal);
   preferred_apps_.AddPreferredApp(kAppId2, intent_filter_prefix);
@@ -409,11 +409,11 @@
 // Test for more than one pattern available, we can delete the filter.
 TEST_F(PreferredAppListTest, DeleteDifferentPatterns) {
   auto intent_filter_literal =
-      MakePatternFilter("/bc", apps::PatternMatchType::kLiteral);
+      MakePathFilter("/bc", apps::PatternMatchType::kLiteral);
   auto intent_filter_prefix =
-      MakePatternFilter("/a", apps::PatternMatchType::kPrefix);
+      MakePathFilter("/a", apps::PatternMatchType::kPrefix);
   auto intent_filter_glob =
-      MakePatternFilter("/c.*d", apps::PatternMatchType::kGlob);
+      MakePathFilter("/c.*d", apps::PatternMatchType::kGlob);
 
   preferred_apps_.AddPreferredApp(kAppId1, intent_filter_literal);
   preferred_apps_.AddPreferredApp(kAppId2, intent_filter_prefix);
diff --git a/components/services/app_service/public/mojom/types.mojom b/components/services/app_service/public/mojom/types.mojom
index f16804b..063bae78 100644
--- a/components/services/app_service/public/mojom/types.mojom
+++ b/components/services/app_service/public/mojom/types.mojom
@@ -370,7 +370,7 @@
 enum ConditionType {
   kScheme,         // Matches the URL scheme (e.g. https, tel).
   kHost,           // Matches the URL host (e.g. www.google.com).
-  kPattern,        // Matches the URL pattern (e.g. /abc/*).
+  kPath,           // Matches the URL path (e.g. /abc/*).
   kAction,         // Matches the action type (e.g. view, send).
   kMimeType,       // Matches the top-level mime type (e.g. text/plain).
   kFile,           // Matches against all files.
diff --git a/components/strings/components_strings_am.xtb b/components/strings/components_strings_am.xtb
index ec066f8..9b9faf1 100644
--- a/components/strings/components_strings_am.xtb
+++ b/components/strings/components_strings_am.xtb
@@ -1227,6 +1227,7 @@
 <translation id="4305666528087210886">የእርስዎ ፋይል ሊደርስበት አልተቻለም</translation>
 <translation id="4306529830550717874">አድራሻ ይቀመጥ?</translation>
 <translation id="4306812610847412719">ቅንጥብ ሰሌዳ</translation>
+<translation id="4308567447483056043">ተጠቃሚው አጋር ስላልሆነ መመሪያው ችላ ተብሏል። ይህ መመሪያ እንዲተገበር የChrome አሳሽ እና መገለጫ በተመሳሳይ ድርጅት አስተዳዳሪ ኮንሶል በኩል መተዳዳር አለባቸው።</translation>
 <translation id="4310070645992025887">ጉዞዎችዎን ይፈልጉ</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">አግድ (ነባሪ)</translation>
diff --git a/components/strings/components_strings_ar.xtb b/components/strings/components_strings_ar.xtb
index 023c360..fe6404e 100644
--- a/components/strings/components_strings_ar.xtb
+++ b/components/strings/components_strings_ar.xtb
@@ -1230,6 +1230,7 @@
 <translation id="4305666528087210886">تعذّر الوصول لملفك</translation>
 <translation id="4306529830550717874">هل تريد حفظ العنوان؟</translation>
 <translation id="4306812610847412719">الحافظة</translation>
+<translation id="4308567447483056043">‏تم تجاهل هذه السياسة لأنّ المستخدم ليس تابعًا للمؤسسة. لكي تسري هذه السياسة، يجب إدارة متصفِّح Chrome والملف الشخصي من خلال وحدة تحكُّم المشرف في المؤسسة نفسها.</translation>
 <translation id="4310070645992025887">البحث في رحلات البحث</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">حظر (تلقائي)</translation>
diff --git a/components/strings/components_strings_as.xtb b/components/strings/components_strings_as.xtb
index d595cec..c5236a8 100644
--- a/components/strings/components_strings_as.xtb
+++ b/components/strings/components_strings_as.xtb
@@ -1224,6 +1224,7 @@
 <translation id="4305666528087210886">আপোনাৰ ফাইলটো এক্সেছ কৰিব পৰা নগ’ল</translation>
 <translation id="4306529830550717874">ঠিকনাটো চেভ কৰিবনে?</translation>
 <translation id="4306812610847412719">ক্লিপব'ৰ্ড</translation>
+<translation id="4308567447483056043">এই নীতিটো উপেক্ষা কৰা হৈছে কাৰণ ব্যৱহাৰকাৰীগৰাকী অননুমোদিত। এই নীতিটো প্ৰযোজ্য হ’বলৈ হ’লে Chrome ব্ৰাউজাৰ আৰু প্ৰ’ফাইলটো একেটা প্ৰতিষ্ঠানে প্ৰশাসকৰ কনছ’লৰ জৰিয়তে পৰিচালনা কৰিবই লাগিব।</translation>
 <translation id="4310070645992025887">আপোনাৰ জাৰ্নী সন্ধান কৰক</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">অৱৰোধ কৰক (ডিফ’ল্ট)</translation>
diff --git a/components/strings/components_strings_az.xtb b/components/strings/components_strings_az.xtb
index 803415a..9560f78 100644
--- a/components/strings/components_strings_az.xtb
+++ b/components/strings/components_strings_az.xtb
@@ -1067,6 +1067,7 @@
 <translation id="3835233591525155343">Cihazdan istifadəniz</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />, Tab düyməsi, sonra Enter düyməsinə basaraq cəld yeni Google Sənəd yaradın</translation>
 <translation id="385051799172605136">Geri</translation>
+<translation id="3853684360927654006">Parol Gücü Kalkulyatoru</translation>
 <translation id="3858027520442213535">Tarix və saatı güncəlləşdirin</translation>
 <translation id="3858860766373142691">Ad</translation>
 <translation id="3872834068356954457">Elm</translation>
@@ -1677,6 +1678,7 @@
 <translation id="5518670652865028077">İncəsənət və əyləncə</translation>
 <translation id="5519516356611866228">Dəyişikliklərlə</translation>
 <translation id="5523118979700054094">Siyasət adı</translation>
+<translation id="5525755241743357906">Fayl kopyalanıb və ya köçürülüb</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, Tab düyməsi, sonra Enter düyməsinə basaraq ChromeOS ayarlarında əlçatımlılıq alətlərinizi fərdiləşdirin</translation>
 <translation id="5528532273234423708">Məişət avtomatlaşdırılması</translation>
 <translation id="55293785478302737">Kənar tikişi vurun</translation>
@@ -2929,6 +2931,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, Tab düyməsi, sonra Enter düyməsinə basaraq iOS ayarlarında Chrome'u sistemin defolt brauzeri kimi ayarlayın</translation>
 <translation id="9096679202588811390">TV şoular və proqramlar</translation>
 <translation id="9101630580131696064">Qab 1</translation>
+<translation id="9102081333385212048">Kopyaladığınız və ya köçürdüyünüz fayllar təhlil üçün Google Cloud'a və ya üçüncü tərəflərə göndərilir. Məsələn, onlar həssas data və ya zərərli proqrama görə skanlana bilər.</translation>
 <translation id="9103537084693478942">Video proqramı</translation>
 <translation id="9103872766612412690">Məlumatınızı qorumaq üçün <ph name="SITE" /> adətən şifrələmə istifadə edir. Chromium bu dəfə <ph name="SITE" /> üzərinə qoşulmağa çalışanda sayt qeyri-adi və yanlış kredensialları qaytarmağa başladı. Bu, hücum edən özünü <ph name="SITE" /> kimi apardıqda, və ya Wi-Fi tərəfindən bağlantı kəsintisi olduqda baş verir. Məlumatınız hələ də güvənlidir, çünki Chromium datanın mübadiləsindən öncə bağlantını kəsib.</translation>
 <translation id="9106062320799175032">Faktura Ünvanı Əlavə Edin</translation>
diff --git a/components/strings/components_strings_be.xtb b/components/strings/components_strings_be.xtb
index b0cb1df..5a3c48f 100644
--- a/components/strings/components_strings_be.xtb
+++ b/components/strings/components_strings_be.xtb
@@ -1227,6 +1227,7 @@
 <translation id="4305666528087210886">Не ўдалося атрымаць доступ да файла</translation>
 <translation id="4306529830550717874">Захаваць адрас?</translation>
 <translation id="4306812610847412719">буфер абмену</translation>
+<translation id="4308567447483056043">Гэта палітыка ігнаруецца, бо карыстальнік з'яўляецца самастойным. Каб палітыка прымянялася, профіль і браўзер Chrome павінны кантралявацца адной арганізацыяй праз кансоль адміністратара.</translation>
 <translation id="4310070645992025887">Пошук па шляхах</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Блакіраваць (стандартна)</translation>
diff --git a/components/strings/components_strings_bg.xtb b/components/strings/components_strings_bg.xtb
index faabfdf6..5c09d62 100644
--- a/components/strings/components_strings_bg.xtb
+++ b/components/strings/components_strings_bg.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Няма достъп до файла</translation>
 <translation id="4306529830550717874">Да се запази ли адресът?</translation>
 <translation id="4306812610847412719">буферна памет</translation>
+<translation id="4308567447483056043">Това правило е пренебрегнато, защото потребителят не е свързан. За да бъде приложено, браузърът Chrome и потребителският профил трябва да бъдат управлявани през администраторската конзола от една и съща организация.</translation>
 <translation id="4310070645992025887">Търсете в пътуванията си</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Блокиране (по подразбиране)</translation>
diff --git a/components/strings/components_strings_bn.xtb b/components/strings/components_strings_bn.xtb
index 5dc9f00..220ddd2e 100644
--- a/components/strings/components_strings_bn.xtb
+++ b/components/strings/components_strings_bn.xtb
@@ -1072,6 +1072,7 @@
 <translation id="3835233591525155343">আপনার ডিভাইসের ব্যবহার</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />, চটপট নতুন Google Doc তৈরি করতে প্রথমে Tab, তারপরে Enter প্রেস করুন</translation>
 <translation id="385051799172605136">ফিরুন</translation>
+<translation id="3853684360927654006">পাসওয়ার্ডের ক্ষমতা পরিমাপের ক্যালকুলেটর</translation>
 <translation id="3858027520442213535">তারিখ এবং সময় আপডেট করুন</translation>
 <translation id="3858860766373142691">নাম</translation>
 <translation id="3872834068356954457">বিজ্ঞান</translation>
@@ -1229,6 +1230,7 @@
 <translation id="4305666528087210886">আপনার ফাইল অ্যাক্সেস করা যায়নি</translation>
 <translation id="4306529830550717874">ঠিকানা সেভ করবেন?</translation>
 <translation id="4306812610847412719">ক্লিপবোর্ড</translation>
+<translation id="4308567447483056043">এই নীতিটি উপেক্ষা করা হয়েছে কারণ ব্যবহারকারী অ্যাফিলিয়েট নন। এই নীতি প্রয়োগ করার জন্য, Chrome ব্রাউজার এবং প্রোফাইল একই সংস্থার দ্বারা অ্যাডমিন কনসোলের মাধ্যমে ম্যানেজ করতে হবে।</translation>
 <translation id="4310070645992025887">আপনার অ্যাক্টিভিটির সিরিজ সার্চ করুন</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">অবরুদ্ধ করুন (ডিফল্ট)</translation>
diff --git a/components/strings/components_strings_bs.xtb b/components/strings/components_strings_bs.xtb
index fecb0d1..11dc9dc 100644
--- a/components/strings/components_strings_bs.xtb
+++ b/components/strings/components_strings_bs.xtb
@@ -1228,7 +1228,7 @@
 <translation id="4305666528087210886">Pristupanje vašem fajlu nije uspjelo</translation>
 <translation id="4306529830550717874">Sačuvati adresu?</translation>
 <translation id="4306812610847412719">međumemorija</translation>
-<translation id="4308567447483056043">Pravilo se zanemaruje jer korisnik nije povezan. Da bi se to pravilo primijenilo, ista organizacija mora upravljati preglednikom Chrome i profilom putem administratorske konzole.</translation>
+<translation id="4308567447483056043">Оvo pravilo се zanemaruje jer korisnik nije pridružen. Da bi se ovo pravilo primijenilo, preglednikom Chrome i profilom mora upravljati ista organizacija putem Admin console.</translation>
 <translation id="4310070645992025887">Pretražite Putovanja</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokiraj (zadano)</translation>
@@ -1681,6 +1681,7 @@
 <translation id="5518670652865028077">Umjetnost i zabava</translation>
 <translation id="5519516356611866228">S vašim promjenama</translation>
 <translation id="5523118979700054094">Naziv pravila</translation>
+<translation id="5525755241743357906">Datoteka je kopirana ili premještena</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da personalizirate alate za pristupačnost u postavkama ChromeOS-a</translation>
 <translation id="5528532273234423708">Kućna automatizacija</translation>
 <translation id="55293785478302737">Uvez uz rub</translation>
@@ -2933,6 +2934,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da postavite Chrome kao zadani preglednik sistema u postavkama iOS-a</translation>
 <translation id="9096679202588811390">TV emisije i programi</translation>
 <translation id="9101630580131696064">Ladica 1</translation>
+<translation id="9102081333385212048">Datoteke koje kopirate ili premjestite šalju se Google Cloudu ili trećim stranama na analizu. Na primjer, mogu se pregledavati radi otkrivanja osjetljivih podataka ili zlonamjernog softvera.</translation>
 <translation id="9103537084693478942">Video softver</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> obično koristi šifriranje za zaštitu vaših informacija. Kada se Chromium ovaj put pokušao povezati s web lokacijom <ph name="SITE" />, web lokacija je vratila neobične i netačne akreditive. To se može dogoditi kada se napadač pokušava predstaviti kao web lokacija <ph name="SITE" /> ili kada vezu prekine ekran za prijavu na WiFi. Vaše informacije su i dalje sigurne jer je Chromium prekinuo vezu prije bilo kakve razmjene podataka.</translation>
 <translation id="9106062320799175032">Dodaj adresu za naplatu</translation>
diff --git a/components/strings/components_strings_ca.xtb b/components/strings/components_strings_ca.xtb
index 391c940..8291c59 100644
--- a/components/strings/components_strings_ca.xtb
+++ b/components/strings/components_strings_ca.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">No s'ha pogut accedir al fitxer</translation>
 <translation id="4306529830550717874">Vols desar l'adreça?</translation>
 <translation id="4306812610847412719">porta-retalls</translation>
+<translation id="4308567447483056043">Aquesta política s'ignora perquè l'usuari no està afiliat. Perquè s'apliqui aquesta política, el navegador i el perfil de Chrome han d'estar gestionats per la mateixa organització a través de la consola d'administració.</translation>
 <translation id="4310070645992025887">Cerca els teus recorreguts</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloqueja (opció predeterminada)</translation>
diff --git a/components/strings/components_strings_cs.xtb b/components/strings/components_strings_cs.xtb
index c0db6f2..f73a0be6 100644
--- a/components/strings/components_strings_cs.xtb
+++ b/components/strings/components_strings_cs.xtb
@@ -1224,6 +1224,7 @@
 <translation id="4305666528087210886">K souboru nelze získat přístup</translation>
 <translation id="4306529830550717874">Uložit adresu?</translation>
 <translation id="4306812610847412719">schránka</translation>
+<translation id="4308567447483056043">Tato zásada se ignoruje, protože uživatel není přidružený. Aby se tato zásada uplatnila, musí prohlížeč Chrome a profil prostřednictvím administrátorské konzole spravovat stejná organizace.</translation>
 <translation id="4310070645992025887">Prohledat cesty</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokovat (výchozí)</translation>
diff --git a/components/strings/components_strings_el.xtb b/components/strings/components_strings_el.xtb
index f37f18c7..bcf55478 100644
--- a/components/strings/components_strings_el.xtb
+++ b/components/strings/components_strings_el.xtb
@@ -1685,6 +1685,7 @@
 <translation id="5518670652865028077">Τέχνες και ψυχαγωγία</translation>
 <translation id="5519516356611866228">Με τις αλλαγές σας</translation>
 <translation id="5523118979700054094">Όνομα πολιτικής</translation>
+<translation id="5525755241743357906">Το αρχείο αντιγράφηκε ή μετακινήθηκε</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε το πλήκτρο Tab και έπειτα το πλήκτρο Enter για να εξατομικεύσετε τα εργαλεία προσβασιμότητάς σας στις ρυθμίσεις του Chrome OS</translation>
 <translation id="5528532273234423708">Οικιακός αυτοματισμός</translation>
 <translation id="55293785478302737">Ραφή στο άκρο</translation>
@@ -2940,6 +2941,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, πατήστε tab και μετά Enter για να ορίσετε το Chrome ως το προεπιλεγμένο πρόγραμμα περιήγησης του συστήματος στις ρυθμίσεις του iOS</translation>
 <translation id="9096679202588811390">Τηλεοπτικές εκπομπές και προγράμματα</translation>
 <translation id="9101630580131696064">Δίσκος 1</translation>
+<translation id="9102081333385212048">Τα αρχεία που αντιγράφετε ή μετακινείτε αποστέλλονται στο Google Cloud ή σε τρίτα μέρη για ανάλυση. Για παράδειγμα, ενδέχεται να σαρώνονται για ευαίσθητα δεδομένα ή κακόβουλο λογισμικό.</translation>
 <translation id="9103537084693478942">Λογισμικό βίντεο</translation>
 <translation id="9103872766612412690">Κανονικά, ο ιστότοπος <ph name="SITE" /> χρησιμοποιεί κρυπτογράφηση για να προστατεύει τα στοιχεία σας. Όταν το Chromium επιχείρησε πρόσφατα να συνδεθεί στο <ph name="SITE" />, ο ιστότοπος ανταποκρίθηκε δημιουργώντας ασυνήθιστα και εσφαλμένα διαπιστευτήρια. Αυτό μπορεί να συμβεί όταν κάποιος εισβολέας προσπαθεί να υποκριθεί ότι είναι ο ιστότοπος <ph name="SITE" /> ή όταν κάποια οθόνη σύνδεσης Wi-Fi έχει διακόψει τη σύνδεσή σας. Τα στοιχεία σας εξακολουθούν να είναι ασφαλή επειδή το Chromium διέκοψε τη σύνδεση πριν από την ανταλλαγή δεδομένων.</translation>
 <translation id="9106062320799175032">Προσθήκη διεύθυνσης χρέωσης</translation>
diff --git a/components/strings/components_strings_es-419.xtb b/components/strings/components_strings_es-419.xtb
index 028955b2..a5a705e 100644
--- a/components/strings/components_strings_es-419.xtb
+++ b/components/strings/components_strings_es-419.xtb
@@ -1229,6 +1229,7 @@
 <translation id="4305666528087210886">No se pudo acceder a tu archivo</translation>
 <translation id="4306529830550717874">¿Quieres guardar la dirección?</translation>
 <translation id="4306812610847412719">portapapeles</translation>
+<translation id="4308567447483056043">Se ignora esta política porque el usuario no está afiliado. Para que se aplique esta política, la misma organización debe administrar el perfil y el navegador Chrome a través de la Consola del administrador.</translation>
 <translation id="4310070645992025887">Buscar tus Exploraciones</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloquear (predeterminado)</translation>
diff --git a/components/strings/components_strings_es.xtb b/components/strings/components_strings_es.xtb
index afd082f9..65dd8e4 100644
--- a/components/strings/components_strings_es.xtb
+++ b/components/strings/components_strings_es.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">No se ha podido acceder al archivo</translation>
 <translation id="4306529830550717874">¿Guardar dirección?</translation>
 <translation id="4306812610847412719">portapapeles</translation>
+<translation id="4308567447483056043">Esta política se ignora porque el usuario no está afiliado. Para que se aplique esta política, una misma organización debe gestionar tanto el navegador Chrome como el perfil de Chrome mediante la consola de administración.</translation>
 <translation id="4310070645992025887">Buscar tus recorridos</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloquear (predeterminado)</translation>
diff --git a/components/strings/components_strings_et.xtb b/components/strings/components_strings_et.xtb
index 8cab5dd..5630c13 100644
--- a/components/strings/components_strings_et.xtb
+++ b/components/strings/components_strings_et.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Teie failile ei pääsetud juurde</translation>
 <translation id="4306529830550717874">Kas salvestada aadress?</translation>
 <translation id="4306812610847412719">lõikelaud</translation>
+<translation id="4308567447483056043">Seda reeglit eiratakse, kuna kasutaja pole seotud. Selle reegli rakendamiseks peab Chrome'i brauserit ja profiili haldama administraatorikonsooli kaudu sama organisatsioon.</translation>
 <translation id="4310070645992025887">Otsige teekondadest</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokeeri (vaikimisi)</translation>
diff --git a/components/strings/components_strings_eu.xtb b/components/strings/components_strings_eu.xtb
index 7ad9786a..552914e9 100644
--- a/components/strings/components_strings_eu.xtb
+++ b/components/strings/components_strings_eu.xtb
@@ -1677,6 +1677,7 @@
 <translation id="5518670652865028077">Artea eta aisia</translation>
 <translation id="5519516356611866228">Aldaketekin</translation>
 <translation id="5523118979700054094">Gidalerroaren izena</translation>
+<translation id="5525755241743357906">Fitxategia kopiatu edo mugituko da</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />: sakatu tabuladorea eta, ondoren, sakatu Sartu, Chrome OS-ren ezarpenetan erabilerraztasun-tresnak pertsonalizatzeko</translation>
 <translation id="5528532273234423708">Domotika</translation>
 <translation id="55293785478302737">Josi ertza</translation>
@@ -2928,6 +2929,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />: sakatu tabuladorea eta, ondoren, sakatu "Sartu" Chrome sistemaren arakatzaile lehenetsi gisa ezartzeko iOS-en ezarpenetan</translation>
 <translation id="9096679202588811390">Telesaioak eta programak</translation>
 <translation id="9101630580131696064">1. erretilua</translation>
+<translation id="9102081333385212048">Kopiatzen edo mugitzen dituzun fitxategiak Google Cloud-i edo hirugarrenei bidaltzen zaizkie, azter ditzaten. Adibidez, baliteke fitxategiak eskaneatzea kontuzko datuak edo malwarea duten ikusteko.</translation>
 <translation id="9103537084693478942">Bideo-softwareak</translation>
 <translation id="9103872766612412690">Eskuarki, <ph name="SITE" /> webguneak enkriptatzea erabiltzen du informazioa babesteko. Chromium <ph name="SITE" /> webgunera konektatzen saiatu denean, webguneak kredentzial desegokiak eta ezohikoak bidali ditu. Erasotzaile bat <ph name="SITE" /> webgunearen plantak egiten ari delako gerta daiteke hori, edo Wi-Fi sarean saioa hasteko pantailak konexioa eten duelako. Zure informazioa seguru dago, datuak trukatu aurretik eten baitu Chromium-ek konexioa.</translation>
 <translation id="9106062320799175032">Gehitu fakturazio-helbidea</translation>
diff --git a/components/strings/components_strings_fa.xtb b/components/strings/components_strings_fa.xtb
index 0094ee30..d09779e3 100644
--- a/components/strings/components_strings_fa.xtb
+++ b/components/strings/components_strings_fa.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">دسترسی به فایل شما ممکن نبود</translation>
 <translation id="4306529830550717874">نشانی ذخیره شود؟</translation>
 <translation id="4306812610847412719">بریده‌دان</translation>
+<translation id="4308567447483056043">‏چون کاربر وابسته نیست، این خط‌مشی نادیده گرفته می‌شود. برای اعمال شدن این خط‌مشی، مرورگر و نمایه Chrome باید تحت‌مدیریت «کنسول سرپرست» یک سازمان باشند.</translation>
 <translation id="4310070645992025887">«سفرهای جستجو» را جستجو کنید</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">مسدود کردن (پیش‌فرض)</translation>
diff --git a/components/strings/components_strings_fi.xtb b/components/strings/components_strings_fi.xtb
index 0a1c130..28efaa0a 100644
--- a/components/strings/components_strings_fi.xtb
+++ b/components/strings/components_strings_fi.xtb
@@ -1229,6 +1229,7 @@
 <translation id="4305666528087210886">Tiedostoa ei voi käyttää</translation>
 <translation id="4306529830550717874">Tallennetaanko osoite?</translation>
 <translation id="4306812610847412719">leikepöytä</translation>
+<translation id="4308567447483056043">Käytäntö ohitetaan, koska käyttäjä on ulkopuolinen. Jotta käytäntöä voidaan käyttää, Chrome-selainta ja ‐profiilia on hallinnoitava saman organisaation hallintakonsolin kautta.</translation>
 <translation id="4310070645992025887">Hae selailutiedoista</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Estä (oletus)</translation>
diff --git a/components/strings/components_strings_fil.xtb b/components/strings/components_strings_fil.xtb
index e936b3e..7a6199b 100644
--- a/components/strings/components_strings_fil.xtb
+++ b/components/strings/components_strings_fil.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Hindi ma-access ang iyong file</translation>
 <translation id="4306529830550717874">I-save ang address?</translation>
 <translation id="4306812610847412719">clipboard</translation>
+<translation id="4308567447483056043">Binalewala ang patakarang ito dahil hindi affiliated ang user. Para malapat ang patakarang ito, dapat pamahalaan ng iisang organisasyon ang Chrome browser at profile sa pamamagitan ng Admin console.</translation>
 <translation id="4310070645992025887">Maghanap sa iyong Mga Journey</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">I-block (default)</translation>
diff --git a/components/strings/components_strings_fr-CA.xtb b/components/strings/components_strings_fr-CA.xtb
index 3d5af97c..fc54753 100644
--- a/components/strings/components_strings_fr-CA.xtb
+++ b/components/strings/components_strings_fr-CA.xtb
@@ -1681,6 +1681,7 @@
 <translation id="5518670652865028077">Arts et divertissement</translation>
 <translation id="5519516356611866228">Avec vos modifications</translation>
 <translation id="5523118979700054094">Nom de la règle</translation>
+<translation id="5525755241743357906">Le fichier est copié ou déplacé</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, appuyez sur la touche Tabulation, puis sur la touche Entrée pour personnaliser vos outils d'accessibilité dans les paramètres de Chrome OS</translation>
 <translation id="5528532273234423708">Domotique</translation>
 <translation id="55293785478302737">Agrafage par le bord</translation>
@@ -2933,6 +2934,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, Appuyez sur Tabulation, puis sur Entrée pour définir Chrome comme navigateur par défaut du système dans les réglages iOS</translation>
 <translation id="9096679202588811390">Émissions et programmes télévisés</translation>
 <translation id="9101630580131696064">Bac 1</translation>
+<translation id="9102081333385212048">Les fichiers que vous copiez ou déplacez sont envoyés à Google Cloud ou à des tiers pour analyse. Par exemple, ils pourraient être analysés pour déterminer s'ils contiennent des données confidentielles ou des logiciels malveillants.</translation>
 <translation id="9103537084693478942">Logiciels de vidéo</translation>
 <translation id="9103872766612412690">Un chiffrement est normalement utilisé sur le site <ph name="SITE" /> pour protéger vos données personnelles. Lors de la dernière tentative de connexion de Chromium au site <ph name="SITE" />, des identifiants inhabituels et incorrects ont été retournés. Cela peut arriver lorsqu'un individu malveillant tente de se faire passer pour <ph name="SITE" /> ou qu'un écran de connexion Wi-Fi a interrompu la connexion. Vos données restent sécurisées, car Chromium a interrompu la connexion avant l'échange des données.</translation>
 <translation id="9106062320799175032">Ajouter l'adresse de facturation</translation>
diff --git a/components/strings/components_strings_fr.xtb b/components/strings/components_strings_fr.xtb
index fd55a15..424457b 100644
--- a/components/strings/components_strings_fr.xtb
+++ b/components/strings/components_strings_fr.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Impossible d'accéder à votre fichier</translation>
 <translation id="4306529830550717874">Enregistrer l'adresse ?</translation>
 <translation id="4306812610847412719">presse-papiers</translation>
+<translation id="4308567447483056043">Cette règle est ignorée, car l'utilisateur n'est pas affilié. Pour qu'elle soit appliquée, le profil et le navigateur Chrome doivent être gérés par la même organisation dans la console d'administration.</translation>
 <translation id="4310070645992025887">Effectuer une recherche parmi vos parcours</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloquer (par défaut)</translation>
diff --git a/components/strings/components_strings_gl.xtb b/components/strings/components_strings_gl.xtb
index a0317d2..9c0ca1fa 100644
--- a/components/strings/components_strings_gl.xtb
+++ b/components/strings/components_strings_gl.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Non se puido acceder ao ficheiro</translation>
 <translation id="4306529830550717874">Queres gardar o enderezo?</translation>
 <translation id="4306812610847412719">portapapeis</translation>
+<translation id="4308567447483056043">Ignórase esta política porque o usuario non está afiliado. Para que se aplique, a mesma organización debe xestionar o navegador e o perfil de Chrome a través da consola de administración.</translation>
 <translation id="4310070645992025887">Busca os teus percorridos</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloquear (predeterminado)</translation>
diff --git a/components/strings/components_strings_gu.xtb b/components/strings/components_strings_gu.xtb
index 44f70dd9..1580a4e 100644
--- a/components/strings/components_strings_gu.xtb
+++ b/components/strings/components_strings_gu.xtb
@@ -1071,6 +1071,7 @@
 <translation id="3835233591525155343">તમારા ડિવાઇસનો વપરાશ</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />, Google Docsમાં ઝડપથી કોઈ નવો દસ્તાવેજ બનાવવા માટે, પહેલાં Tab અને પછી Enter કી દબાવો</translation>
 <translation id="385051799172605136">પાછળ</translation>
+<translation id="3853684360927654006">પાસવર્ડની સશક્તતા માપવા માટેનું કેલ્ક્યુલેટર</translation>
 <translation id="3858027520442213535">તારીખ અને સમય અપડેટ કરો</translation>
 <translation id="3858860766373142691">નામ</translation>
 <translation id="3872834068356954457">વિજ્ઞાન</translation>
diff --git a/components/strings/components_strings_hr.xtb b/components/strings/components_strings_hr.xtb
index d202b316..3599ac5 100644
--- a/components/strings/components_strings_hr.xtb
+++ b/components/strings/components_strings_hr.xtb
@@ -1680,6 +1680,7 @@
 <translation id="5518670652865028077">Umjetnost i zabava</translation>
 <translation id="5519516356611866228">S vašim promjenama</translation>
 <translation id="5523118979700054094">Naziv pravila</translation>
+<translation id="5525755241743357906">Datoteka je kopirana ili premještena</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste prilagodili svoje alate za pristupačnost u postavkama Chrome OS-a</translation>
 <translation id="5528532273234423708">Automatizacija doma</translation>
 <translation id="55293785478302737">Rubni šav</translation>
@@ -2933,6 +2934,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, pritisnite Tab, a zatim Enter da biste u postavkama iOS-a Chrome postavili kao zadani preglednik sustava</translation>
 <translation id="9096679202588811390">TV emisije i programi</translation>
 <translation id="9101630580131696064">Ladica 1</translation>
+<translation id="9102081333385212048">Datoteke koje kopirate ili premjestite šalju se Google Cloudu ili trećim stranama na analizu. Na primjer, mogu se pregledavati radi otkrivanja osjetljivih podataka ili zlonamjernog softvera.</translation>
 <translation id="9103537084693478942">Softver za videozapise</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> obično upotrebljava enkripciju radi zaštite vaših podataka. Prilikom ovog pokušaja povezivanja Chromiuma s web-lokacijom <ph name="SITE" /> ta je web-lokacija vratila neuobičajene
 i netočne vjerodajnice. To može značiti da se neki napadač pokušava predstaviti kao <ph name="SITE" /> ili je zaslon za prijavu na Wi-Fi prekinuo vezu. Vaši su podaci još uvijek sigurni jer je Chromium zaustavio povezivanje prije razmjene podataka.</translation>
diff --git a/components/strings/components_strings_hy.xtb b/components/strings/components_strings_hy.xtb
index 23a99eb..bcc96c93 100644
--- a/components/strings/components_strings_hy.xtb
+++ b/components/strings/components_strings_hy.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Չհաջողվեց բացել ֆայլը</translation>
 <translation id="4306529830550717874">Պահե՞լ հասցեն</translation>
 <translation id="4306812610847412719">սեղմատախտակ</translation>
+<translation id="4308567447483056043">Այս կանոնն անտեսվում է, քանի որ օգտատերը փոխկապակցված անձ չէ։ Որպեսզի այս կանոնը կիրառվի, Chrome դիտարկիչը և պրոֆիլը պետք է կառավարվեն ադմինիստրատորի վահանակի միջոցով նույն կազմակերպության կողմից։</translation>
 <translation id="4310070645992025887">Որոնեք ձեր աշխատաշրջաններում</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Արգելափակել (կանխադրված)</translation>
diff --git a/components/strings/components_strings_is.xtb b/components/strings/components_strings_is.xtb
index 339f37f..f80724ce 100644
--- a/components/strings/components_strings_is.xtb
+++ b/components/strings/components_strings_is.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Ekki var hægt að opna skrána þína</translation>
 <translation id="4306529830550717874">Vista heimilisfang?</translation>
 <translation id="4306812610847412719">klippiborð</translation>
+<translation id="4308567447483056043">Þessi regla er hunsuð vegna þess að notandinn er ótengdur. Til að geta notað þessa reglu verður Chrome vafranum og prófílnum að vera stjórnað af sama fyrirtæki/stofnun í gegnum stjórnborð stjórnanda.</translation>
 <translation id="4310070645992025887">Leita í ferlunum þínum</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Útiloka (sjálfgefið)</translation>
diff --git a/components/strings/components_strings_iw.xtb b/components/strings/components_strings_iw.xtb
index 1836fcb..ac56a69 100644
--- a/components/strings/components_strings_iw.xtb
+++ b/components/strings/components_strings_iw.xtb
@@ -1003,6 +1003,7 @@
 <translation id="3676592649209844519">מזהה מכשיר:</translation>
 <translation id="3677008721441257057">‏התכוונת לכתובת &lt;a href="#" id="dont-proceed-link"&gt;<ph name="DOMAIN" />&lt;/a&gt;?</translation>
 <translation id="3678029195006412963">לא ניתן היה לחתום על הבקשה</translation>
+<translation id="3678342917559046352">‏התוסף לא תקין: הערך אמור להיות אחת מהצורות הבאות: &lt;extension_id&gt; או &lt;extension_id&gt;;&lt;update_url&gt;.</translation>
 <translation id="3678529606614285348">‏פתיחת הדף בחלון אנונימי חדש (Ctrl-Shift-N)</translation>
 <translation id="3681007416295224113">פרטי אישור</translation>
 <translation id="3701427423622901115">האיפוס אושר.</translation>
@@ -1227,6 +1228,7 @@
 <translation id="4305666528087210886">לא ניתן לגשת לקובץ</translation>
 <translation id="4306529830550717874">לשמור את הכתובת?</translation>
 <translation id="4306812610847412719">לוח</translation>
+<translation id="4308567447483056043">‏המערכת מתעלמת מהמדיניות הזו כי המשתמש לא משויך. כדי להחיל את המדיניות צריך לנהל את הדפדפן והפרופיל ב-Chrome דרך מסוף Admin של אותו ארגון.</translation>
 <translation id="4310070645992025887">חיפוש בתהליכים</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">חסומה (ברירת מחדל)</translation>
@@ -1342,6 +1344,7 @@
 <translation id="464342062220857295">תכונות חיפוש</translation>
 <translation id="4644670975240021822">בסדר הפוך עם הפנים כלפי מטה</translation>
 <translation id="4646534391647090355">אני רוצה לעבור לשם עכשיו</translation>
+<translation id="4648262692072505866">‏הגיבוב חייב להיות בפורמט SHA-256.</translation>
 <translation id="4652266463001779298">אין הרשאה</translation>
 <translation id="4653167719759882810">מיזוגים ורכישות</translation>
 <translation id="4658638640878098064">סיכת הידוק בפינה השמאלית העליונה</translation>
@@ -1455,6 +1458,7 @@
 <translation id="4926340098269537727"><ph name="ACTIVE_MATCH" />/<ph name="TOTAL_MATCHCOUNT" /></translation>
 <translation id="4929871932072157101">‏<ph name="KEYWORD_FOCUSED_FRIENDLY_MATCH_TEXT" />, יש להקיש על Tab ואז על Enter כדי לחפש</translation>
 <translation id="4930153903256238152">קיבולת גבוהה</translation>
+<translation id="4936134414789135531">הערך <ph name="VALUE_NAME" /> שהוזן לא נמצא.</translation>
 <translation id="4936675324097895694">פיננסים</translation>
 <translation id="4940163644868678279">‏מצב פרטי ב-Chrome</translation>
 <translation id="4943872375798546930">אין תוצאות</translation>
@@ -1572,6 +1576,7 @@
 <translation id="5215363486134917902">Folio-Sp</translation>
 <translation id="521659676233207110">מגש 13</translation>
 <translation id="5216942107514965959">הכניסה האחרונה בוצעה היום</translation>
+<translation id="5217759126664161410">פורמט הפרוטוקול לא תקין.</translation>
 <translation id="5222812217790122047">אימייל (חובה)</translation>
 <translation id="5228404122310299359">מוצרים למסיבות ולחגים</translation>
 <translation id="5229588705416009823">משחקים מרובי משתתפים</translation>
@@ -1644,6 +1649,7 @@
 <translation id="5398772614898833570">מודעות חסומות</translation>
 <translation id="5400836586163650660">אפור</translation>
 <translation id="540969355065856584">שרת זה לא הצליח להוכיח שהוא <ph name="DOMAIN" />; אישור האבטחה שלו אינו תקף כעת. הסיבה לכך עשויה להיות תצורה שגויה או שתוקף מיירט את החיבור שלך.</translation>
+<translation id="5412040515238827314">פורמט לא תקין: אמורה להופיע רשימת תבניות.</translation>
 <translation id="5412236728747081950">‏יוצגו לך מודעות רלוונטיות יותר באתר על סמך תחומי העניין שלך מ-Chrome</translation>
 <translation id="541416427766103491">מערים 4</translation>
 <translation id="5421136146218899937">ניקוי נתוני גלישה...</translation>
@@ -1763,6 +1769,7 @@
 <translation id="5754400531489347219">חיות מחמד ובעלי חיים</translation>
 <translation id="5759751709240058861">להשתמש במצלמה ולהזיז אותה</translation>
 <translation id="5763042198335101085">עליך להזין כתובת אימייל חוקית</translation>
+<translation id="5764725887548570807">פורמט המקור לא תקין.</translation>
 <translation id="5765072501007116331">עליך לבחור כתובת כדי לראות שיטות מסירה ודרישות</translation>
 <translation id="57689295674415555">מספר הכרטיס הווירטואלי לא הוזן?</translation>
 <translation id="5776313857861697733">עדיפות</translation>
@@ -1887,10 +1894,12 @@
 <translation id="6107012941649240045">מונפק ל</translation>
 <translation id="610911394827799129">‏ייתכן שיהיה אפשר לגשת לסוגים אחרים של היסטוריית גלישה בחשבון Google בכתובת <ph name="BEGIN_LINK" />myactivity.google.com<ph name="END_LINK" />.</translation>
 <translation id="6116338172782435947">גישה אל טקסט ותמונות שהועתקו ללוח</translation>
+<translation id="6118782133429281336">רשימת המקורות ריקה.</translation>
 <translation id="6120179357481664955">‏מזהה UPI שלך זכור לך?</translation>
 <translation id="6124432979022149706">‏מחברים של Chrome Enterprise</translation>
 <translation id="6127379762771434464">הפריט הוסר</translation>
 <translation id="6132161237766805930">‏<ph name="BEGIN_LINK" />מידע נוסף על מצב פרטי ב-Chrome<ph name="END_LINK" /></translation>
+<translation id="6133984428121856852">סיומת הקובץ ריקה או לא תקינה.</translation>
 <translation id="6146055958333702838">יש לבדוק את הכבלים ולהפעיל מחדש את הנתבים, המודמים ושאר התקני הרשת
 שמשתמשים בהם.</translation>
 <translation id="614940544461990577">כדאי לנסות:</translation>
@@ -2064,6 +2073,7 @@
 <translation id="666259744093848177">‏(x86_64 מתורגם)</translation>
 <translation id="6663846344464066639">ידיים שלובות</translation>
 <translation id="6665553082534466207">3 ניקובים בצד ימין</translation>
+<translation id="6668389483194953109">‏השם של גודל הנייר הוגדר כ-'custom', אבל המאפיין 'custom_size' ריק או לא חוקי.</translation>
 <translation id="6671697161687535275">‏האם להסיר מ-Chromium הצעות לטפסים?</translation>
 <translation id="6683717648675961851">מודעות דרושים</translation>
 <translation id="6685834062052613830">יש לצאת ולהשלים את ההגדרה</translation>
@@ -2077,6 +2087,7 @@
 <translation id="6696588630955820014">‏לחצן לשיתוף הכרטיסייה הזו, מקישים על Enter כדי לשתף את הכרטיסייה הזו על ידי שיתוף הקישור, יצירת קוד QR, העברה (cast) ועוד</translation>
 <translation id="6698381487523150993">נוצר:</translation>
 <translation id="6702919718839027939">הצגה</translation>
+<translation id="6704458454638854812">‏המאפיין 'custom_size' מוגדר, אבל שם המאפיין לא מוגדר כ-'custom'.</translation>
 <translation id="6709133671862442373">חדשות</translation>
 <translation id="6709888928011386878">כלי נגינה</translation>
 <translation id="6710213216561001401">הקודם</translation>
diff --git a/components/strings/components_strings_ja.xtb b/components/strings/components_strings_ja.xtb
index 7b26394..24ae738 100644
--- a/components/strings/components_strings_ja.xtb
+++ b/components/strings/components_strings_ja.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">ファイルにアクセスできませんでした</translation>
 <translation id="4306529830550717874">住所を保存しますか?</translation>
 <translation id="4306812610847412719">クリップボード</translation>
+<translation id="4308567447483056043">ユーザーが関連付けられていないため、このポリシーは無視されます。このポリシーを適用するには、Chrome ブラウザとプロフィールが管理コンソールを介して同じ組織によって管理されている必要があります。</translation>
 <translation id="4310070645992025887">ジャーニーを検索</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ブロック(デフォルト)</translation>
diff --git a/components/strings/components_strings_ka.xtb b/components/strings/components_strings_ka.xtb
index 6c029cd..79e1279 100644
--- a/components/strings/components_strings_ka.xtb
+++ b/components/strings/components_strings_ka.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">თქვენს ფაილზე წვდომა ვერ მოხერხდა</translation>
 <translation id="4306529830550717874">გსურთ, შეინახოთ მისამართი?</translation>
 <translation id="4306812610847412719">გაცვლის ბუფერი</translation>
+<translation id="4308567447483056043">ეს წესები იგნორირებული იქნება, ვინაიდან მომხმარებელი არააფილირებულია. ამ წესების გამოსაყენებლად Chrome ბრაუზერი და პროფილი მართული უნდა იყოს იმავე ორგანიზაციის ადმინისტრატორის კონსოლის მეშვეობით.</translation>
 <translation id="4310070645992025887">მოიძიეთ თქვენს პროცესებში</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">დაბლოკვა (ნაგულისხმევი)</translation>
@@ -1680,6 +1681,7 @@
 <translation id="5518670652865028077">ხელოვნება და გართობა</translation>
 <translation id="5519516356611866228">თქვენი ცვლილებებით</translation>
 <translation id="5523118979700054094">წესის სახელი</translation>
+<translation id="5525755241743357906">ფაილის კოპირება ან გადაადგილება</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, ChromeOS პარამეტრებიდან მარტივი წვდომის ხელსაწყოების პერსონალიზირებისთვის დააჭირეთ კლავიშს Tab, შემდეგ კი Enter-ს</translation>
 <translation id="5528532273234423708">სახლის ავტომატიზაცია</translation>
 <translation id="55293785478302737">კიდეების მიკერება</translation>
@@ -2932,6 +2934,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, iOS პარამეტრებიდან Chrome სისტემის ნაგულისხმევ ბრაუზერად რომ დააყენოთ, დააჭირეთ კლავიშს Tab, შემდეგ კი Enter-ს</translation>
 <translation id="9096679202588811390">სატელევიზიო შოუები და პროგრამები</translation>
 <translation id="9101630580131696064">ლანგარი 1</translation>
+<translation id="9102081333385212048">თქვენ მიერ კოპირებული ან გადაადგილებული ფაილები გასაანალიზებლად გაეგზავნება Google Cloud-ს ან მესამე მხარეებს. მაგალითად, შეიძლება შესრულდეს მათი სკანირება მათში სენსიტიური მონაცემების ან მავნე კოდის აღმოსაჩენად.</translation>
 <translation id="9103537084693478942">ვიდეოების პროგრამული უზრუნველყოფა</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> დაშიფვრას, ჩვეულებრივ, თქვენი ინფორმაციის დაცვის მიზნით იყენებს. Chromium-ის მიერ <ph name="SITE" />-თან დაკავშირების მცდელობისას, ვებსაიტმა ამჯერად უჩვეულო და არასწორი ავტორიზაციის მონაცემები გამოგზავნა. ეს შეიძლება მოხდეს მაშინ, როცა თავდამსხმელი თავს <ph name="SITE" />-ად ასაღებს, ან დაკავშირების შეფერხების მიზეზი Wi-Fi შესვლის ეკრანი გახდა. თქვენი ინფორმაცია დაცულია, რადგან Chromium-მა დაკავშირება მონაცემების მიმოცვლამდე შეწყვიტა.</translation>
 <translation id="9106062320799175032">დაამატეთ ბილინგის მისამართი</translation>
diff --git a/components/strings/components_strings_km.xtb b/components/strings/components_strings_km.xtb
index 1314e7d..2ebcf784 100644
--- a/components/strings/components_strings_km.xtb
+++ b/components/strings/components_strings_km.xtb
@@ -1231,6 +1231,7 @@
 <translation id="4305666528087210886">មិនអាចចូលប្រើ​ឯកសារ​របស់អ្នកបានទេ</translation>
 <translation id="4306529830550717874">រក្សាទុក​អាសយដ្ឋាន​ដែរទេ?</translation>
 <translation id="4306812610847412719">ឃ្លីបបត</translation>
+<translation id="4308567447483056043">គោលការណ៍​នេះ​មិនត្រូវបាន​អើពើ​ទេ ដោយសារ​អ្នកប្រើប្រាស់​មិន​ពាក់ព័ន្ធ។ ដើម្បីអនុវត្ត​គោលការណ៍​នេះ កម្រងព័ត៌មាន និង​កម្មវិធី​រុករក​តាមអ៊ីនធឺណិត Chrome ត្រូវតែ​ត្រូវបាន​គ្រប់គ្រង​តាមរយៈ​កុងសូល​អ្នកគ្រប់គ្រង​ដោយ​ស្ថាប័ន​តែ​មួយ។</translation>
 <translation id="4310070645992025887">ស្វែងរកការធ្វើដំណើររបស់អ្នក</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">រារាំង (លំនាំដើម)</translation>
diff --git a/components/strings/components_strings_ko.xtb b/components/strings/components_strings_ko.xtb
index 2d2a834..5da5795 100644
--- a/components/strings/components_strings_ko.xtb
+++ b/components/strings/components_strings_ko.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">파일에 액세스할 수 없음</translation>
 <translation id="4306529830550717874">주소를 저장하시겠습니까?</translation>
 <translation id="4306812610847412719">클립보드</translation>
+<translation id="4308567447483056043">사용자가 제휴되어 있지 않으므로 이 정책은 무시됩니다. 이 정책을 적용하려면 Chrome 브라우저와 프로필을 관리 콘솔에서 같은 조직으로 관리해야 합니다.</translation>
 <translation id="4310070645992025887">탐색 여정 검색</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">차단(기본값)</translation>
diff --git a/components/strings/components_strings_ky.xtb b/components/strings/components_strings_ky.xtb
index 1b82bab..067ea3dc 100644
--- a/components/strings/components_strings_ky.xtb
+++ b/components/strings/components_strings_ky.xtb
@@ -1227,6 +1227,7 @@
 <translation id="4305666528087210886">Файл ачылбай койду</translation>
 <translation id="4306529830550717874">Дарек сакталсынбы?</translation>
 <translation id="4306812610847412719">алмашуу буфери</translation>
+<translation id="4308567447483056043">Колдонуучунун тиешеси жок болгондуктан, саясат этибарга алынган жок. Бул саясатты колдонуу үчүн Chrome серепчиси жана профиль бир эле уюмга таандык Администратордун консолу тарабынан тескелиши керек.</translation>
 <translation id="4310070645992025887">Саякаттарыңызды издеңиз</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Бөгөттөө (демейки)</translation>
diff --git a/components/strings/components_strings_lo.xtb b/components/strings/components_strings_lo.xtb
index 1002005..6c30854 100644
--- a/components/strings/components_strings_lo.xtb
+++ b/components/strings/components_strings_lo.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">ບໍ່ສາມາດເຂົ້າເຖິງໄຟລ໌ຂອງທ່ານໄດ້</translation>
 <translation id="4306529830550717874">ບັນທຶກທີ່ຢູ່ບໍ?</translation>
 <translation id="4306812610847412719">ຄລິບບອດ</translation>
+<translation id="4308567447483056043">ນະໂຍບາຍນີ້ຖືກລະເລີຍເນື່ອງຈາກຜູ້ໃຊ້ບໍ່ກ່ຽວຂ້ອງ. ຖ້າຕ້ອງການໃຊ້ນະໂຍບາຍນີ້, ອົງກອນດຽວກັນຈະຕ້ອງຈັດການໂປຣແກຣມທ່ອງເວັບ Chrome ແລະ ໂປຣໄຟລ໌ຜ່ານຄອນໂຊຜູ້ເບິ່ງແຍງລະບົບ.</translation>
 <translation id="4310070645992025887">ຊອກຫາບັນທຶກຂອງທ່ານ</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ບລັອກ (ຄ່າເລີ່ມຕົ້ນ)</translation>
diff --git a/components/strings/components_strings_lv.xtb b/components/strings/components_strings_lv.xtb
index c756f0c..cf11e5a 100644
--- a/components/strings/components_strings_lv.xtb
+++ b/components/strings/components_strings_lv.xtb
@@ -1227,6 +1227,7 @@
 <translation id="4305666528087210886">Jūsu failam nevarēja piekļūt</translation>
 <translation id="4306529830550717874">Vai saglabāt adresi?</translation>
 <translation id="4306812610847412719">starpliktuve</translation>
+<translation id="4308567447483056043">Šī politika tiek ignorēta, jo lietotājs nav saistīts. Lai šī politika tiktu lietota, pārlūks Chrome un profils ir jāpārvalda administratora konsolē vienā organizācijā.</translation>
 <translation id="4310070645992025887">Meklēt jūsu ceļos</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloķēt (pēc noklusējuma)</translation>
diff --git a/components/strings/components_strings_mk.xtb b/components/strings/components_strings_mk.xtb
index b7d81844..e27d9f4 100644
--- a/components/strings/components_strings_mk.xtb
+++ b/components/strings/components_strings_mk.xtb
@@ -1071,6 +1071,7 @@
 <translation id="3835233591525155343">Користење на уредот</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />, притиснете го копчето Tab, а потоа копчето Enter за да набрзина создадете нов документ на Google</translation>
 <translation id="385051799172605136">Назад</translation>
+<translation id="3853684360927654006">Калкулатор за јачина на лозинка</translation>
 <translation id="3858027520442213535">Ажурирај датум и време</translation>
 <translation id="3858860766373142691">Име</translation>
 <translation id="3872834068356954457">Наука</translation>
diff --git a/components/strings/components_strings_mn.xtb b/components/strings/components_strings_mn.xtb
index 0e6ea9f..b7d3b14 100644
--- a/components/strings/components_strings_mn.xtb
+++ b/components/strings/components_strings_mn.xtb
@@ -1682,6 +1682,7 @@
 <translation id="5518670652865028077">Урлаг, энтертэйнмент</translation>
 <translation id="5519516356611866228">Таны өөрчилснөөр</translation>
 <translation id="5523118979700054094">Тохиргооны нэр</translation>
+<translation id="5525755241743357906">Хуулсан эсвэл зөөсөн файл</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, ChromeOS-н тохиргоонд хандалтын хэрэгслээ хувийн болгохын тулд эхлээд tab, дараа нь Enter дээр дарна уу</translation>
 <translation id="5528532273234423708">Гэрийн автоматжуулалт</translation>
 <translation id="55293785478302737">Ирмэгийг нь нийлүүлж үдэх</translation>
@@ -2933,6 +2934,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, iOS-н тохиргоонд Chrome-г системийн өгөгдмөл хөтөч болгон тохируулахын тулд эхлээд tab, дараа нь Enter дээр дарна уу</translation>
 <translation id="9096679202588811390">ТВ шоу, хөтөлбөр</translation>
 <translation id="9101630580131696064">Гарах цаасны тавиур 1</translation>
+<translation id="9102081333385212048">Таны хуулсан эсвэл зөөсөн файлуудыг дүн шинжилгээ хийлгэхээр Google Cloud эсвэл гуравдагч тал руу илгээдэг. Жишээ нь тэдгээрийг эмзэг өгөгдөл эсвэл хортой программтай эсэхийг скан хийж магадгүй.</translation>
 <translation id="9103537084693478942">Видео программ хангамж</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> ихэвчлэн таны мэдээллийг хамгаалах зорилгоор шифр ашигладаг. Энэ удаад Chromium <ph name="SITE" />-тай холбогдохыг оролдоход тус веб сайтаас хэвийн бус, буруу өгөгдөл илгээлээ. Халдагч <ph name="SITE" /> юм шиг дүр үзүүлж байгаа, эсвэл Wi-Fi-д нэвтрэх дэлгэц холболтод саад учруулсан байж болзошгүй. Chromium ямар нэгэн өгөгдөл солилцохоос өмнө холболтыг зогсоосон тул таны мэдээлэл аюулгүй.</translation>
 <translation id="9106062320799175032">Тооцооны хаяг нэмэх</translation>
diff --git a/components/strings/components_strings_mr.xtb b/components/strings/components_strings_mr.xtb
index b44ea6f..daf0905 100644
--- a/components/strings/components_strings_mr.xtb
+++ b/components/strings/components_strings_mr.xtb
@@ -1070,6 +1070,7 @@
 <translation id="3835233591525155343">तुमच्या डिव्हाइसचा वापर</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />, नवीन Google दस्तऐवज झटपट तयार करण्यासाठी टॅब आणि त्यानंतर एंटर दाबा</translation>
 <translation id="385051799172605136">मागील</translation>
+<translation id="3853684360927654006">पासवर्डची क्लिष्टता कॅल्क्युलेटर</translation>
 <translation id="3858027520442213535">तारीख आणि वेळ अपडेट करा</translation>
 <translation id="3858860766373142691">नाव</translation>
 <translation id="3872834068356954457">विज्ञान</translation>
@@ -1680,6 +1681,7 @@
 <translation id="5518670652865028077">कला आणि मनोरंजन</translation>
 <translation id="5519516356611866228">तुमच्या बदलांसह</translation>
 <translation id="5523118979700054094">धोरणाचे नाव</translation>
+<translation id="5525755241743357906">फाइल कॉपी केली किंवा हलवली</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, ChromeOS सेटिंग्जमध्ये तुमची अ‍ॅक्सेसिबिलिटी टूल पर्सनलाइझ करण्यासाठी, टॅब आणि त्यानंतर एंटर दाबा</translation>
 <translation id="5528532273234423708">होम ऑटोमेशन</translation>
 <translation id="55293785478302737">एज स्टिच</translation>
@@ -2933,6 +2935,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, iOS सेटिंग्जमध्ये Chrome ला सिस्टीमचा डीफॉल्ट ब्राउझर म्हणून सेट करण्यासाठी एंटर दाबा</translation>
 <translation id="9096679202588811390">टीव्हीवरील शो आणि कार्यक्रम</translation>
 <translation id="9101630580131696064">ट्रे १</translation>
+<translation id="9102081333385212048">तुम्ही कॉपी केलेल्या किंवा हलवलेल्या फाइल विश्लेषणासाठी Google Cloud किंवा तृतीय पक्षांकडे पाठवल्या जातात. उदाहरणार्थ, त्या संवेदनशील डेटा किंवा मालवेअरसाठी स्कॅन केल्या जाऊ शकतात.</translation>
 <translation id="9103537084693478942">व्हिडिओशी संबंधित सॉफ्टवेअर</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> तुमची माहिती संरक्षित करण्यासाठी सामान्यतः एंक्रिप्शन वापरते. Chromium ने यावेळी <ph name="SITE" /> शी कनेक्‍ट करण्‍याचा प्रयत्न केला तेव्‍हा, वेबसाइटने असामान्य आणि अयोग्य क्रेडेंशियल परत पाठवले. एकतर आक्रमणकर्ता <ph name="SITE" /> असल्याची बतावणी करण्याचा प्रयत्न करतो तेव्‍हा किंवा वाय-फाय साइन इन स्क्रीनने कनेक्शनमध्ये व्यत्यय आणले तेव्‍हा हे घडू शकते. कोणत्याही डेटाची अदलाबदल करण्यापूर्वी Chromium ने कनेक्शन थांबविल्यामुळे तुमची माहिती अद्याप सुरक्षित आहे.</translation>
 <translation id="9106062320799175032">बिलिंग पत्ता जोडा</translation>
diff --git a/components/strings/components_strings_my.xtb b/components/strings/components_strings_my.xtb
index 12bdc577..8afa8f6 100644
--- a/components/strings/components_strings_my.xtb
+++ b/components/strings/components_strings_my.xtb
@@ -1229,6 +1229,7 @@
 <translation id="4305666528087210886">သင့်ဖိုင်ကို သုံး၍မရနိုင်ပါ</translation>
 <translation id="4306529830550717874">လိပ်စာ သိမ်းမလား။</translation>
 <translation id="4306812610847412719">ကလစ်ဘုတ်</translation>
+<translation id="4308567447483056043">အသုံးပြုသူက အဖွဲ့အစည်းအတွင်း မရှိသည့်အတွက် ဤမူဝါဒကို လစ်လျူရှုထားသည်။ ဤမူဝါဒ သက်ရောက်ရန် အဆိုပါအဖွဲ့အစည်း၏ ‘စီမံခန့်ခွဲသူ ကွန်ဆိုးလ်’ မှတစ်ဆင့် Chrome ဘရောင်ဇာနှင့် ပရိုဖိုင်ကို စီမံရမည်။</translation>
 <translation id="4310070645992025887">သင့် ‘ခရီးစဉ်များ’ ရှာရန်</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ပိတ်ဆို့ရန် (မူရင်း)</translation>
@@ -1681,6 +1682,7 @@
 <translation id="5518670652865028077">အနုပညာနှင့် ဖျော်ဖြေရေး</translation>
 <translation id="5519516356611866228">သင်၏အပြောင်းအလဲများ ပါဝင်သည်</translation>
 <translation id="5523118979700054094">မူဝါဒ အမည်</translation>
+<translation id="5525755241743357906">ဖိုင်ကို မိတ္တူကူး (သို့) ရွှေ့ထားသည်</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />၊ ChromeOS ဆက်တင်များတွင် အများသုံးနိုင်မှုတူးလ်များကို ပုဂ္ဂိုလ်ရေးသီးသန့်ပြုလုပ်ရန် တဘ်နှိပ်ပြီးနောက် Enter နှိပ်ပါ</translation>
 <translation id="5528532273234423708">အိမ်တွင်း အလိုအလျောက် ထိန်းချုပ်စနစ်</translation>
 <translation id="55293785478302737">အစွန်းတွင် အပ်ချည်ဖြင့်ချုပ်ရန်</translation>
@@ -2934,6 +2936,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />။ Chrome ကို iOS ဆက်တင်များတွင် စနစ်၏ မူရင်းဘရောင်ဇာအဖြစ် သတ်မှတ်ရန် တဘ် နှိပ်ပြီး Enter ခလုတ် နှိပ်ပါ</translation>
 <translation id="9096679202588811390">TV ရှိုးနှင့် အစီအစဉ်များ</translation>
 <translation id="9101630580131696064">ဗန်း ၁</translation>
+<translation id="9102081333385212048">သင်မိတ္တူကူး (သို့) ရွှေ့ထားသောဖိုင်များကို လေ့လာဆန်းစစ်ရန်အတွက် Google Cloud သို့မဟုတ် ပြင်ပအဖွဲ့များသို့ ပို့သည်။ ဥပမာ သတိထားရသော ဒေတာ (သို့) မဲလ်ဝဲ ရှိ၊ မရှိ ၎င်းတို့ကို စစ်ဆေးနိုင်သည်။</translation>
 <translation id="9103537084693478942">ဗီဒီယိုဆော့ဖ်ဝဲ</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> သည် သင်၏ အချက်အလက်များကို ကာကွယ်ပေးရန် ပုံမှန်အားဖြင့် လျှို့ဝှက်ကုဒ် သွင်းမှုကို အသုံးပြုသည်။ Chromium က <ph name="SITE" />အား ယခုဆက်သွယ်ရန် ကြိုးပမ်းစဉ်၊ ဝဘ်ဆိုက်သည် ပုံမှန် မဟုတ်သည့် မမှန်သည့် အထောက်အထားများကို ပြန်ပို့ပေးခဲ့သည်။ တိုက်ခိုက်သူ တစ်ဦးက <ph name="SITE" /> ဖြစ်သယောင် ကြိုးစားနေသည်၊ သို့မဟုတ် ကြိုးမဲ့ လက်မှတ်ထိုး ဝင်ရေး မျက်နှာပြင် တစ်ခုက ချိတ်ဆက်မှုကို ဖြတ်တောက် ပစ်ခဲ့သည်။ မည်သည့် ဒေတာကိုမှ ဖလှယ်ခင် Chrome က ချိတ်ဆက်မှုကို ရပ်ပစ်ခဲ့၍ သင်၏ အချက်အလက်များ လုံခြုံစွာ ရှိနေကြပါသည်။</translation>
 <translation id="9106062320799175032">ငွေတောင်းခံလွှာပို့ရန် လိပ်စာ ထည့်ခြင်း</translation>
diff --git a/components/strings/components_strings_no.xtb b/components/strings/components_strings_no.xtb
index d5b840a..8fa202d 100644
--- a/components/strings/components_strings_no.xtb
+++ b/components/strings/components_strings_no.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Kunne ikke åpne filen</translation>
 <translation id="4306529830550717874">Vil du lagre adressen?</translation>
 <translation id="4306812610847412719">utklippstavle</translation>
+<translation id="4308567447483056043">Denne regelen ignoreres fordi brukeren ikke er tilknyttet. For at denne regelen skal gjelde, må Chrome-nettleseren og -profilen være administrert av den samme organisasjonen via administrasjonskonsollen.</translation>
 <translation id="4310070645992025887">Søk i søkereisene dine</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokkér (standard)</translation>
diff --git a/components/strings/components_strings_or.xtb b/components/strings/components_strings_or.xtb
index adb568e..185f029 100644
--- a/components/strings/components_strings_or.xtb
+++ b/components/strings/components_strings_or.xtb
@@ -1225,6 +1225,7 @@
 <translation id="4305666528087210886">ଆପଣଙ୍କ ଫାଇଲକୁ ଆକ୍ସେସ୍ କରାଯାଇପାରିଲା ନାହିଁ</translation>
 <translation id="4306529830550717874">ଠିକଣା ସେଭ୍ କରିବେ?</translation>
 <translation id="4306812610847412719">କ୍ଲିପବୋର୍ଡ</translation>
+<translation id="4308567447483056043">ଉପଯୋଗକର୍ତ୍ତା ଆଫିଲିଏଟ ହୋଇନଥିବା ଯୋଗୁଁ ଏହି ନୀତିକୁ ଅଣଦେଖା କରାଯାଇଛି। ଏହି ନୀତି ଲାଗୁ ହେବା ପାଇଁ, Chrome ବ୍ରାଉଜର ଏବଂ ପ୍ରୋଫାଇଲ ସମାନ ସଂସ୍ଥା ଦ୍ୱାରା ଆଡମିନ କନସୋଲ ମାଧ୍ୟମରେ ପରିଚାଳିତ ହେବା ଆବଶ୍ୟକ।</translation>
 <translation id="4310070645992025887">ଆପଣଙ୍କ ଯାତ୍ରାଗୁଡ଼ିକୁ ସନ୍ଧାନ କରନ୍ତୁ</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">ବ୍ଲକ୍ କରନ୍ତୁ (ଡିଫଲ୍ଟ)</translation>
@@ -1678,6 +1679,7 @@
 <translation id="5518670652865028077">କଳା ଏବଂ ମନୋରଞ୍ଜନ</translation>
 <translation id="5519516356611866228">ଆପଣଙ୍କ ପରିବର୍ତ୍ତନଗୁଡ଼ିକ ସହିତ</translation>
 <translation id="5523118979700054094">ନୀତିର ନାମ</translation>
+<translation id="5525755241743357906">ଫାଇଲକୁ କପି କିମ୍ବା ମୁଭ କରାଯାଇଛି</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, ChromeOS ସେଟିଂସରେ ଆପଣଙ୍କ ଆକ୍ସେସିବିଲିଟୀ ଟୁଲଗୁଡ଼ିକୁ ପର୍ସନାଲାଇଜ କରିବା ପାଇଁ Tab ତା'ପରେ Enter ଦବାନ୍ତୁ</translation>
 <translation id="5528532273234423708">ହୋମ ଅଟୋମେସନ</translation>
 <translation id="55293785478302737">ଏଜ୍ ଷ୍ଟିଚ୍</translation>
@@ -2929,6 +2931,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, iOS ସେଟିଂସରେ Chromeକୁ ସିଷ୍ଟମର ଡିଫଲ୍ଟ ବ୍ରାଉଜର ଭାବେ ସେଟ କରିବା ପାଇଁ Tab କରି Enter ଦବାନ୍ତୁ</translation>
 <translation id="9096679202588811390">ଟିଭି ଶୋ ଏବଂ ପ୍ରୋଗ୍ରାମଗୁଡ଼ିକ</translation>
 <translation id="9101630580131696064">ଟ୍ରେ 1</translation>
+<translation id="9102081333385212048">ଆପଣ କପି କିମ୍ବା ମୁଭ କରୁଥିବା ଫାଇଲଗୁଡ଼ିକୁ ବିଶ୍ଳେଷଣ ପାଇଁ Google Cloud କିମ୍ବା ତୃତୀୟ ପକ୍ଷଗୁଡ଼ିକୁ ପଠାଯାଏ। ଉଦାହରଣ ସ୍ଵରୂପ, ସେଗୁଡ଼ିକୁ ସମ୍ବେଦନଶୀଳ ଡାଟା କିମ୍ବା ମାଲୱେର ପାଇଁ ସ୍କାନ କରାଯାଇପାରେ।</translation>
 <translation id="9103537084693478942">ଭିଡିଓ ସଫ୍ଟୱେର</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> ଆପଣଙ୍କ ସୂଚନାର ସୁରକ୍ଷା ପାଇଁ ସାଧାରଣତଃ ଏନକ୍ରିପ୍‌ସନ୍‌ର ବ୍ୟବହାର କରେ। ଯେତେବେଳେ Chromium ଏଥର <ph name="SITE" />କୁ ସଂଯୋଗ କରିବାକୁ ଚେଷ୍ଟା କଲା, ସେତେବେଳେ ୱେବ୍‌ସାଇଟ୍‌ଟି ଅସ୍ୱାଭାବିକ ଏବଂ ଭୁଲ୍ ବିଶ୍ୱସନୀୟତା ଫେରାଇଲା। ଏହା ସେତେବେଳେ ହୋ‍ଇପାରେ ଯେତେବେଳେ ଆକ୍ରମଣକାରୀ <ph name="SITE" /> ଥିବାର ଛଳନା କରୁଛି କିମ୍ବା ଏକ ୱାଇ-ଫାଇ ସାଇନ୍‌-ଇନ୍‌ ସ୍କ୍ରିନ୍‌ ସଂଯୋଗରେ ବ୍ୟାଘାତ ସୃଷ୍ଟି କରୁଛି। ଆପଣଙ୍କର ସୂଚନା ଏବେ ମଧ୍ୟ ସୁରକ୍ଷିତ ଅଛି, କାରଣ କୌଣସି ପ୍ରକାର ଡାଟାର ଆଦାନ ପ୍ରଦାନ କରିବା ପୂର୍ବରୁ Chromium ସଂଯୋଗଟିକୁ ବନ୍ଦ କରିଦେଇଥିଲା।</translation>
 <translation id="9106062320799175032">ବିଲିଂ ଠିକଣା ଯୋଗ କରନ୍ତୁ</translation>
diff --git a/components/strings/components_strings_pt-BR.xtb b/components/strings/components_strings_pt-BR.xtb
index f1fd0b4..af734fd 100644
--- a/components/strings/components_strings_pt-BR.xtb
+++ b/components/strings/components_strings_pt-BR.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Não foi possível acessar seu arquivo</translation>
 <translation id="4306529830550717874">Salvar endereço?</translation>
 <translation id="4306812610847412719">área de transferência</translation>
+<translation id="4308567447483056043">Esta política é ignorada porque o usuário não é afiliado. Para que ela seja aplicada, o navegador Chrome e o perfil precisam ser gerenciados no Admin Console pela mesma organização.</translation>
 <translation id="4310070645992025887">Pesquisar suas jornadas</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Bloquear (padrão)</translation>
@@ -1680,6 +1681,7 @@
 <translation id="5518670652865028077">Artes e entretenimento</translation>
 <translation id="5519516356611866228">Com suas modificações</translation>
 <translation id="5523118979700054094">Nome da política</translation>
+<translation id="5525755241743357906">O arquivo foi copiado ou movido</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />. Pressione Tab e depois Enter para personalizar as ferramentas de acessibilidade nas configurações do ChromeOS</translation>
 <translation id="5528532273234423708">Automação residencial</translation>
 <translation id="55293785478302737">Costurar borda</translation>
@@ -2933,6 +2935,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />. Pressione Tab e depois Enter para definir o Chrome como o navegador padrão do sistema nas configurações do iOS</translation>
 <translation id="9096679202588811390">Programas de TV</translation>
 <translation id="9101630580131696064">Bandeja 1</translation>
+<translation id="9102081333385212048">Os arquivos copiados ou movidos são enviados ao Google Cloud ou a terceiros para análise. Por exemplo, eles podem ser verificados em busca de dados sensíveis ou malware.</translation>
 <translation id="9103537084693478942">Software de vídeo</translation>
 <translation id="9103872766612412690">O site <ph name="SITE" /> geralmente usa criptografia para proteger suas informações. Quando o Chromium tentou se conectar a <ph name="SITE" /> dessa vez, o website retornou credenciais
 incomuns e incorretas. Isso pode acontecer quando um invasor está fingindo ser <ph name="SITE" /> ou quando uma tela de login por Wi-Fi interrompeu a conexão. Suas informações ainda estão protegidas, porque o Chromium interrompeu a conexão antes que os dados fossem trocados.</translation>
diff --git a/components/strings/components_strings_pt-PT.xtb b/components/strings/components_strings_pt-PT.xtb
index 5d5c274e8..d0f7f485 100644
--- a/components/strings/components_strings_pt-PT.xtb
+++ b/components/strings/components_strings_pt-PT.xtb
@@ -1071,6 +1071,7 @@
 <translation id="3835233591525155343">A utilização do dispositivo</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para criar rapidamente um novo Documento do Google Docs</translation>
 <translation id="385051799172605136">Anterior</translation>
+<translation id="3853684360927654006">Calculador da força da palavra-passe</translation>
 <translation id="3858027520442213535">Atualizar a data e a hora</translation>
 <translation id="3858860766373142691">Nome</translation>
 <translation id="3872834068356954457">Ciência</translation>
@@ -1681,6 +1682,7 @@
 <translation id="5518670652865028077">Arte e entretenimento</translation>
 <translation id="5519516356611866228">Com as suas alterações</translation>
 <translation id="5523118979700054094">Nome da política</translation>
+<translation id="5525755241743357906">O ficheiro foi copiado ou movido</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para personalizar as ferramentas de acessibilidade nas definições do ChromeOS</translation>
 <translation id="5528532273234423708">Domótica</translation>
 <translation id="55293785478302737">Coser extremidade</translation>
@@ -2933,6 +2935,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, prima Tab e, em seguida, Enter para definir o Chrome como o navegador predefinido do sistema nas definições do iOS</translation>
 <translation id="9096679202588811390">Séries e programas de TV</translation>
 <translation id="9101630580131696064">Tabuleiro 1</translation>
+<translation id="9102081333385212048">Os ficheiros que copiar ou mover são enviados para o Google Cloud ou terceiros para análise. Por exemplo, podem ser analisados quanto a dados confidenciais ou software malicioso.</translation>
 <translation id="9103537084693478942">Software de vídeo</translation>
 <translation id="9103872766612412690">Normalmente, o site <ph name="SITE" /> utiliza a encriptação para proteger as suas informações. Quando o Chromium tentou estabelecer ligação a <ph name="SITE" /> desta vez, o Website devolveu credenciais invulgares e incorretas. Isto pode acontecer quando um utilizador mal intencionado tenta simular ser <ph name="SITE" /> ou quando um ecrã de início de sessão Wi-Fi interrompe a ligação. As suas informações continuam seguras porque o Chromium interrompeu a ligação antes de qualquer troca de dados.</translation>
 <translation id="9106062320799175032">Adicionar endereço de faturação</translation>
diff --git a/components/strings/components_strings_ro.xtb b/components/strings/components_strings_ro.xtb
index 03ac863..e2cfefd 100644
--- a/components/strings/components_strings_ro.xtb
+++ b/components/strings/components_strings_ro.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Fișierul nu a putut fi accesat</translation>
 <translation id="4306529830550717874">Salvezi adresa?</translation>
 <translation id="4306812610847412719">Clipboard</translation>
+<translation id="4308567447483056043">Politica este ignorată deoarece utilizatorul nu este afiliat. Pentru ca această politică să fie aplicată, browserul și profilul Chrome trebuie să fie gestionate prin intermediul consolei de administrare de aceeași organizație.</translation>
 <translation id="4310070645992025887">Caută parcursuri</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blochează (în mod prestabilit)</translation>
diff --git a/components/strings/components_strings_ru.xtb b/components/strings/components_strings_ru.xtb
index ae7f09f..a88d2315 100644
--- a/components/strings/components_strings_ru.xtb
+++ b/components/strings/components_strings_ru.xtb
@@ -1227,6 +1227,7 @@
 <translation id="4305666528087210886">Не удалось получить доступ к файлу</translation>
 <translation id="4306529830550717874">Сохранить адрес?</translation>
 <translation id="4306812610847412719">Буфер обмена</translation>
+<translation id="4308567447483056043">Это правило игнорируется, так как пользователь не связан с организацией. Чтобы оно применялось, одна организация должна управлять браузером и профилем Chrome через консоль администратора.</translation>
 <translation id="4310070645992025887">Поиск по теме</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Блокировать (по умолчанию)</translation>
diff --git a/components/strings/components_strings_si.xtb b/components/strings/components_strings_si.xtb
index a7efc24..00bb065 100644
--- a/components/strings/components_strings_si.xtb
+++ b/components/strings/components_strings_si.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">ඔබගේ ගොනුවට පිවිසීමට නොහැකි විය.</translation>
 <translation id="4306529830550717874">ලිපිනය සුරකින්නද?</translation>
 <translation id="4306812610847412719">පසුරු පුවරුව</translation>
+<translation id="4308567447483056043">පරිශීලකයා සම්බන්ධ නැති නිසා මෙම ප්‍රතිපත්තිය නොසලකා හරිනු ලැබේ. මෙම ප්‍රතිපත්තිය යෙදීම සඳහා, Chrome බ්‍රව්සරය සහ පැතිකඩ එකම සංවිධානය විසින් පරිපාලක කොන්සෝලය හරහා කළමනාකරණය කළ යුතු වේ.</translation>
 <translation id="4310070645992025887">ඔබගේ චාරිකා සොයන්න</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">අවහිර කරන්න (පෙරනිමි)</translation>
diff --git a/components/strings/components_strings_sk.xtb b/components/strings/components_strings_sk.xtb
index 89590a2..8d869bb 100644
--- a/components/strings/components_strings_sk.xtb
+++ b/components/strings/components_strings_sk.xtb
@@ -1677,6 +1677,7 @@
 <translation id="5518670652865028077">Umenie a zábava</translation>
 <translation id="5519516356611866228">So zmenami</translation>
 <translation id="5523118979700054094">Názov pravidla</translation>
+<translation id="5525755241743357906">Súbor je skopírovaný alebo presunutý</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, postupným stlačením klávesov Tab a Enter si prispôsobíte nástroje dostupnosti v nastaveniach systému Chrome OS</translation>
 <translation id="5528532273234423708">Automatizácia domácnosti</translation>
 <translation id="55293785478302737">Zošiť hrebeňovou väzbou</translation>
@@ -2929,6 +2930,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, postupným stlačením klávesov Tab a Enter nastavíte Chrome ako predvolený prehliadač systému v nastaveniach iOS</translation>
 <translation id="9096679202588811390">Televízne relácie a programy</translation>
 <translation id="9101630580131696064">Priehradka č. 1</translation>
+<translation id="9102081333385212048">Súbory, ktoré skopírujete alebo presuniete, sa odošlú službe Google Cloud alebo tretím stranám na analýzu. V rámci nej môžu byť napríklad podrobené kontrole prítomnosti citlivých údajov alebo malvéru.</translation>
 <translation id="9103537084693478942">Softvér na spracovanie videa</translation>
 <translation id="9103872766612412690">Web <ph name="SITE" /> zvyčajne chráni vaše informácie pomocou šifrovania. Keď sa prehliadač Chromium tentokrát pokúsil pripojiť k webu <ph name="SITE" />, odoslal späť nezvyčajné a nesprávne poverenia. Môže sa to stať vtedy, keď sa za web <ph name="SITE" /> snaží vydávať útočník alebo keď pripojenie preruší prihlasovacia obrazovka siete Wi‑Fi. Vaše informácie sú stále zabezpečené, pretože prehliadač Chromium zastavil pripojenie ešte pred výmenou dát.</translation>
 <translation id="9106062320799175032">Pridanie fakturačnej adresy</translation>
diff --git a/components/strings/components_strings_sl.xtb b/components/strings/components_strings_sl.xtb
index a49ea097..2abc4b19 100644
--- a/components/strings/components_strings_sl.xtb
+++ b/components/strings/components_strings_sl.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Ni bilo mogoče dostopati do datoteke</translation>
 <translation id="4306529830550717874">Želite shraniti naslov?</translation>
 <translation id="4306812610847412719">odložišče</translation>
+<translation id="4308567447483056043">Ta pravilnik se prezre, ker uporabnik ni povezan. Če želite, da je uporabljen ta pravilnik, mora brskalnik Chrome in profil v Chromu prek skrbniške konzole upravljati ista organizacija.</translation>
 <translation id="4310070645992025887">Iščite po poteh</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokira (privzeto)</translation>
diff --git a/components/strings/components_strings_sr-Latn.xtb b/components/strings/components_strings_sr-Latn.xtb
index 44b4d908..c8c6596 100644
--- a/components/strings/components_strings_sr-Latn.xtb
+++ b/components/strings/components_strings_sr-Latn.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Pristup datoteci nije uspeo</translation>
 <translation id="4306529830550717874">Želite da sačuvate adresu?</translation>
 <translation id="4306812610847412719">privremena memorija</translation>
+<translation id="4308567447483056043">Ove smernice se ignorišu zato što korisnik nije povezan. Da bi se ove smernice primenjivale, ista organizacija mora da upravlja Chrome pregledačem i profilom preko Administratorske konzole.</translation>
 <translation id="4310070645992025887">Pretražite svoje puteve</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blokiraj (podrazumevano)</translation>
diff --git a/components/strings/components_strings_sr.xtb b/components/strings/components_strings_sr.xtb
index 86839b1..92592d20 100644
--- a/components/strings/components_strings_sr.xtb
+++ b/components/strings/components_strings_sr.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Приступ датотеци није успео</translation>
 <translation id="4306529830550717874">Желите да сачувате адресу?</translation>
 <translation id="4306812610847412719">привремена меморија</translation>
+<translation id="4308567447483056043">Ове смернице се игноришу зато што корисник није повезан. Да би се ове смернице примењивале, иста организација мора да управља Chrome прегледачем и профилом преко Администраторске конзоле.</translation>
 <translation id="4310070645992025887">Претражите своје путеве</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Блокирај (подразумевано)</translation>
diff --git a/components/strings/components_strings_sv.xtb b/components/strings/components_strings_sv.xtb
index 17fba3d..aacc8e2 100644
--- a/components/strings/components_strings_sv.xtb
+++ b/components/strings/components_strings_sv.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Ingen åtkomst till filen</translation>
 <translation id="4306529830550717874">Vill du spara adressen?</translation>
 <translation id="4306812610847412719">urklipp</translation>
+<translation id="4308567447483056043">Den här principen ignoreras eftersom användaren inte är kopplad. Om denna policy ska tillämpas måste webbläsaren Chrome och profilen hanteras av samma organisation via administratörskonsolen.</translation>
 <translation id="4310070645992025887">Sök bland dina sökningar</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Blockera (standard)</translation>
diff --git a/components/strings/components_strings_sw.xtb b/components/strings/components_strings_sw.xtb
index 0bf233b..b4823e7f 100644
--- a/components/strings/components_strings_sw.xtb
+++ b/components/strings/components_strings_sw.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Imeshindwa kufikia faili yako</translation>
 <translation id="4306529830550717874">Ungependa kuhifadhi anwani?</translation>
 <translation id="4306812610847412719">ubao wa kunakili</translation>
+<translation id="4308567447483056043">Sera hii imepuuzwa kwa sababu mtumiaji hahusiani na shirika. Ili sera hii itumike, kivinjari na wasifu wa Chrome lazima udhibitiwe na shirika moja katika dashibodi ya Msimamizi.</translation>
 <translation id="4310070645992025887">Tafuta Ziara zako</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Zuia (chaguomsingi)</translation>
diff --git a/components/strings/components_strings_ta.xtb b/components/strings/components_strings_ta.xtb
index af7136f..df83d6b 100644
--- a/components/strings/components_strings_ta.xtb
+++ b/components/strings/components_strings_ta.xtb
@@ -1224,6 +1224,7 @@
 <translation id="4305666528087210886">உங்கள் ஃபைலை அணுக முடியவில்லை</translation>
 <translation id="4306529830550717874">முகவரியைச் சேமிக்கவா?</translation>
 <translation id="4306812610847412719">கிளிப்போர்டு</translation>
+<translation id="4308567447483056043">பயனர் அதிகாரப்பூர்வமாக இணைக்கப்படாததால் இந்தக் கொள்கை ஏற்றுக்கொள்ளப்படவில்லை. இந்தக் கொள்கையைப் பயன்படுத்த Chrome உலாவியும் சுயவிவரமும் நிர்வாகிக் கன்சோல் மூலம் அதே நிறுவனத்தால் நிர்வகிக்கப்பட வேண்டும்.</translation>
 <translation id="4310070645992025887">உங்கள் செயல்பாடுகளைத் தேடுக</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">தடு (இயல்பு)</translation>
diff --git a/components/strings/components_strings_te.xtb b/components/strings/components_strings_te.xtb
index e55e9d4..9bcf897 100644
--- a/components/strings/components_strings_te.xtb
+++ b/components/strings/components_strings_te.xtb
@@ -169,7 +169,7 @@
 <translation id="1374692235857187091">సూచిక-4x6 (పోస్ట్‌కార్డ్)</translation>
 <translation id="1375198122581997741">వెర్షన్ గురించి</translation>
 <translation id="1376836354785490390">తక్కువ చూపు</translation>
-<translation id="1377321085342047638">కార్డ్ సంఖ్య</translation>
+<translation id="1377321085342047638">కార్డ్ నంబర్</translation>
 <translation id="1380591466760231819">లెటర్ ఫోల్డ్</translation>
 <translation id="138218114945450791">లేత నీలి రంగు</translation>
 <translation id="1382194467192730611">మీ నిర్వాహకుడు అనుమతించే USB పరికరం</translation>
@@ -1073,6 +1073,7 @@
 <translation id="3835233591525155343">మీ పరికర వినియోగం</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />, కొత్త Google డాక్‌ను త్వరగా క్రియేట్ చేయడానికి Tabను నొక్కి, ఆపై Enterను నొక్కండి</translation>
 <translation id="385051799172605136">వెనుకకు</translation>
+<translation id="3853684360927654006">పాస్‌వర్డ్ బలం క్యాలిక్యులేటర్</translation>
 <translation id="3858027520442213535">తేదీని, సమయాన్ని అప్‌డేట్ చేయి</translation>
 <translation id="3858860766373142691">పేరు</translation>
 <translation id="3872834068356954457">సైన్స్</translation>
diff --git a/components/strings/components_strings_th.xtb b/components/strings/components_strings_th.xtb
index 8a3d170..dc41cf7 100644
--- a/components/strings/components_strings_th.xtb
+++ b/components/strings/components_strings_th.xtb
@@ -1070,6 +1070,7 @@
 <translation id="3835233591525155343">การใช้งานอุปกรณ์ของคุณ</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" /> กด Tab ตามด้วย Enter เพื่อสร้างเอกสารใหม่ใน Google เอกสารอย่างรวดเร็ว</translation>
 <translation id="385051799172605136">กลับ</translation>
+<translation id="3853684360927654006">เครื่องคำนวณระดับความปลอดภัยของรหัสผ่าน</translation>
 <translation id="3858027520442213535">อัปเดตวันที่และเวลา</translation>
 <translation id="3858860766373142691">ชื่อ</translation>
 <translation id="3872834068356954457">วิทยาศาสตร์</translation>
@@ -1227,6 +1228,7 @@
 <translation id="4305666528087210886">เข้าถึงไฟล์ไม่ได้</translation>
 <translation id="4306529830550717874">บันทึกที่อยู่ไหม</translation>
 <translation id="4306812610847412719">คลิปบอร์ด</translation>
+<translation id="4308567447483056043">ระบบจะไม่สนใจนโยบายนี้เนื่องจากเป็นผู้ใช้ที่ไม่ได้เชื่อมโยง เบราว์เซอร์และโปรไฟล์ Chrome ต้องมีการจัดการผ่านคอนโซลผู้ดูแลระบบโดยองค์กรเดียวกันจึงจะใช้นโยบายนี้ได้</translation>
 <translation id="4310070645992025887">ค้นหาเส้นทางการท่องเว็บ</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">บล็อก (ค่าเริ่มต้น)</translation>
@@ -1679,6 +1681,7 @@
 <translation id="5518670652865028077">ศิลปะและความบันเทิง</translation>
 <translation id="5519516356611866228">แบบมีการเปลี่ยนแปลงที่ทำ</translation>
 <translation id="5523118979700054094">ชื่อนโยบาย</translation>
+<translation id="5525755241743357906">คัดลอกหรือย้ายไฟล์แล้ว</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" /> กด Tab ตามด้วย Enter เพื่อปรับเปลี่ยนเครื่องมือช่วยเหลือพิเศษในแบบของคุณที่การตั้งค่า Chrome OS</translation>
 <translation id="5528532273234423708">ระบบอัตโนมัติในบ้าน</translation>
 <translation id="55293785478302737">เย็บขอบ</translation>
@@ -2932,6 +2935,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" /> กด Tab แล้วกด Enter เพื่อตั้ง Chrome เป็นเบราว์เซอร์เริ่มต้นของระบบในการตั้งค่า iOS</translation>
 <translation id="9096679202588811390">รายการทีวี</translation>
 <translation id="9101630580131696064">ถาด 1</translation>
+<translation id="9102081333385212048">ไฟล์ที่คุณคัดลอกหรือย้ายจะส่งไปยัง Google Cloud หรือบุคคลที่สามเพื่อทำการวิเคราะห์ เช่น อาจมีการสแกนหาข้อมูลที่ละเอียดอ่อนหรือมัลแวร์</translation>
 <translation id="9103537084693478942">ซอฟต์แวร์วิดีโอ</translation>
 <translation id="9103872766612412690">โดยทั่วไป <ph name="SITE" /> จะใช้การเข้ารหัสเพื่อปกป้องข้อมูลของคุณ เมื่อ Chromium พยายามเชื่อมต่อกับ <ph name="SITE" /> ในครั้งนี้ เว็บไซต์ดังกล่าวส่งข้อมูลรับรองที่ผิดปกติและไม่ถูกต้องกลับมา เหตุการณ์นี้อาจเกิดขึ้นเมื่อผู้บุกรุกพยายามปลอมเป็น <ph name="SITE" /> หรือหน้าจอการลงชื่อเข้าใช้ Wi-Fi รบกวนการเชื่อมต่อ ข้อมูลของคุณยังปลอดภัยอยู่เนื่องจาก Chromium หยุดการเชื่อมต่อก่อนมีการแลกเปลี่ยนข้อมูล</translation>
 <translation id="9106062320799175032">เพิ่มที่อยู่สำหรับการเรียกเก็บเงิน</translation>
diff --git a/components/strings/components_strings_uk.xtb b/components/strings/components_strings_uk.xtb
index 4c6ec8a..2d2149c5 100644
--- a/components/strings/components_strings_uk.xtb
+++ b/components/strings/components_strings_uk.xtb
@@ -1228,6 +1228,7 @@
 <translation id="4305666528087210886">Не вдалося отримати доступ до файлу</translation>
 <translation id="4306529830550717874">Зберегти адресу?</translation>
 <translation id="4306812610847412719">буфер обміну</translation>
+<translation id="4308567447483056043">Правило ігнорується, оскільки цей користувач є стороннім. Щоб застосувати це правило, веб-переглядачем і профілем Chrome має керувати на консолі адміністратора та сама організація.</translation>
 <translation id="4310070645992025887">Пошук у сеансах</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">Блокувати (за умовчанням)</translation>
diff --git a/components/strings/components_strings_ur.xtb b/components/strings/components_strings_ur.xtb
index 4b1a9826..5eec0c9 100644
--- a/components/strings/components_strings_ur.xtb
+++ b/components/strings/components_strings_ur.xtb
@@ -1073,6 +1073,7 @@
 <translation id="3835233591525155343">آپ کے آلے کا استعمال</translation>
 <translation id="3848487483475744267">‏<ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />، تیزی سے ایک نیا Google Doc تخلیق کرنے کیلئے Tab، پھر Enter دبائیں</translation>
 <translation id="385051799172605136">پیچھے</translation>
+<translation id="3853684360927654006">پاس ورڈ کی مضبوطی کا کیلکولیٹر</translation>
 <translation id="3858027520442213535">تاریخ اور وقت اپ ڈیٹ کریں</translation>
 <translation id="3858860766373142691">نام</translation>
 <translation id="3872834068356954457">سائنس</translation>
@@ -1683,6 +1684,7 @@
 <translation id="5518670652865028077">آرٹس اور تفریح</translation>
 <translation id="5519516356611866228">آپ کی تبدیلیوں کے ساتھ</translation>
 <translation id="5523118979700054094">پالیسی کا نام</translation>
+<translation id="5525755241743357906">فائل کو کاپی یا منتقل کیا گیا ہے</translation>
 <translation id="5526617258931667850">‏<ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />، ChromeOS کی ترتیبات میں اپنی ایکسیسبیلٹی کے ٹولز کو ذاتی نوعیت کا بنانے کے لیے ٹیب پھر Enter دبائیں</translation>
 <translation id="5528532273234423708">ہوم آٹومیشن</translation>
 <translation id="55293785478302737">کنارے کی سلائی</translation>
@@ -2936,6 +2938,7 @@
 <translation id="9096425087209440047">‏<ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />، iOS کی ترتیبات میں Chrome کو سسٹم کے ڈیفالٹ براؤزر کے بطور سیٹ کرنے کے لیے ٹیب پھر Enter دبائیں</translation>
 <translation id="9096679202588811390">‏TV شوز اور پروگرامز</translation>
 <translation id="9101630580131696064">ٹرے 1</translation>
+<translation id="9102081333385212048">‏جن فائلز کو آپ کاپی یا منتقل کرتے ہیں وہ Google کلاؤڈ یا فریقین ثالث کو تجزیے کیلئے بھیجی جاتی ہیں۔ مثال کے طور پر، انہیں حساس ڈیٹا یا میلوئیر کیلئے اسکین کیا جا سکتا ہے۔</translation>
 <translation id="9103537084693478942">ویڈیو سافٹ ویئر</translation>
 <translation id="9103872766612412690">‏<ph name="SITE" /> عام طور پر آپ کی معلومات کے تحفظ کیلئے مرموز کاری کا استعمال کرتی ہے۔ اس بار جب Chromium نے <ph name="SITE" /> سے منسلک ہونے کی کوشش کی تو ویب سائٹ
 نے خلاف معمول اور غلط اسناد واپس بھیجے۔ یہ اس وقت ہو سکتا ہے جب کوئی حملہ آور <ph name="SITE" /> بننے کا بھیس بنا رہا ہو یا ایک Wi-Fi سائن ان اسکرین نے کنکشن میں خلل ڈالا ہو۔ آپ کی معلومات اب بھی محفوظ ہے کیونکہ Chromium نے کسی ڈیٹا کا تبادلہ ہونے سے پہلے کنکشن روک دیا۔</translation>
diff --git a/components/strings/components_strings_uz.xtb b/components/strings/components_strings_uz.xtb
index bc37215..84129aa 100644
--- a/components/strings/components_strings_uz.xtb
+++ b/components/strings/components_strings_uz.xtb
@@ -1066,6 +1066,7 @@
 <translation id="3835233591525155343">Qurilmadan foydalanish</translation>
 <translation id="3848487483475744267"><ph name="CREATE_GOOGLE_DOC_FOCUSED_FRIENDLY_MATCH_TEXT" />, Google Docda yangi hujjatni tez yaratish uchun avval Tab, keyin Enter tugmasini bosing</translation>
 <translation id="385051799172605136">Orqaga</translation>
+<translation id="3853684360927654006">Parol ichonchliligi kalkulyatori</translation>
 <translation id="3858027520442213535">Sana va vaqtni yangilash</translation>
 <translation id="3858860766373142691">Ism</translation>
 <translation id="3872834068356954457">Ilm-fan</translation>
diff --git a/components/strings/components_strings_zh-CN.xtb b/components/strings/components_strings_zh-CN.xtb
index f74edfc..c6b6ece 100644
--- a/components/strings/components_strings_zh-CN.xtb
+++ b/components/strings/components_strings_zh-CN.xtb
@@ -1224,6 +1224,7 @@
 <translation id="4305666528087210886">无法访问您的文件</translation>
 <translation id="4306529830550717874">保存地址?</translation>
 <translation id="4306812610847412719">剪贴板</translation>
+<translation id="4308567447483056043">此政策会被忽略,因为该用户是独立用户。若要应用此政策,必须由同一组织通过管理控制台管理 Chrome 浏览器和个人资料。</translation>
 <translation id="4310070645992025887">在您的历程中搜索</translation>
 <translation id="4312613361423056926">B2</translation>
 <translation id="4312866146174492540">屏蔽(默认)</translation>
diff --git a/components/strings/components_strings_zh-TW.xtb b/components/strings/components_strings_zh-TW.xtb
index 1e7902c..0215dee 100644
--- a/components/strings/components_strings_zh-TW.xtb
+++ b/components/strings/components_strings_zh-TW.xtb
@@ -1681,6 +1681,7 @@
 <translation id="5518670652865028077">藝術與娛樂</translation>
 <translation id="5519516356611866228">包含你所做的變更</translation>
 <translation id="5523118979700054094">政策名稱</translation>
+<translation id="5525755241743357906">檔案已複製或移動</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />,按下 Tab 鍵再按下 Enter 鍵即可在 Chrome OS 設定中依個人需求調整無障礙工具</translation>
 <translation id="5528532273234423708">家用裝置自動化</translation>
 <translation id="55293785478302737">邊緣裝訂</translation>
@@ -2933,6 +2934,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />;按下 Tab 鍵再按下 Enter 鍵即可在 iOS 設定中將 Chrome 設為系統的預設瀏覽器</translation>
 <translation id="9096679202588811390">電視表演與節目</translation>
 <translation id="9101630580131696064">紙匣 1</translation>
+<translation id="9102081333385212048">你複製或移動的檔案會傳送到 Google Cloud 或第三方進行分析。舉例來說,Google Cloud 或第三方可能會掃描檔案,檢查是否含有機密資料或惡意軟體。</translation>
 <translation id="9103537084693478942">影片軟體</translation>
 <translation id="9103872766612412690"><ph name="SITE" /> 通常使用加密方式保護您的資訊。但 Chromium 這次嘗試連線到 <ph name="SITE" /> 時,該網站傳回了異常且錯誤的憑證。這可能是因為有攻擊者企圖偽裝成 <ph name="SITE" />,或是受到 Wi-Fi 登入畫面影響而造成連線中斷。不過請放心,Chromium 已及時停止連線,並未傳輸任何資料,因此您的資訊仍然安全無虞。</translation>
 <translation id="9106062320799175032">新增帳單地址</translation>
diff --git a/components/strings/components_strings_zu.xtb b/components/strings/components_strings_zu.xtb
index 4ff70130..47ffb24d 100644
--- a/components/strings/components_strings_zu.xtb
+++ b/components/strings/components_strings_zu.xtb
@@ -1678,6 +1678,7 @@
 <translation id="5518670652865028077">Ubuciko nokuzijabulisa</translation>
 <translation id="5519516356611866228">Kanye nezinguquko zakho</translation>
 <translation id="5523118979700054094">Igama le nqubomgomo</translation>
+<translation id="5525755241743357906">Ifayela likopishiwe noma lihanjisiwe</translation>
 <translation id="5526617258931667850"><ph name="MANAGE_CHROMEOS_ACCESSIBILITY_FOCUSED_FRIENDLY_MATCH_TEXT" />, Cindezela u-tab no-Enter ukwenza amathuluzi wakho wokufinyeleleka abe ngawakho kumasethingi we-ChromeOS</translation>
 <translation id="5528532273234423708">Okuzenzakalelayo kwasekhaya</translation>
 <translation id="55293785478302737">Ukuthunga umphetho</translation>
@@ -2930,6 +2931,7 @@
 <translation id="9096425087209440047"><ph name="SET_CHROME_AS_DEFAULT_BROWSER_FOCUSED_FRIENDLY_MATCH_TEXT" />, Cindezela ithebhu bese ucindezela okuthi Enter ukuze usethe i-Chrome njengebhrawuza ezenzakalelayo yesistimu kumasethingi e-iOS</translation>
 <translation id="9096679202588811390">Imibukiso nezinhlelo ze-TV</translation>
 <translation id="9101630580131696064">Ithileyi elingu-1</translation>
+<translation id="9102081333385212048">Amafayela owakopishayo noma owahambisayo athunyelwa ku-Google Cloud noma inkampani engahlangene ngqo ukuze uhlaziye. Isibonelo, angapheqululwa mayelana nedatha ezwelayo noma uhlelo olungayilungele ikhompuyutha.</translation>
 <translation id="9103537084693478942">Isofthiwe yevidiyo</translation>
 <translation id="9103872766612412690">I-<ph name="SITE" /> ngokuvamile isebenzisa ukubethela ukuvikela ulwazi lwakho. Uma i-Chromium izame ukuxhuma ku-<ph name="SITE" /> ngalesi sikhathi, iwebhusayithi ithumele emuva imininingwane engavamile nengalungile. Lokhu kungenzeka uma umhlaseli ezama ukuzenza i-<ph name="SITE" />, noma isikrini sokungena se-Wi-Fi siphazamise uxhumo. Ulwazi lwakho lusaphephile ngoba i-Chromium imise uxhumo ngaphambi kokuthi idatha ishintshwe.</translation>
 <translation id="9106062320799175032">Engeza ikheli lokukhokha</translation>
diff --git a/components/url_param_filter/core/url_param_classifications_loader.cc b/components/url_param_filter/core/url_param_classifications_loader.cc
index de405a7..9a63017e 100644
--- a/components/url_param_filter/core/url_param_classifications_loader.cc
+++ b/components/url_param_filter/core/url_param_classifications_loader.cc
@@ -39,11 +39,24 @@
 void AppendParams(ClassificationMap& map,
                   const FilterClassification& classification,
                   FilterClassification::UseCase use_case) {
+  // If site_match_type is not set or is set to MATCH_TYPE_UNKNOWN, default
+  // to the exact match on eTLD+1.
+  FilterClassification::SiteMatchType site_match_type = FilterClassification::
+      SiteMatchType::FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE;
+  if (classification.has_site_match_type() &&
+      classification.site_match_type() !=
+          FilterClassification::SiteMatchType::
+              FilterClassification_SiteMatchType_MATCH_TYPE_UNKNOWN) {
+    site_match_type = classification.site_match_type();
+  }
   for (const FilterParameter& param : classification.parameters()) {
     // Any non-matching experimental params have been discarded previously.
     // We retain whether the classification was experimental, however, to write
     // a separate metric when those classifications are used.
-    map[classification.site()][use_case][base::ToLowerASCII(param.name())] =
+    ClassificationMapKey key = {.site_role = classification.site_role(),
+                                .site_match_type = site_match_type,
+                                .site = classification.site()};
+    map[key][use_case][base::ToLowerASCII(param.name())] =
         !classification.experiment_tags().empty() &&
                 !HasExperimentTag(classification, DEFAULT_TAG)
             ? ClassificationExperimentStatus::EXPERIMENTAL
@@ -64,8 +77,7 @@
 }
 
 ClassificationMap GetClassificationsFromFeature(
-    const std::string& feature_classifications,
-    FilterClassification_SiteRole role) {
+    const std::string& feature_classifications) {
   FilterClassifications classifications;
   ClassificationMap map;
   std::string out;
@@ -74,12 +86,10 @@
   if (compression::GzipUncompress(out, &uncompressed)) {
     if (classifications.ParseFromString(uncompressed)) {
       for (auto i : classifications.classifications()) {
-        if (i.site_role() == role) {
-          // When retrieving classifications from the feature, we do not allow
-          // additional experiment overrides.
-          DCHECK(i.experiment_tags().empty());
-          ProcessClassification(map, i);
-        }
+        // When retrieving classifications from the feature, we do not allow
+        // additional experiment overrides.
+        DCHECK(i.experiment_tags().empty());
+        ProcessClassification(map, i);
       }
     }
   }
@@ -97,22 +107,27 @@
 
 }  // anonymous namespace
 
+bool operator==(const ClassificationMapKey& lhs,
+                const ClassificationMapKey& rhs) {
+  return std::tie(lhs.site_role, lhs.site_match_type, lhs.site) ==
+         std::tie(rhs.site_role, rhs.site_match_type, rhs.site);
+}
+
+bool operator<(const ClassificationMapKey& lhs,
+               const ClassificationMapKey& rhs) {
+  return std::tie(lhs.site_role, lhs.site_match_type, lhs.site) <
+         std::tie(rhs.site_role, rhs.site_match_type, rhs.site);
+}
+
 // static
 ClassificationsLoader* ClassificationsLoader::GetInstance() {
   static base::NoDestructor<ClassificationsLoader> instance;
   return instance.get();
 }
 
-ClassificationMap ClassificationsLoader::GetSourceClassifications() {
+ClassificationMap ClassificationsLoader::GetClassifications() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  return GetClassificationsInternal(
-      FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-}
-
-ClassificationMap ClassificationsLoader::GetDestinationClassifications() {
-  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  return GetClassificationsInternal(
-      FilterClassification_SiteRole::FilterClassification_SiteRole_DESTINATION);
+  return GetClassificationsInternal();
 }
 
 void ClassificationsLoader::ReadClassifications(
@@ -122,8 +137,7 @@
   if (!classification_list.ParseFromString(raw_classifications))
     return;
 
-  std::vector<FilterClassification> source_classifications,
-      destination_classifications;
+  std::vector<FilterClassification> classifications;
   int total_applicable_source_classifications = 0;
   int total_applicable_destination_classifications = 0;
   std::string experiment_identifier = base::GetFieldTrialParamValueByFeature(
@@ -139,22 +153,20 @@
     if (!HasExperimentTag(fc, experiment_identifier)) {
       continue;
     }
-    if (fc.site_role() == FilterClassification_SiteRole_SOURCE) {
-      source_classifications.push_back(fc);
+
+    FilterClassification::SiteRole site_role = fc.site_role();
+    if (site_role == FilterClassification_SiteRole_SOURCE) {
+      classifications.push_back(fc);
       total_applicable_source_classifications++;
     }
 
-    if (fc.site_role() == FilterClassification_SiteRole_DESTINATION) {
-      destination_classifications.push_back(fc);
+    if (site_role == FilterClassification_SiteRole_DESTINATION) {
+      classifications.push_back(fc);
       total_applicable_destination_classifications++;
     }
   }
 
-  component_source_classification_map_ =
-      GetClassificationMap(source_classifications);
-  component_destination_classification_map_ =
-      GetClassificationMap(destination_classifications);
-
+  component_classifications_ = GetClassificationMap(classifications);
   base::UmaHistogramCounts10000(
       "Navigation.UrlParamFilter.ApplicableClassificationCount.Source",
       total_applicable_source_classifications);
@@ -165,15 +177,13 @@
 
 void ClassificationsLoader::ResetListsForTesting() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-  component_source_classification_map_.reset();
-  component_destination_classification_map_.reset();
+  component_classifications_.reset();
 }
 
 ClassificationsLoader::ClassificationsLoader() = default;
 ClassificationsLoader::~ClassificationsLoader() = default;
 
-ClassificationMap ClassificationsLoader::GetClassificationsInternal(
-    FilterClassification_SiteRole role) {
+ClassificationMap ClassificationsLoader::GetClassificationsInternal() {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   // Classifications from field trial params take precedence over the ones from
   // Component Updater.
@@ -182,25 +192,15 @@
       features::kIncognitoParamFilterEnabled, &params);
   // Retrieve classifications from feature if provided as a parameter.
   if (has_feature_params && params.find("classifications") != params.end()) {
-    return GetClassificationsFromFeature(params.find("classifications")->second,
-                                         role);
+    return GetClassificationsFromFeature(
+        params.find("classifications")->second);
   }
 
   // If no feature classifications are given, use the component-provided
   // classifications.
-  switch (role) {
-    case FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE:
-      return component_source_classification_map_.has_value()
-                 ? component_source_classification_map_.value()
-                 : ClassificationMap();
-    case FilterClassification_SiteRole::
-        FilterClassification_SiteRole_DESTINATION:
-      return component_destination_classification_map_.has_value()
-                 ? component_destination_classification_map_.value()
-                 : ClassificationMap();
-    case FilterClassification_SiteRole_SITE_ROLE_UNKNOWN:
-      return ClassificationMap();
-  }
+  return component_classifications_.has_value()
+             ? component_classifications_.value()
+             : ClassificationMap();
 }
 
 }  // namespace url_param_filter
diff --git a/components/url_param_filter/core/url_param_classifications_loader.h b/components/url_param_filter/core/url_param_classifications_loader.h
index 7f431f20..4b650d5 100644
--- a/components/url_param_filter/core/url_param_classifications_loader.h
+++ b/components/url_param_filter/core/url_param_classifications_loader.h
@@ -5,6 +5,8 @@
 #ifndef COMPONENTS_URL_PARAM_FILTER_CORE_URL_PARAM_CLASSIFICATIONS_LOADER_H_
 #define COMPONENTS_URL_PARAM_FILTER_CORE_URL_PARAM_CLASSIFICATIONS_LOADER_H_
 
+#include <functional>
+#include <string>
 #include <unordered_map>
 
 #include "base/no_destructor.h"
@@ -16,13 +18,64 @@
 
 enum ClassificationExperimentStatus { EXPERIMENTAL, NON_EXPERIMENTAL };
 
-// `unordered_map` is used for the outer map of domains, which is likely to have
-// hundreds. `map` is used for the inner map of `UseCase`, which will have a
-// single digit number of keys.
+// Struct used as key in map of classifications.
+// Pair of a site's role and and the site name, e.g. (SOURCE, source.xyz).
+struct ClassificationMapKey {
+  FilterClassification::SiteRole site_role;
+  FilterClassification::SiteMatchType site_match_type;
+  std::string site;
+};
+
+bool operator==(const ClassificationMapKey& lhs,
+                const ClassificationMapKey& rhs);
+
+// Defined so that this can be used to key `std::map` as well as
+// `std::unordered_map`
+bool operator<(const ClassificationMapKey& lhs,
+               const ClassificationMapKey& rhs);
+
+struct ClassificationMapKeyHash {
+  size_t operator()(const ClassificationMapKey& key) const {
+    return std::hash<int>()(key.site_role) ^
+           std::hash<std::string>()(key.site) ^
+           std::hash<int>()(key.site_match_type);
+  }
+};
+
+inline ClassificationMapKey SourceKey(std::string site) {
+  return {
+      .site_role =
+          FilterClassification::SiteRole::FilterClassification_SiteRole_SOURCE,
+      .site_match_type = FilterClassification::SiteMatchType::
+          FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
+      .site = site};
+}
+
+inline ClassificationMapKey DestinationKey(std::string site) {
+  return {.site_role = FilterClassification::SiteRole::
+              FilterClassification_SiteRole_DESTINATION,
+          .site_match_type = FilterClassification::SiteMatchType::
+              FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
+          .site = site};
+}
+
+inline ClassificationMapKey SourceWildcardKey(std::string site_no_etld) {
+  return {
+      .site_role =
+          FilterClassification::SiteRole::FilterClassification_SiteRole_SOURCE,
+      .site_match_type = FilterClassification::SiteMatchType::
+          FilterClassification_SiteMatchType_ETLD_WILDCARD,
+      .site = site_no_etld};
+}
+
+// `unordered_map` is used for the outer map of (role, domain) pairs, which
+// is likely to have hundreds. `map` is used for the inner map of `UseCase`,
+// which will have a single digit number of keys.
 using ClassificationMap = std::unordered_map<
-    std::string,
+    ClassificationMapKey,
     std::map<FilterClassification::UseCase,
-             std::map<std::string, ClassificationExperimentStatus>>>;
+             std::map<std::string, ClassificationExperimentStatus>>,
+    ClassificationMapKeyHash>;
 
 class ClassificationsLoader {
  public:
@@ -31,11 +84,8 @@
   ClassificationsLoader(const ClassificationsLoader&) = delete;
   ClassificationsLoader& operator=(const ClassificationsLoader&) = delete;
 
-  // Returns a mapping from site to its source classifications.
-  ClassificationMap GetSourceClassifications();
-
-  // Returns a mapping from site to its destination classifications.
-  ClassificationMap GetDestinationClassifications();
+  // Returns a mapping from site to all of its classifications.
+  ClassificationMap GetClassifications();
 
   // Deserializes the proto from |raw_classifications|. The classifications that
   // are being read will have already been validated in the VerifyInstallation
@@ -59,12 +109,9 @@
   // classifications from either the Component Updater or the feature flag.
   // If classifications from both are provided, then the feature flag
   // classifications take precedence.
-  ClassificationMap GetClassificationsInternal(
-      FilterClassification_SiteRole role);
+  ClassificationMap GetClassificationsInternal();
 
-  absl::optional<ClassificationMap> component_source_classification_map_
-      GUARDED_BY_CONTEXT(sequence_checker_) = absl::nullopt;
-  absl::optional<ClassificationMap> component_destination_classification_map_
+  absl::optional<ClassificationMap> component_classifications_
       GUARDED_BY_CONTEXT(sequence_checker_) = absl::nullopt;
 
   SEQUENCE_CHECKER(sequence_checker_);
diff --git a/components/url_param_filter/core/url_param_classifications_loader_unittest.cc b/components/url_param_filter/core/url_param_classifications_loader_unittest.cc
index dbccec5..bf7ae5d 100644
--- a/components/url_param_filter/core/url_param_classifications_loader_unittest.cc
+++ b/components/url_param_filter/core/url_param_classifications_loader_unittest.cc
@@ -17,9 +17,7 @@
 #include "components/url_param_filter/core/features.h"
 #include "components/url_param_filter/core/url_param_filter_classification.pb.h"
 #include "components/url_param_filter/core/url_param_filter_test_helper.h"
-#include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
-#include "third_party/abseil-cpp/absl/types/optional.h"
 
 using ::testing::ElementsAre;
 using ::testing::Eq;
@@ -92,15 +90,13 @@
 TEST_F(UrlParamClassificationsLoaderTest,
        GetClassifications_MissingComponentAndFeature) {
   // Neither Component nor feature provide classifications.
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
        ReadClassifications_NonserializedProto) {
   loader()->ReadClassifications("clearly not proto");
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
 TEST_F(UrlParamClassificationsLoaderTest, ReadClassifications_EmptyList) {
@@ -108,10 +104,146 @@
       MakeClassificationsProtoFromMap({}, {});
   SetComponentFileContents(classifications.SerializeAsString());
   loader()->ReadClassifications(test_file_contents());
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
+TEST_F(UrlParamClassificationsLoaderTest,
+       ReadClassifications_SiteMatchTypeNotSet_DefaultsToETLDPlusOne) {
+  base::HistogramTester histogram_tester;
+  FilterClassifications classifications = MakeClassificationsProtoFromMap(
+      {{kSourceSite, {"plzblock1"}}}, {{kDestinationSite, {"plzblock2"}}});
+
+  // Clear out site_match_type set to EXACT_ETLD_PLUS_ONE by helper function.
+  for (auto& fc : *classifications.mutable_classifications()) {
+    fc.clear_site_match_type();
+  }
+  SetComponentFileContents(classifications.SerializeAsString());
+  loader()->ReadClassifications(test_file_contents());
+
+  EXPECT_THAT(
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(SourceKey(kSourceSite),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(Pair(
+                       "plzblock1",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey(kDestinationSite),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(Pair(
+                       "plzblock2",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
+
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsSourceMetric, 1);
+  ASSERT_EQ(
+      histogram_tester.GetTotalSum(kApplicableClassificationsSourceMetric), 1);
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsDestinationMetric,
+                                    1);
+  ASSERT_EQ(
+      histogram_tester.GetTotalSum(kApplicableClassificationsDestinationMetric),
+      1);
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsInvalidMetric, 0);
+};
+
+TEST_F(UrlParamClassificationsLoaderTest,
+       ReadClassifications_MatchTypeKeyCollision_SecondEntryAdded) {
+  base::HistogramTester histogram_tester;
+  FilterClassifications classifications;
+
+  // Create a candidate with a normal EXACT_ETLD_PLUS_ONE match type.
+  // This candidate would be marked NON_EXPERIMENTAL if added to the map, since
+  // it has the "default" tag.
+  AddClassification(classifications.add_classifications(), kSourceSite,
+                    FilterClassification_SiteRole_SOURCE,
+                    FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
+                    {"plzblock"}, {FilterClassification::USE_CASE_UNKNOWN},
+                    {"default", "not_default"});
+
+  // Create a candidate with an unknown site match type.  This candidate's key
+  // in ClassificationMap will collide with the first candidate.
+  // This candidate would be marked as EXPERIMENTAL if added to the map, since
+  // it has only one tag which is not "default".
+  AddClassification(classifications.add_classifications(), kSourceSite,
+                    FilterClassification_SiteRole_SOURCE,
+                    FilterClassification_SiteMatchType_MATCH_TYPE_UNKNOWN,
+                    {"plzblock"}, {FilterClassification::USE_CASE_UNKNOWN},
+                    {"not_default"});
+
+  const std::string experiment_identifier = "not_default";
+  base::test::ScopedFeatureList scoped_feature_list;
+  base::FieldTrialParams params;
+  params["experiment_identifier"] = experiment_identifier;
+  scoped_feature_list.InitAndEnableFeatureWithParameters(
+      features::kIncognitoParamFilterEnabled, params);
+  SetComponentFileContents(classifications.SerializeAsString());
+  loader()->ReadClassifications(test_file_contents());
+
+  // The second entry gets added to the map normally, despite the collision.
+  // We can tell the second entry is the one that won because it's tagged
+  // EXPERIMENTAL.
+  EXPECT_THAT(loader()->GetClassifications(),
+              UnorderedElementsAre(Pair(
+                  SourceKey(kSourceSite),
+                  UnorderedElementsAre(Pair(
+                      FilterClassification::USE_CASE_UNKNOWN,
+                      UnorderedElementsAre(Pair(
+                          "plzblock",
+                          ClassificationExperimentStatus::EXPERIMENTAL)))))));
+
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsSourceMetric, 1);
+  ASSERT_EQ(
+      histogram_tester.GetTotalSum(kApplicableClassificationsSourceMetric), 2);
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsDestinationMetric,
+                                    1);
+  ASSERT_EQ(
+      histogram_tester.GetTotalSum(kApplicableClassificationsDestinationMetric),
+      0);
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsInvalidMetric, 0);
+};
+
+TEST_F(UrlParamClassificationsLoaderTest,
+       ReadClassifications_SiteMatchTypeSetToUnknown_DefaultsToETLDPlusOne) {
+  base::HistogramTester histogram_tester;
+  FilterClassifications classifications = MakeClassificationsProtoFromMap(
+      {{kSourceSite, {"plzblock1"}}}, {{kDestinationSite, {"plzblock2"}}});
+
+  // Clear out site_match_type set to EXACT_ETLD_PLUS_ONE by helper function.
+  for (auto& fc : *classifications.mutable_classifications()) {
+    fc.set_site_match_type(
+        FilterClassification_SiteMatchType_MATCH_TYPE_UNKNOWN);
+  }
+  SetComponentFileContents(classifications.SerializeAsString());
+  loader()->ReadClassifications(test_file_contents());
+
+  EXPECT_THAT(
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(SourceKey(kSourceSite),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(Pair(
+                       "plzblock1",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey(kDestinationSite),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(Pair(
+                       "plzblock2",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
+
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsSourceMetric, 1);
+  ASSERT_EQ(
+      histogram_tester.GetTotalSum(kApplicableClassificationsSourceMetric), 1);
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsDestinationMetric,
+                                    1);
+  ASSERT_EQ(
+      histogram_tester.GetTotalSum(kApplicableClassificationsDestinationMetric),
+      1);
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsInvalidMetric, 0);
+};
+
 TEST_F(UrlParamClassificationsLoaderTest, ReadClassifications_OnlySources) {
   base::HistogramTester histogram_tester;
   FilterClassifications classifications = MakeClassificationsProtoFromMap(
@@ -120,21 +252,56 @@
   loader()->ReadClassifications(test_file_contents());
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("source1.xyz",
+          Pair(SourceKey("source1.xyz"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock1",
                        ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
-          Pair("source2.xyz",
+          Pair(SourceKey("source2.xyz"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock2",
                        ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsSourceMetric, 1);
+  ASSERT_EQ(
+      histogram_tester.GetTotalSum(kApplicableClassificationsSourceMetric), 2);
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsDestinationMetric,
+                                    1);
+  ASSERT_EQ(
+      histogram_tester.GetTotalSum(kApplicableClassificationsDestinationMetric),
+      0);
+  histogram_tester.ExpectTotalCount(kApplicableClassificationsInvalidMetric, 0);
+}
+
+TEST_F(UrlParamClassificationsLoaderTest,
+       ReadClassifications_OnlySourceWildcards) {
+  base::HistogramTester histogram_tester;
+  FilterClassifications classifications = MakeClassificationsProtoFromMap(
+      {{SourceWildcardKey("wildcard1"), {"plzblock1"}},
+       {SourceWildcardKey("wildcard2"), {"plzblock2"}}});
+  SetComponentFileContents(classifications.SerializeAsString());
+  loader()->ReadClassifications(test_file_contents());
+
+  EXPECT_THAT(
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(SourceWildcardKey("wildcard1"),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(Pair(
+                       "plzblock1",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(SourceWildcardKey("wildcard2"),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(Pair(
+                       "plzblock2",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
 
   histogram_tester.ExpectTotalCount(kApplicableClassificationsSourceMetric, 1);
   ASSERT_EQ(
@@ -157,17 +324,16 @@
   SetComponentFileContents(classifications.SerializeAsString());
   loader()->ReadClassifications(test_file_contents());
 
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
   EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("destination1.xyz",
+          Pair(DestinationKey("destination1.xyz"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock1",
                        ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
-          Pair("destination2.xyz",
+          Pair(DestinationKey("destination2.xyz"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
@@ -185,36 +351,41 @@
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
-       ReadClassifications_SourcesAndDestinations) {
+       ReadClassifications_SourcesAndDestinationsAndWildcards) {
   base::HistogramTester histogram_tester;
   FilterClassifications classifications = MakeClassificationsProtoFromMap(
-      {{"source1.xyz", {"plzblock1"}}}, {{"destination2.xyz", {"plzblock2"}}});
+      {{SourceKey("source1.xyz"), {"plzblock1"}},
+       {DestinationKey("destination2.xyz"), {"plzblock2"}},
+       {SourceWildcardKey("wildcard"), {"plzblock3"}}});
 
   SetComponentFileContents(classifications.SerializeAsString());
   loader()->ReadClassifications(test_file_contents());
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("source1.xyz",
+          Pair(SourceKey("source1.xyz"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(
-          Pair("destination2.xyz",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey("destination2.xyz"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "plzblock2",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(SourceWildcardKey("wildcard"),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(Pair(
+                       "plzblock3",
                        ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
 
   histogram_tester.ExpectTotalCount(kApplicableClassificationsSourceMetric, 1);
   ASSERT_EQ(
-      histogram_tester.GetTotalSum(kApplicableClassificationsSourceMetric), 1);
+      histogram_tester.GetTotalSum(kApplicableClassificationsSourceMetric), 2);
   histogram_tester.ExpectTotalCount(kApplicableClassificationsDestinationMetric,
                                     1);
   ASSERT_EQ(
@@ -225,26 +396,24 @@
 
 TEST_F(UrlParamClassificationsLoaderTest,
        ReadClassifications_NormalizeToLowercase) {
-  FilterClassifications classifications =
-      MakeClassificationsProtoFromMap({{"source1.xyz", {"UPPERCASE"}}},
-                                      {{"destination2.xyz", {"mixedCase123"}}});
+  FilterClassifications classifications = MakeClassificationsProtoFromMap({
+      {SourceKey("source1.xyz"), {"UPPERCASE"}},
+      {DestinationKey("destination2.xyz"), {"mixedCase123"}},
+  });
 
   SetComponentFileContents(classifications.SerializeAsString());
   loader()->ReadClassifications(test_file_contents());
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair("source1.xyz",
+          Pair(SourceKey("source1.xyz"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
                        "uppercase",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(
-          Pair("destination2.xyz",
+                       ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(DestinationKey("destination2.xyz"),
                UnorderedElementsAre(Pair(
                    FilterClassification::USE_CASE_UNKNOWN,
                    UnorderedElementsAre(Pair(
@@ -269,23 +438,27 @@
       {{kSourceSite, {"plzblock1", "plzblock2"}}},
       {{kDestinationSite, {"plzblock3", "plzblock4"}}});
   FilterClassification destination_experiment_classification =
-      MakeFilterClassification(kDestinationSite,
-                               FilterClassification_SiteRole_DESTINATION,
-                               {"plzblock5"}, {}, experiment_identifier);
+      MakeFilterClassification(
+          kDestinationSite, FilterClassification_SiteRole_DESTINATION,
+          FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE, {"plzblock5"},
+          {}, experiment_identifier);
   FilterClassification source_experiment_classification =
-      MakeFilterClassification(kSourceSite,
-                               FilterClassification_SiteRole_SOURCE,
-                               {"plzblock7"}, {}, experiment_identifier);
+      MakeFilterClassification(
+          kSourceSite, FilterClassification_SiteRole_SOURCE,
+          FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE, {"plzblock7"},
+          {}, experiment_identifier);
   // These do not match our experiment identifier, so they should not appear in
   // the result.
   FilterClassification inapplicable_destination_experiment_classification =
-      MakeFilterClassification(kDestinationSite,
-                               FilterClassification_SiteRole_DESTINATION,
-                               {"plzblock6"}, {}, "not_our_experiment");
+      MakeFilterClassification(
+          kDestinationSite, FilterClassification_SiteRole_DESTINATION,
+          FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE, {"plzblock6"},
+          {}, "not_our_experiment");
   FilterClassification inapplicable_source_experiment_classification =
-      MakeFilterClassification(kSourceSite,
-                               FilterClassification_SiteRole_SOURCE,
-                               {"plzblock8"}, {}, "not_our_experiment");
+      MakeFilterClassification(
+          kSourceSite, FilterClassification_SiteRole_SOURCE,
+          FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE, {"plzblock8"},
+          {}, "not_our_experiment");
   *classifications.add_classifications() =
       std::move(destination_experiment_classification);
   *classifications.add_classifications() =
@@ -299,22 +472,21 @@
   SetComponentFileContents(classifications.SerializeAsString());
   loader()->ReadClassifications(test_file_contents());
 
-  EXPECT_THAT(loader()->GetDestinationClassifications(),
-              UnorderedElementsAre(Pair(
-                  Eq(kDestinationSite),
-                  UnorderedElementsAre(Pair(
-                      FilterClassification::USE_CASE_UNKNOWN,
-                      UnorderedElementsAre(Pair(
-                          "plzblock5",
-                          ClassificationExperimentStatus::EXPERIMENTAL)))))));
-  EXPECT_THAT(loader()->GetSourceClassifications(),
-              UnorderedElementsAre(Pair(
-                  Eq(kSourceSite),
-                  UnorderedElementsAre(Pair(
-                      FilterClassification::USE_CASE_UNKNOWN,
-                      UnorderedElementsAre(Pair(
-                          "plzblock7",
-                          ClassificationExperimentStatus::EXPERIMENTAL)))))));
+  EXPECT_THAT(
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(Eq(DestinationKey(kDestinationSite)),
+               UnorderedElementsAre(
+                   Pair(FilterClassification::USE_CASE_UNKNOWN,
+                        UnorderedElementsAre(Pair(
+                            "plzblock5",
+                            ClassificationExperimentStatus::EXPERIMENTAL))))),
+          Pair(Eq(SourceKey(kSourceSite)),
+               UnorderedElementsAre(
+                   Pair(FilterClassification::USE_CASE_UNKNOWN,
+                        UnorderedElementsAre(Pair(
+                            "plzblock7",
+                            ClassificationExperimentStatus::EXPERIMENTAL)))))));
 
   // Although there are 6 total classifications, only one source and one
   // destination classification is applicable due to the experiment override.
@@ -329,42 +501,16 @@
   histogram_tester.ExpectTotalCount(kApplicableClassificationsInvalidMetric, 0);
 }
 
-TEST_F(UrlParamClassificationsLoaderTest,
-       GetSourceClassifications_NoSourceClassificationsProvided) {
-  // Create proto with only Destination classifications.
-  FilterClassifications classifications = MakeClassificationsProtoFromMap(
-      {}, {{kDestinationSite, {"plzblock3", "plzblock4"}}});
-
-  // Provide classifications from the Component.
-  SetComponentFileContents(classifications.SerializeAsString());
-  loader()->ReadClassifications(test_file_contents());
-
-  // No source classifications were loaded.
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-
-  // Provide classifications from the feature.
-  std::map<std::string, std::vector<std::string>> source_params;
-  SetFeatureParams(
-      {{"classifications",
-        CreateBase64EncodedFilterParamClassificationForTesting(
-            source_params, {{kDestinationSite, {"plzblock3", "plzblock4"}}})}});
-
-  // No source classifications were loaded.
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
-}
-
-TEST_F(UrlParamClassificationsLoaderTest,
-       GetSourceClassifications_ComponentInvalid) {
+TEST_F(UrlParamClassificationsLoaderTest, GetClassifications_ComponentInvalid) {
   // Provide classifications from the Component.
   SetComponentFileContents("clearly not proto");
   loader()->ReadClassifications(test_file_contents());
 
   // Invalid classifications list result in an empty ClassificationMap.
-  EXPECT_THAT(loader()->GetSourceClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
-TEST_F(UrlParamClassificationsLoaderTest,
-       GetSourceClassifications_ComponentOnly) {
+TEST_F(UrlParamClassificationsLoaderTest, GetClassifications_ComponentOnly) {
   // Create proto with both Source + Destination Classifications
   FilterClassifications classifications = MakeClassificationsProtoFromMap(
       {{kSourceSite, {"plzblock1", "plzblock2"}}},
@@ -375,38 +521,58 @@
   loader()->ReadClassifications(test_file_contents());
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kSourceSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::USE_CASE_UNKNOWN,
-              UnorderedElementsAre(
-                  Pair("plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock2",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(
+              Eq(SourceKey(kSourceSite)),
+              UnorderedElementsAre(Pair(
+                  FilterClassification::USE_CASE_UNKNOWN,
+                  UnorderedElementsAre(
+                      Pair("plzblock1",
+                           ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                      Pair(
+                          "plzblock2",
+                          ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(Eq(DestinationKey(kDestinationSite)),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(
+                       Pair("plzblock3",
+                            ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                       Pair("plzblock4", ClassificationExperimentStatus::
+                                             NON_EXPERIMENTAL)))))));
 }
 
-TEST_F(UrlParamClassificationsLoaderTest,
-       GetSourceClassifications_FeatureOnly) {
+TEST_F(UrlParamClassificationsLoaderTest, GetClassifications_FeatureOnly) {
   // Provide classifications using the feature flag.
-  std::map<std::string, std::vector<std::string>> dest_params;
+  std::map<std::string, std::vector<std::string>> dest_params = {
+      {kDestinationSite, {"plzblock3", "plzblock4"}}};
   SetFeatureParams(
       {{"classifications",
         CreateBase64EncodedFilterParamClassificationForTesting(
             {{kSourceSite, {"plzblock1", "plzblock2"}}}, dest_params)}});
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kSourceSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::USE_CASE_UNKNOWN,
-              UnorderedElementsAre(
-                  Pair("plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock2",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(
+              Eq(SourceKey(kSourceSite)),
+              UnorderedElementsAre(Pair(
+                  FilterClassification::USE_CASE_UNKNOWN,
+                  UnorderedElementsAre(
+                      Pair("plzblock1",
+                           ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                      Pair(
+                          "plzblock2",
+                          ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(Eq(DestinationKey(kDestinationSite)),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(
+                       Pair("plzblock3",
+                            ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                       Pair("plzblock4", ClassificationExperimentStatus::
+                                             NON_EXPERIMENTAL)))))));
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
@@ -419,9 +585,9 @@
             {{kSourceSite, {"UPPERCASE", "mixedCase123"}}}, dest_params)}});
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(Pair(
-          Eq(kSourceSite),
+          Eq(SourceKey(kSourceSite)),
           UnorderedElementsAre(Pair(
               FilterClassification::USE_CASE_UNKNOWN,
               UnorderedElementsAre(
@@ -432,7 +598,7 @@
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
-       GetSourceClassifications_ComponentThenFeature) {
+       GetClassifications_ComponentThenFeature) {
   // Create proto with both Source + Destination Classifications
   FilterClassifications classifications = MakeClassificationsProtoFromMap(
       {{kSourceSite, {"plzblock1", "plzblock2"}}},
@@ -450,9 +616,9 @@
             {{kSourceSite, {"plzblockA", "plzblockB"}}}, dest_params)}});
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(Pair(
-          Eq(kSourceSite),
+          Eq(SourceKey(kSourceSite)),
           UnorderedElementsAre(Pair(
               FilterClassification::USE_CASE_UNKNOWN,
               UnorderedElementsAre(
@@ -463,7 +629,7 @@
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
-       GetSourceClassifications_FeatureThenComponent) {
+       GetClassifications_FeatureThenComponent) {
   // Create proto with both Source + Destination Classifications
   FilterClassifications classifications = MakeClassificationsProtoFromMap(
       {{kSourceSite, {"plzblock1", "plzblock2"}}},
@@ -481,9 +647,9 @@
   loader()->ReadClassifications(test_file_contents());
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(Pair(
-          Eq(kSourceSite),
+          Eq(SourceKey(kSourceSite)),
           UnorderedElementsAre(Pair(
               FilterClassification::USE_CASE_UNKNOWN,
               UnorderedElementsAre(
@@ -494,7 +660,7 @@
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
-       GetSourceClassifications_ComponentAndFeatureWithoutParams) {
+       GetClassifications_ComponentAndFeatureWithoutParams) {
   // Create proto with both Source + Destination Classifications
   FilterClassifications classifications = MakeClassificationsProtoFromMap(
       {{kSourceSite, {"plzblock1", "plzblock2"}}},
@@ -510,20 +676,30 @@
   // Expect that Component classifications are returned since no feature
   // classifications were provided.
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kSourceSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::USE_CASE_UNKNOWN,
-              UnorderedElementsAre(
-                  Pair("plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock2",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(
+              Eq(SourceKey(kSourceSite)),
+              UnorderedElementsAre(Pair(
+                  FilterClassification::USE_CASE_UNKNOWN,
+                  UnorderedElementsAre(
+                      Pair("plzblock1",
+                           ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                      Pair(
+                          "plzblock2",
+                          ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(Eq(DestinationKey(kDestinationSite)),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(
+                       Pair("plzblock3",
+                            ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                       Pair("plzblock4", ClassificationExperimentStatus::
+                                             NON_EXPERIMENTAL)))))));
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
-       GetSourceClassifications_ComponentAndFeatureWithShouldFilterParamOnly) {
+       GetClassifications_ComponentAndFeatureWithShouldFilterParamOnly) {
   // Create proto with both Source + Destination Classifications
   FilterClassifications classifications = MakeClassificationsProtoFromMap(
       {{kSourceSite, {"plzblock1", "plzblock2"}}},
@@ -539,40 +715,26 @@
   // Expect that Component classifications are returned since no feature
   // classifications were provided.
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kSourceSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::USE_CASE_UNKNOWN,
-              UnorderedElementsAre(
-                  Pair("plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock2",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-}
-
-TEST_F(UrlParamClassificationsLoaderTest,
-       GetDestinationClassifications_NoDestinationClassificationsProvided) {
-  // Create proto with only Source classifications.
-  FilterClassifications classifications = MakeClassificationsProtoFromMap(
-      {{kSourceSite, {"plzblock1", "plzblock2"}}}, {});
-
-  // Provide classifications from the Component.
-  SetComponentFileContents(classifications.SerializeAsString());
-  loader()->ReadClassifications(test_file_contents());
-
-  // No destination classifications were loaded.
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
-
-  // Provide classifications from the feature.
-  std::map<std::string, std::vector<std::string>> destination_params;
-  SetFeatureParams(
-      {{"classifications",
-        CreateBase64EncodedFilterParamClassificationForTesting(
-            {{kSourceSite, {"plzblock1", "plzblock2"}}}, destination_params)}});
-
-  // No destination classifications were loaded.
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(
+              Eq(SourceKey(kSourceSite)),
+              UnorderedElementsAre(Pair(
+                  FilterClassification::USE_CASE_UNKNOWN,
+                  UnorderedElementsAre(
+                      Pair("plzblock1",
+                           ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                      Pair(
+                          "plzblock2",
+                          ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(Eq(DestinationKey(kDestinationSite)),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::USE_CASE_UNKNOWN,
+                   UnorderedElementsAre(
+                       Pair("plzblock3",
+                            ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                       Pair("plzblock4", ClassificationExperimentStatus::
+                                             NON_EXPERIMENTAL)))))));
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
@@ -582,35 +744,11 @@
   loader()->ReadClassifications(test_file_contents());
 
   // Invalid classifications list result in an empty ClassificationMap.
-  EXPECT_THAT(loader()->GetDestinationClassifications(), IsEmpty());
+  EXPECT_THAT(loader()->GetClassifications(), IsEmpty());
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
-       GetDestinationClassifications_ComponentOnly) {
-  // Create proto with both Source + Destination Classifications
-  FilterClassifications classifications = MakeClassificationsProtoFromMap(
-      {{kSourceSite, {"plzblock1", "plzblock2"}}},
-      {{kDestinationSite, {"plzblock3", "plzblock4"}}});
-
-  // Provide classifications from the Component.
-  SetComponentFileContents(classifications.SerializeAsString());
-  loader()->ReadClassifications(test_file_contents());
-
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kDestinationSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::USE_CASE_UNKNOWN,
-              UnorderedElementsAre(
-                  Pair("plzblock3",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock4",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-}
-
-TEST_F(UrlParamClassificationsLoaderTest,
-       GetDestinationClassifications_ComponentOnlyWithUseCases) {
+       GetClassifications_ComponentOnlyWithUseCases) {
   // Create proto with both Source + Destination Classifications
   FilterClassifications classifications =
       MakeClassificationsProtoFromMapWithUseCases(
@@ -625,53 +763,30 @@
   loader()->ReadClassifications(test_file_contents());
 
   EXPECT_THAT(
-      loader()->GetSourceClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kSourceSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::CROSS_SITE_NO_3PC,
-              UnorderedElementsAre(
-                  Pair("plzblock1",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock2",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kDestinationSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::CROSS_OTR,
-              UnorderedElementsAre(
-                  Pair("plzblock3",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock4",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
+      loader()->GetClassifications(),
+      UnorderedElementsAre(
+          Pair(
+              Eq(SourceKey(kSourceSite)),
+              UnorderedElementsAre(Pair(
+                  FilterClassification::CROSS_SITE_NO_3PC,
+                  UnorderedElementsAre(
+                      Pair("plzblock1",
+                           ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                      Pair(
+                          "plzblock2",
+                          ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(Eq(DestinationKey(kDestinationSite)),
+               UnorderedElementsAre(Pair(
+                   FilterClassification::CROSS_OTR,
+                   UnorderedElementsAre(
+                       Pair("plzblock3",
+                            ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                       Pair("plzblock4", ClassificationExperimentStatus::
+                                             NON_EXPERIMENTAL)))))));
 }
 
 TEST_F(UrlParamClassificationsLoaderTest,
-       GetDestinationClassifications_FeatureOnly) {
-  // Provide classifications using the feature flag.
-  std::map<std::string, std::vector<std::string>> source_params;
-  SetFeatureParams(
-      {{"classifications",
-        CreateBase64EncodedFilterParamClassificationForTesting(
-            source_params, {{kDestinationSite, {"plzblock3", "plzblock4"}}})}});
-
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kDestinationSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::USE_CASE_UNKNOWN,
-              UnorderedElementsAre(
-                  Pair("plzblock3",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock4",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-}
-
-TEST_F(UrlParamClassificationsLoaderTest,
-       GetDestinationClassifications_FeatureOnlyWithUseCases) {
+       GetClassifications_FeatureOnlyWithUseCases) {
   // Provide classifications using the feature flag.
   SetFeatureParams(
       {{"classifications",
@@ -683,20 +798,19 @@
                 {"plzblock3", "plzblock4"}}}}})}});
 
   EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kDestinationSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::CROSS_OTR,
-              UnorderedElementsAre(
-                  Pair("plzblock3",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock4",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-  EXPECT_THAT(
-      loader()->GetSourceClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(
-          Pair(Eq(kSourceSite),
+          Pair(
+              Eq(DestinationKey(kDestinationSite)),
+              UnorderedElementsAre(Pair(
+                  FilterClassification::CROSS_OTR,
+                  UnorderedElementsAre(
+                      Pair("plzblock3",
+                           ClassificationExperimentStatus::NON_EXPERIMENTAL),
+                      Pair(
+                          "plzblock4",
+                          ClassificationExperimentStatus::NON_EXPERIMENTAL))))),
+          Pair(Eq(SourceKey(kSourceSite)),
                UnorderedElementsAre(Pair(
                    FilterClassification::CROSS_SITE_NO_3PC,
                    UnorderedElementsAre(Pair(
@@ -723,9 +837,9 @@
             source_params, {{kDestinationSite, {"plzblockA", "plzblockB"}}})}});
 
   EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(Pair(
-          Eq(kDestinationSite),
+          Eq(DestinationKey(kDestinationSite)),
           UnorderedElementsAre(Pair(
               FilterClassification::USE_CASE_UNKNOWN,
               UnorderedElementsAre(
@@ -754,9 +868,9 @@
   loader()->ReadClassifications(test_file_contents());
 
   EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
+      loader()->GetClassifications(),
       UnorderedElementsAre(Pair(
-          Eq(kDestinationSite),
+          Eq(DestinationKey(kDestinationSite)),
           UnorderedElementsAre(Pair(
               FilterClassification::USE_CASE_UNKNOWN,
               UnorderedElementsAre(
@@ -766,64 +880,5 @@
                        ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
 }
 
-TEST_F(UrlParamClassificationsLoaderTest,
-       GetDestinationClassifications_ComponentAndFeatureWithoutParams) {
-  // Create proto with both Source + Destination Classifications
-  FilterClassifications classifications = MakeClassificationsProtoFromMap(
-      {{kSourceSite, {"plzblock1", "plzblock2"}}},
-      {{kDestinationSite, {"plzblock3", "plzblock4"}}});
-
-  // Don't provide classifications using the feature flag.
-  SetFeatureParams({{}});
-
-  // Provide classifications from the Component.
-  SetComponentFileContents(classifications.SerializeAsString());
-  loader()->ReadClassifications(test_file_contents());
-
-  // Expect that Component classifications are returned since no feature
-  // classifications were provided.
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kDestinationSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::USE_CASE_UNKNOWN,
-              UnorderedElementsAre(
-                  Pair("plzblock3",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock4",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-}
-
-TEST_F(
-    UrlParamClassificationsLoaderTest,
-    GetDestinationClassifications_ComponentAndFeatureWithShouldFilterParamOnly) {
-  // Create proto with both Source + Destination Classifications
-  FilterClassifications classifications = MakeClassificationsProtoFromMap(
-      {{kSourceSite, {"plzblock1", "plzblock2"}}},
-      {{kDestinationSite, {"plzblock3", "plzblock4"}}});
-
-  // Don't provide classifications using the feature flag.
-  SetFeatureParams({{"should_filter", "true"}});
-
-  // Provide classifications from the Component.
-  SetComponentFileContents(classifications.SerializeAsString());
-  loader()->ReadClassifications(test_file_contents());
-
-  // Expect that Component classifications are returned since no feature
-  // classifications were provided.
-  EXPECT_THAT(
-      loader()->GetDestinationClassifications(),
-      UnorderedElementsAre(Pair(
-          Eq(kDestinationSite),
-          UnorderedElementsAre(Pair(
-              FilterClassification::USE_CASE_UNKNOWN,
-              UnorderedElementsAre(
-                  Pair("plzblock3",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL),
-                  Pair("plzblock4",
-                       ClassificationExperimentStatus::NON_EXPERIMENTAL)))))));
-}
-
 }  // namespace
 }  // namespace url_param_filter
diff --git a/components/url_param_filter/core/url_param_filter_classification.proto b/components/url_param_filter/core/url_param_filter_classification.proto
index e931663..08274af 100644
--- a/components/url_param_filter/core/url_param_filter_classification.proto
+++ b/components/url_param_filter/core/url_param_filter_classification.proto
@@ -23,8 +23,16 @@
     CROSS_OTR = 1;
     CROSS_SITE_NO_3PC = 2;
   }
+  enum SiteMatchType {
+    MATCH_TYPE_UNKNOWN =
+        0;  // Current behavior: default to EXACT_ETLD_PLUS_ONE.
+    EXACT_ETLD_PLUS_ONE = 1;  // Exact match on eTLD+1.
+    ETLD_WILDCARD = 2;        // Match on any eTLD, e.g. if site is "foo", match
+                              // "foo.com" and "foo.io".
+  }
   optional string site = 1;         // eTLD+1, required
   optional SiteRole site_role = 2;  // required
+  optional SiteMatchType site_match_type = 6;
   repeated FilterParameter parameters = 3;
   repeated UseCase use_cases = 4 [packed = true];
   repeated string experiment_tags = 5;
diff --git a/components/url_param_filter/core/url_param_filter_test_helper.cc b/components/url_param_filter/core/url_param_filter_test_helper.cc
index fa17d43..07640ee 100644
--- a/components/url_param_filter/core/url_param_filter_test_helper.cc
+++ b/components/url_param_filter/core/url_param_filter_test_helper.cc
@@ -38,7 +38,7 @@
   for (auto i : source) {
     for (auto j : i.second) {
       for (auto k : j.second) {
-        result[i.first][j.first][k] =
+        result[{.site_role = role, .site = i.first}][j.first][k] =
             ClassificationExperimentStatus::NON_EXPERIMENTAL;
       }
     }
@@ -46,11 +46,16 @@
   return result;
 }
 
-ClassificationMap CreateClassificationMapForTesting(
-    const std::map<std::string, std::vector<std::string>>& source,
-    url_param_filter::FilterClassification_SiteRole role) {
-  return CreateClassificationMapForTesting(ConvertToDefaultUseCases(source),
-                                           role);
+url_param_filter::ClassificationMap CreateClassificationMapForTesting(
+    const std::map<ClassificationMapKey, std::vector<std::string>>& source) {
+  url_param_filter::ClassificationMap result;
+  for (const auto& [key, params] : source) {
+    for (const auto& param : params) {
+      result[key][FilterClassification::USE_CASE_UNKNOWN][param] =
+          ClassificationExperimentStatus::NON_EXPERIMENTAL;
+    }
+  }
+  return result;
 }
 
 std::string CreateSerializedUrlParamFilterClassificationForTesting(
@@ -62,12 +67,12 @@
                             std::vector<std::string>>>& destination_params,
     const std::vector<std::string>& experiment_tags) {
   url_param_filter::FilterClassifications classifications;
-  for (auto i : CreateClassificationMapForTesting(
+  for (auto [key, inner_map] : CreateClassificationMapForTesting(
            source_params, url_param_filter::FilterClassification_SiteRole::
                               FilterClassification_SiteRole_SOURCE)) {
-    for (auto j : i.second) {
+    for (auto j : inner_map) {
       url_param_filter::FilterClassification classification;
-      classification.set_site(i.first);
+      classification.set_site(key.site);
       for (auto i : experiment_tags) {
         classification.add_experiment_tags(i);
       }
@@ -84,12 +89,12 @@
       *classifications.add_classifications() = std::move(classification);
     }
   }
-  for (auto i : CreateClassificationMapForTesting(
+  for (auto [key, inner_map] : CreateClassificationMapForTesting(
            destination_params, url_param_filter::FilterClassification_SiteRole::
                                    FilterClassification_SiteRole_DESTINATION)) {
-    for (auto j : i.second) {
+    for (auto j : inner_map) {
       url_param_filter::FilterClassification classification;
-      classification.set_site(i.first);
+      classification.set_site(key.site);
       for (auto i : experiment_tags) {
         classification.add_experiment_tags(i);
       }
@@ -159,34 +164,52 @@
   for (const auto& [site, param_map] : source_map) {
     for (const auto& [use_case, params] : param_map) {
       AddClassification(classifications.add_classifications(), site,
-                        FilterClassification_SiteRole_SOURCE, params,
-                        {use_case}, {DEFAULT_TAG});
+                        FilterClassification_SiteRole_SOURCE,
+                        FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
+                        params, {use_case}, {DEFAULT_TAG});
     }
   }
   for (const auto& [site, param_map] : dest_map) {
     for (const auto& [use_case, params] : param_map) {
       AddClassification(classifications.add_classifications(), site,
-                        FilterClassification_SiteRole_DESTINATION, params,
-                        {use_case}, {DEFAULT_TAG});
+                        FilterClassification_SiteRole_DESTINATION,
+                        FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
+                        params, {use_case}, {DEFAULT_TAG});
     }
   }
   return classifications;
 }
 
 FilterClassifications MakeClassificationsProtoFromMap(
+    const std::map<ClassificationMapKey, std::vector<std::string>>& map) {
+  url_param_filter::FilterClassifications classifications;
+  for (const auto& [key, params] : map) {
+    AddClassification(classifications.add_classifications(), key.site,
+                      key.site_role, key.site_match_type, params,
+                      {
+                          FilterClassification::USE_CASE_UNKNOWN,
+                      },
+                      {DEFAULT_TAG});
+  }
+  return classifications;
+}
+
+FilterClassifications MakeClassificationsProtoFromMap(
     const std::map<std::string, std::vector<std::string>>& source_map,
     const std::map<std::string, std::vector<std::string>>& dest_map) {
   url_param_filter::FilterClassifications classifications;
   std::vector<FilterClassification::UseCase> use_cases;
   for (const auto& [site, params] : source_map) {
     AddClassification(classifications.add_classifications(), site,
-                      FilterClassification_SiteRole_SOURCE, params, use_cases,
-                      {});
+                      FilterClassification_SiteRole_SOURCE,
+                      FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
+                      params, use_cases, {});
   }
   for (const auto& [site, params] : dest_map) {
     AddClassification(classifications.add_classifications(), site,
-                      FilterClassification_SiteRole_DESTINATION, params,
-                      use_cases, {});
+                      FilterClassification_SiteRole_DESTINATION,
+                      FilterClassification_SiteMatchType_EXACT_ETLD_PLUS_ONE,
+                      params, use_cases, {});
   }
   return classifications;
 }
@@ -194,26 +217,31 @@
 FilterClassification MakeFilterClassification(
     const std::string& site,
     FilterClassification_SiteRole role,
+    FilterClassification_SiteMatchType site_match_type,
     const std::vector<std::string>& params) {
-  return MakeFilterClassification(site, role, params, {}, DEFAULT_TAG);
+  return MakeFilterClassification(site, role, site_match_type, params, {},
+                                  DEFAULT_TAG);
 }
 
 FilterClassification MakeFilterClassification(
     const std::string& site,
     FilterClassification_SiteRole role,
+    FilterClassification_SiteMatchType site_match_type,
     const std::vector<std::string>& params,
     const std::vector<FilterClassification::UseCase>& use_cases) {
-  return MakeFilterClassification(site, role, params, use_cases, DEFAULT_TAG);
+  return MakeFilterClassification(site, role, site_match_type, params,
+                                  use_cases, DEFAULT_TAG);
 }
 
 FilterClassification MakeFilterClassification(
     const std::string& site,
     FilterClassification_SiteRole role,
+    FilterClassification_SiteMatchType site_match_type,
     const std::vector<std::string>& params,
     const std::vector<FilterClassification::UseCase>& use_cases,
     const std::string& experiment_identifier) {
   FilterClassification fc;
-  AddClassification(&fc, site, role, params, use_cases,
+  AddClassification(&fc, site, role, site_match_type, params, use_cases,
                     {experiment_identifier});
   return fc;
 }
@@ -222,11 +250,13 @@
     FilterClassification* classification,
     const std::string& site,
     FilterClassification_SiteRole role,
+    FilterClassification_SiteMatchType site_match_type,
     const std::vector<std::string>& params,
     const std::vector<FilterClassification::UseCase>& use_cases,
     const std::vector<std::string>& experiment_tags) {
   classification->set_site(site);
   classification->set_site_role(role);
+  classification->set_site_match_type(site_match_type);
   // The proto distinguishes between empty and not set; for the purposes of this
   // test helper, we avoid empty being considered an experiment.
   if (!experiment_tags.empty()) {
diff --git a/components/url_param_filter/core/url_param_filter_test_helper.h b/components/url_param_filter/core/url_param_filter_test_helper.h
index 97bc294..32d88f9 100644
--- a/components/url_param_filter/core/url_param_filter_test_helper.h
+++ b/components/url_param_filter/core/url_param_filter_test_helper.h
@@ -5,6 +5,7 @@
 #ifndef COMPONENTS_URL_PARAM_FILTER_CORE_URL_PARAM_FILTER_TEST_HELPER_H_
 #define COMPONENTS_URL_PARAM_FILTER_CORE_URL_PARAM_FILTER_TEST_HELPER_H_
 
+#include "components/url_param_filter/core/url_param_classifications_loader.h"
 #include "components/url_param_filter/core/url_param_filterer.h"
 
 #include "testing/gmock/include/gmock/gmock.h"
@@ -18,8 +19,8 @@
 }
 
 // A helper to easily create URL param filter classification maps based
-// on the passed-in source. `source` should map an eTLD+1 to a vector
-// of params for the given role. For example, for eTLD+1 source.xyz, when
+// on the passed-in source. `source` should map an eTLD+1 or wildcard to a
+// vector of params for the given role. For example, for eTLD+1 source.xyz, when
 // observed as the source (aka referer) of a navigation, block params
 // "plzblock" and "plzblock1".
 url_param_filter::ClassificationMap CreateClassificationMapForTesting(
@@ -34,6 +35,13 @@
     const std::map<std::string, std::vector<std::string>>& source,
     url_param_filter::FilterClassification_SiteRole role);
 
+// A helper to easily create URL param filter classification maps based
+// on the passed-in source. `source` should map a ClassificationMapKey to a
+// vector of params. Gives all parameters the default (unknown) use case and the
+// NON_EXPERIMENTAL tag.
+url_param_filter::ClassificationMap CreateClassificationMapForTesting(
+    const std::map<ClassificationMapKey, std::vector<std::string>>& source);
+
 // Creates and serializes the URL param filter classifications proto.
 // Used for simulating reading the classifications file from Component Updater.
 std::string CreateSerializedUrlParamFilterClassificationForTesting(
@@ -71,6 +79,7 @@
 // Make a FilterClassifications proto using two maps, for source and destination
 // classifications. Each map takes the form "site"->["p1", "p2", ...] where
 // each "pi" in the list is a param that should be filtered from that site.
+// Defaults match type to EXACT_ETLD_PLUS_ONE for each created classification.
 FilterClassifications MakeClassificationsProtoFromMapWithUseCases(
     const std::map<std::string,
                    std::map<FilterClassification::UseCase,
@@ -79,16 +88,24 @@
                    std::map<FilterClassification::UseCase,
                             std::vector<std::string>>>& dest_map);
 
+// Make a FilterClassifications proto using a map of all classifications.
+// Each map takes the form ClassificationMapKey->["p1", "p2", ...] where
+// each "pi" in the list is a param that should be filtered from that site.
+FilterClassifications MakeClassificationsProtoFromMap(
+    const std::map<ClassificationMapKey, std::vector<std::string>>& map);
+
 // Equivalent to the other overload, but uses empty use case lists for all
-// parameters.
+// parameters.  Defaults site_match_type to EXACT_ETLD_PLUS_ONE.
 FilterClassifications MakeClassificationsProtoFromMap(
     const std::map<std::string, std::vector<std::string>>& source_map,
     const std::map<std::string, std::vector<std::string>>& dest_map);
 
-// Make a FilterClassification proto provided a site, role, and list of params.
+// Make a FilterClassification proto provided a site, role, match type, and list
+// of params.
 FilterClassification MakeFilterClassification(
     const std::string& site,
     FilterClassification_SiteRole role,
+    FilterClassification_SiteMatchType site_match_type,
     const std::vector<std::string>& params,
     const std::vector<FilterClassification::UseCase>& use_cases);
 
@@ -96,13 +113,15 @@
 FilterClassification MakeFilterClassification(
     const std::string& site,
     FilterClassification_SiteRole role,
+    FilterClassification_SiteMatchType site_match_type,
     const std::vector<std::string>& params);
 
-// Make a FilterClassification proto provided a site, role, experiment override,
-// and list of params.
+// Make a FilterClassification proto provided a site, role, match type,
+// experiment override, and list of params.
 FilterClassification MakeFilterClassification(
     const std::string& site,
     FilterClassification_SiteRole role,
+    FilterClassification_SiteMatchType site_match_type,
     const std::vector<std::string>& params,
     const std::vector<FilterClassification::UseCase>& use_cases,
     const std::string& experiment_identifier);
@@ -112,6 +131,7 @@
     FilterClassification* classification,
     const std::string& site,
     FilterClassification_SiteRole role,
+    FilterClassification_SiteMatchType site_match_type,
     const std::vector<std::string>& params,
     const std::vector<FilterClassification::UseCase>& use_cases,
     const std::vector<std::string>& experiment_tags);
diff --git a/components/url_param_filter/core/url_param_filterer.cc b/components/url_param_filter/core/url_param_filterer.cc
index 3bc4ee8..a80b9b3 100644
--- a/components/url_param_filter/core/url_param_filterer.cc
+++ b/components/url_param_filter/core/url_param_filterer.cc
@@ -18,10 +18,37 @@
 #include "components/url_param_filter/core/url_param_filter_classification.pb.h"
 #include "net/base/registry_controlled_domains/registry_controlled_domain.h"
 #include "net/base/url_util.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 #include "third_party/zlib/google/compression_utils.h"
 #include "url/gurl.h"
 
 namespace url_param_filter {
+
+namespace internal {
+
+absl::optional<std::string> GetLabelFromHostname(const GURL& gurl) {
+  if (gurl.HostIsIPAddress()) {
+    return absl::nullopt;
+  }
+  std::string etld_plus_one =
+      net::registry_controlled_domains::GetDomainAndRegistry(
+          gurl, net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
+  if (etld_plus_one.empty()) {
+    return absl::nullopt;
+  }
+  size_t etld_len = net::registry_controlled_domains::GetRegistryLength(
+      gurl, net::registry_controlled_domains::EXCLUDE_UNKNOWN_REGISTRIES,
+      net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
+
+  if (etld_len == 0 || etld_len == std::string::npos ||
+      etld_plus_one.size() - etld_len - 1 <= 0) {
+    return absl::nullopt;
+  }
+  return etld_plus_one.substr(0, etld_plus_one.size() - etld_len - 1);
+}
+
+}  // namespace internal
+
 namespace {
 
 // Get the ETLD+1 of the URL, which means any subdomain is treated equivalently.
@@ -35,12 +62,46 @@
       gurl, net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
 }
 
+std::map<std::string, ClassificationExperimentStatus> GetBlockedParameters(
+    const GURL& source_url,
+    const GURL& destination_url,
+    const ClassificationMap& classification_map,
+    const FilterClassification::UseCase use_case) {
+  std::string source_classified_site = GetClassifiedSite(source_url);
+  std::string destination_classified_site = GetClassifiedSite(destination_url);
+  absl::optional<std::string> source_label =
+      internal::GetLabelFromHostname(source_url);
+
+  std::map<std::string, ClassificationExperimentStatus> blocked_parameters;
+  std::vector<ClassificationMapKey> search_keys = {
+      {SourceKey(std::move(source_classified_site)),
+       DestinationKey(std::move(destination_classified_site))}};
+  if (source_label.has_value()) {
+    search_keys.push_back(SourceWildcardKey(std::move(source_label.value())));
+  }
+
+  // Check whether source site, as seen by the classifier (eTLD+1 or IP), has
+  // params classified as requiring filtering. If so, and the params are present
+  // on the destination URL, or any nested URLs, remove them.
+  for (const auto& key : search_keys) {
+    auto classification_result = classification_map.find(key);
+    if (classification_result != classification_map.end()) {
+      auto classification_with_use_case =
+          classification_result->second.find(use_case);
+      if (classification_with_use_case != classification_result->second.end()) {
+        blocked_parameters.insert(classification_with_use_case->second.begin(),
+                                  classification_with_use_case->second.end());
+      }
+    }
+  }
+  return blocked_parameters;
+}
+
 // Filter a given URL according to the passed-in classifications, optionally
 // checking any encoded, nested URLs.
 FilterResult FilterUrl(const GURL& source_url,
                        const GURL& destination_url,
-                       const ClassificationMap& source_classification_map,
-                       const ClassificationMap& destination_classification_map,
+                       const ClassificationMap& classification_map,
                        const bool check_nested,
                        const FilterClassification::UseCase use_case) {
   GURL result = GURL{destination_url};
@@ -54,38 +115,10 @@
                         experiment_status};
   }
 
-  std::string source_classified_site = GetClassifiedSite(source_url);
-  std::string destination_classified_site = GetClassifiedSite(destination_url);
+  std::map<std::string, ClassificationExperimentStatus> blocked_parameters =
+      GetBlockedParameters(source_url, destination_url, classification_map,
+                           use_case);
 
-  std::map<std::string, ClassificationExperimentStatus> blocked_parameters;
-  // Check whether source site, as seen by the classifier (eTLD+1 or IP), has
-  // params classified as requiring filtering. If so, and the params are present
-  // on the destination URL, or any nested URLs, remove them.
-  auto source_classification_result =
-      source_classification_map.find(source_classified_site);
-  if (source_classification_result != source_classification_map.end()) {
-    auto source_classification_with_use_case =
-        source_classification_result->second.find(use_case);
-    if (source_classification_with_use_case !=
-        source_classification_result->second.end()) {
-      blocked_parameters.insert(
-          source_classification_with_use_case->second.begin(),
-          source_classification_with_use_case->second.end());
-    }
-  }
-  auto destination_classification_result =
-      destination_classification_map.find(destination_classified_site);
-  if (destination_classification_result !=
-      destination_classification_map.end()) {
-    auto destination_classification_with_use_case =
-        destination_classification_result->second.find(use_case);
-    if (destination_classification_with_use_case !=
-        destination_classification_result->second.end()) {
-      blocked_parameters.insert(
-          destination_classification_with_use_case->second.begin(),
-          destination_classification_with_use_case->second.end());
-    }
-  }
   // Return quickly if there are no parameters we care about.
   if (blocked_parameters.size() == 0) {
     return FilterResult{destination_url, filtered_params_count,
@@ -103,9 +136,8 @@
       if (check_nested) {
         GURL nested = GURL{base::UnescapeBinaryURLComponent(value)};
         if (nested.is_valid()) {
-          FilterResult nested_result =
-              FilterUrl(destination_url, nested, source_classification_map,
-                        destination_classification_map, false, use_case);
+          FilterResult nested_result = FilterUrl(
+              destination_url, nested, classification_map, false, use_case);
           // If a nested URL contains a param we must filter, do so now.
           if (nested != nested_result.filtered_url) {
             value = base::EscapeQueryParamValue(
@@ -146,22 +178,19 @@
 
 FilterResult FilterUrl(const GURL& source_url,
                        const GURL& destination_url,
-                       const ClassificationMap& source_classification_map,
-                       const ClassificationMap& destination_classification_map,
+                       const ClassificationMap& classification_map,
                        const FilterClassification::UseCase use_case) {
-  return FilterUrl(source_url, destination_url, source_classification_map,
-                   destination_classification_map, true, use_case);
+  return FilterUrl(source_url, destination_url, classification_map, true,
+                   use_case);
 }
 
 FilterResult FilterUrl(const GURL& source_url, const GURL& destination_url) {
   if (!base::FeatureList::IsEnabled(features::kIncognitoParamFilterEnabled)) {
     return FilterResult{destination_url, 0};
   }
-  return FilterUrl(
-      source_url, destination_url,
-      ClassificationsLoader::GetInstance()->GetSourceClassifications(),
-      ClassificationsLoader::GetInstance()->GetDestinationClassifications(),
-      FilterClassification::USE_CASE_UNKNOWN);
+  return FilterUrl(source_url, destination_url,
+                   ClassificationsLoader::GetInstance()->GetClassifications(),
+                   FilterClassification::USE_CASE_UNKNOWN);
 }
 
 FilterResult FilterUrl(const GURL& source_url,
@@ -171,11 +200,9 @@
     return FilterResult{destination_url, 0,
                         ClassificationExperimentStatus::NON_EXPERIMENTAL};
   }
-  return FilterUrl(
-      source_url, destination_url,
-      ClassificationsLoader::GetInstance()->GetSourceClassifications(),
-      ClassificationsLoader::GetInstance()->GetDestinationClassifications(),
-      use_case);
+  return FilterUrl(source_url, destination_url,
+                   ClassificationsLoader::GetInstance()->GetClassifications(),
+                   use_case);
 }
 
 }  // namespace url_param_filter
diff --git a/components/url_param_filter/core/url_param_filterer.h b/components/url_param_filter/core/url_param_filterer.h
index 069a536..278d48e 100644
--- a/components/url_param_filter/core/url_param_filterer.h
+++ b/components/url_param_filter/core/url_param_filterer.h
@@ -14,6 +14,15 @@
 // string.
 namespace url_param_filter {
 
+namespace internal {
+
+// Given a URL, get the label just to the left of the site's eTLD (e.g.
+// subdomain.site.co.uk -> site).  Returns `absl::nullopt` for IP addresses,
+// URLs that do not have hostnames, and other parsing errors.
+absl::optional<std::string> GetLabelFromHostname(const GURL& gurl);
+
+}  // namespace internal
+
 // Represents the result of filtering; includes the resulting URL (which may be
 // unmodified), along with the count of params filtered.
 struct FilterResult {
@@ -28,8 +37,7 @@
 // Currently experimental; not intended for broad consumption.
 FilterResult FilterUrl(const GURL& source_url,
                        const GURL& destination_url,
-                       const ClassificationMap& source_classification_map,
-                       const ClassificationMap& destination_classification_map,
+                       const ClassificationMap& classifications,
                        const FilterClassification::UseCase use_case);
 
 // Filter the destination URL according to the default parameter classifications
diff --git a/components/url_param_filter/core/url_param_filterer_unittest.cc b/components/url_param_filter/core/url_param_filterer_unittest.cc
index 31e20f06..72f3b7d 100644
--- a/components/url_param_filter/core/url_param_filterer_unittest.cc
+++ b/components/url_param_filter/core/url_param_filterer_unittest.cc
@@ -13,6 +13,7 @@
 #include "components/url_param_filter/core/url_param_filter_classification.pb.h"
 #include "components/url_param_filter/core/url_param_filter_test_helper.h"
 #include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace url_param_filter {
 
@@ -22,9 +23,8 @@
   GURL source = GURL{"http://source.xyz"};
   GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
   // If no classifications are passed in, don't modify the destination URL.
-  FilterResult result =
-      FilterUrl(source, expected, ClassificationMap(), ClassificationMap(),
-                FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, expected, ClassificationMap(),
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 0);
   ASSERT_EQ(result.experimental_status,
@@ -34,20 +34,13 @@
 TEST_F(UrlParamFiltererTest, FilterUrlNoChanges) {
   GURL source = GURL{"http://source.xyz"};
   GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}}});
 
   // If classifications are passed in, but the destination URL doesn't contain
   // any blocked params, don't modify it.
-  FilterResult result = FilterUrl(source, expected, source_classification_map,
-                                  destination_classification_map,
+  FilterResult result = FilterUrl(source, expected, classification_map,
                                   FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 0);
@@ -58,17 +51,14 @@
 TEST_F(UrlParamFiltererTest, FilterUrlSourceBlocked) {
   GURL source = GURL{"https://source.xyz"};
   GURL destination = GURL{"https://destination.xyz?plzblock=123&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}}});
 
   // Navigations from source.xyz with a param called plzblock should have that
   // param removed, regardless of destination.
   GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
-  FilterResult result =
-      FilterUrl(source, destination, source_classification_map,
-                ClassificationMap(), FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 1);
   ASSERT_EQ(result.experimental_status,
@@ -78,17 +68,14 @@
 TEST_F(UrlParamFiltererTest, FilterUrlSourceBlockedNoValue) {
   GURL source = GURL{"https://source.xyz"};
   GURL destination = GURL{"https://destination.xyz?plzblock&nochange"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}}});
 
   // Navigations from source.xyz with a param called plzblock should have that
   // param removed, regardless of missing a value.
   GURL expected = GURL{"https://destination.xyz?nochange"};
-  FilterResult result =
-      FilterUrl(source, destination, source_classification_map,
-                ClassificationMap(), FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 1);
   ASSERT_EQ(result.experimental_status,
@@ -99,19 +86,14 @@
   GURL source = GURL{"https://source.xyz"};
   GURL destination =
       GURL{"https://destination.xyz?plzblock=123&plzblock1=321&nochange=asdf"};
-  std::map<std::string, std::vector<std::string>> classifications = {
-      {"source.xyz", {"plzblock", "plzblock1"}}};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          classifications,
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock", "plzblock1"}}});
 
   // Navigations from source.xyz with a param called plzblock or plzblock1
   // should have those params removed, regardless of destination.
   GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
-  FilterResult result =
-      FilterUrl(source, destination, source_classification_map,
-                ClassificationMap(), FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 2);
   ASSERT_EQ(result.experimental_status,
@@ -121,17 +103,13 @@
 TEST_F(UrlParamFiltererTest, FilterUrlDestinationBlocked) {
   GURL source = GURL{"https://source.xyz"};
   GURL destination = GURL{"https://destination.xyz?plzblock=123&nochange=asdf"};
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{DestinationKey("destination.xyz"), {"plzblock"}}});
 
   // Navigations to destination.xyz with a param called plzblock should have
   // that param removed, regardless of source.
   GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
-  FilterResult result = FilterUrl(source, destination, ClassificationMap(),
-                                  destination_classification_map,
+  FilterResult result = FilterUrl(source, destination, classification_map,
                                   FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 1);
@@ -143,18 +121,13 @@
   GURL source = GURL{"https://source.xyz"};
   GURL destination =
       GURL{"https://destination.xyz?plzblock=123&plzblock1=321&nochange=asdf"};
-  std::map<std::string, std::vector<std::string>> classifications = {
-      {"destination.xyz", {"plzblock", "plzblock1"}}};
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          classifications, FilterClassification_SiteRole::
-                               FilterClassification_SiteRole_DESTINATION);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{DestinationKey("destination.xyz"), {"plzblock", "plzblock1"}}});
 
   // Navigations to destination.xyz with a param called plzblock and/or
   // plzblock1 should have those param removed, regardless of source.
   GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
-  FilterResult result = FilterUrl(source, destination, ClassificationMap(),
-                                  destination_classification_map,
+  FilterResult result = FilterUrl(source, destination, classification_map,
                                   FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 2);
@@ -162,28 +135,93 @@
             ClassificationExperimentStatus::NON_EXPERIMENTAL);
 }
 
-TEST_F(UrlParamFiltererTest, FilterUrlSourceAndDestinationBlocked) {
+TEST_F(UrlParamFiltererTest, FilterUrlSourceWildcardBlocked) {
+  GURL source = GURL{"https://source.xyz"};
+  GURL destination = GURL{"https://destination.xyz?plzblock=123&nochange=asdf"};
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceWildcardKey("source"), {"plzblock"}}});
+  // Navigations from source.* with a param called plzblock should have
+  // that param removed, regardless of destination.
+  GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
+  ASSERT_EQ(result.filtered_url, expected);
+  ASSERT_EQ(result.filtered_param_count, 1);
+  ASSERT_EQ(result.experimental_status,
+            ClassificationExperimentStatus::NON_EXPERIMENTAL);
+}
+
+TEST_F(UrlParamFiltererTest, FilterUrlSourceWildcardeTLDHasTrailingDotBlock) {
+  // eTLD has a trailing dot, which is weird but legal.
+  GURL source = GURL{"https://source.xyz."};
+  GURL destination = GURL{"https://destination.xyz?plzblock=123&nochange=asdf"};
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceWildcardKey("source"), {"plzblock"}}});
+  // Navigations from source.* with a param called plzblock should have
+  // that param removed, regardless of destination.
+  GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
+  ASSERT_EQ(result.filtered_url, expected);
+  ASSERT_EQ(result.filtered_param_count, 1);
+  ASSERT_EQ(result.experimental_status,
+            ClassificationExperimentStatus::NON_EXPERIMENTAL);
+}
+
+TEST_F(UrlParamFiltererTest, FilterUrlSourceWildcardeTLDUnparsableNotBlocked) {
+  // eTLD has two trailing dots, which means we cannot parse it.
+  GURL source = GURL{"https://source.xyz.."};
+  GURL destination = GURL{"https://destination.xyz?plzblock=123&nochange=asdf"};
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceWildcardKey("source"), {"plzblock"}}});
+
+  // Since the eTLD is unparsable, we should leave the URL intact.
+  GURL expected = GURL{"https://destination.xyz?plzblock=123&nochange=asdf"};
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
+  ASSERT_EQ(result.filtered_url, expected);
+  ASSERT_EQ(result.filtered_param_count, 0);
+  ASSERT_EQ(result.experimental_status,
+            ClassificationExperimentStatus::NON_EXPERIMENTAL);
+}
+
+TEST_F(UrlParamFiltererTest, FilterUrlMultipleSourceWildcardBlocked) {
   GURL source = GURL{"https://source.xyz"};
   GURL destination =
       GURL{"https://destination.xyz?plzblock=123&plzblock1=321&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceWildcardKey("source"), {"plzblock", "plzblock1"}}});
+
+  // Navigations to destination.xyz with a param called plzblock and/or
+  // plzblock1 should have those param removed, regardless of source.
+  GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
+  ASSERT_EQ(result.filtered_url, expected);
+  ASSERT_EQ(result.filtered_param_count, 2);
+  ASSERT_EQ(result.experimental_status,
+            ClassificationExperimentStatus::NON_EXPERIMENTAL);
+}
+
+TEST_F(UrlParamFiltererTest,
+       FilterUrlSourceAndSourceWildcardAndDestinationBlocked) {
+  GURL source = GURL{"https://source.xyz"};
+  GURL destination = GURL{
+      "https://"
+      "destination.xyz?plzblock=123&plzblock1=321&plzblockwildcard=456&"
+      "nochange=asdf"};
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}},
+       {SourceWildcardKey("source"), {"plzblockwildcard"}}});
 
   // Both source and destination have associated URL param filtering rules. Only
   // nochange should remain.
   GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
-  ASSERT_EQ(result.filtered_param_count, 2);
+  ASSERT_EQ(result.filtered_param_count, 3);
   ASSERT_EQ(result.experimental_status,
             ClassificationExperimentStatus::NON_EXPERIMENTAL);
 }
@@ -192,22 +230,16 @@
   GURL source = GURL{"https://127.0.0.1"};
   GURL destination =
       GURL{"https://123.0.0.1?plzblock=123&plzblock1=321&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"127.0.0.1", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"123.0.0.1", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+  ClassificationMap classification_map = CreateClassificationMapForTesting({
+      {SourceKey("127.0.0.1"), {"plzblock"}},
+      {DestinationKey("123.0.0.1"), {"plzblock1"}},
+  });
 
   // Both source and destination have associated URL param filtering rules. Only
   // nochange should remain.
   GURL expected = GURL{"https://123.0.0.1?nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 2);
   ASSERT_EQ(result.experimental_status,
@@ -219,22 +251,15 @@
   GURL destination = GURL{
       "https://"
       "[2001:db8:ac10:fe01::]?plzblock=123&plzblock1=321&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"[::1]", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"[2001:db8:ac10:fe01::]", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
 
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("[::1]"), {"plzblock"}},
+       {DestinationKey("[2001:db8:ac10:fe01::]"), {"plzblock1"}}});
   // Both source and destination have associated URL param filtering rules. Only
   // nochange should remain.
   GURL expected = GURL{"https://[2001:db8:ac10:fe01::]?nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 2);
   ASSERT_EQ(result.experimental_status,
@@ -247,54 +272,84 @@
   GURL destination = GURL{
       "https://"
       "[2001:db8:ac10:fe01::]?plzblock=123&plzblock1=321&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"127.0.0.1", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"[2001:db8:ac10:fe01::]", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
 
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("127.0.0.1"), {"plzblock"}},
+       {DestinationKey("[2001:db8:ac10:fe01::]"), {"plzblock1"}}});
   // Both source and destination have associated URL param filtering rules. Only
   // nochange should remain.
   GURL expected = GURL{"https://[2001:db8:ac10:fe01::]?nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 2);
   ASSERT_EQ(result.experimental_status,
             ClassificationExperimentStatus::NON_EXPERIMENTAL);
 }
 
-TEST_F(UrlParamFiltererTest,
-       FilterUrlSourceAndDestinationBlockedCheckOrderingPreserved) {
+TEST_F(UrlParamFiltererTest, FilterUrlSourceWildcardIgnoredForIPv4Source) {
+  GURL source = GURL{"https://127.0.0.1"};
+  GURL destination =
+      GURL{"https://123.0.0.1?plzblock=123&plzblock1=321&nochange=asdf"};
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceWildcardKey("127.0.0.1"), {"plzblock", "plzblock1"}}});
+
+  // Even if we somehow have a classification map with an IP address wildcard
+  // rule, we should not filter based on that because it is not possible to get
+  // the eTLD + 1 of an IP address.
+  GURL expected =
+      GURL{"https://123.0.0.1?plzblock=123&plzblock1=321&nochange=asdf"};
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
+  ASSERT_EQ(result.filtered_url, expected);
+  ASSERT_EQ(result.filtered_param_count, 0);
+  ASSERT_EQ(result.experimental_status,
+            ClassificationExperimentStatus::NON_EXPERIMENTAL);
+}
+
+TEST_F(UrlParamFiltererTest, FilterUrlSourceWildcardIgnoredForIPv6Source) {
+  GURL source = GURL{"https://[::1]"};
+  GURL destination =
+      GURL{"https://123.0.0.1?plzblock=123&plzblock1=321&nochange=asdf"};
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceWildcardKey("[::1]"), {"plzblock", "plzblock1"}}});
+
+  // Even if we somehow have a classification map with an IP address wildcard
+  // rule, we should not filter based on that because it is not possible to get
+  // the eTLD + 1 of an IP address.
+  GURL expected =
+      GURL{"https://123.0.0.1?plzblock=123&plzblock1=321&nochange=asdf"};
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
+  ASSERT_EQ(result.filtered_url, expected);
+  ASSERT_EQ(result.filtered_param_count, 0);
+  ASSERT_EQ(result.experimental_status,
+            ClassificationExperimentStatus::NON_EXPERIMENTAL);
+}
+
+TEST_F(
+    UrlParamFiltererTest,
+    FilterUrlSourceAndSourceWildcardAndDestinationBlockedCheckOrderingPreserved) {
   GURL source = GURL{"https://source.xyz"};
   GURL destination = GURL{
       "https://"
-      "destination.xyz?plzblock=123&plzblock1=321&nochange=asdf&laternochange="
+      "destination.xyz?plzblock=123&plzblock1=321&nochange=asdf&"
+      "plzblockwildcard=456&laternochange="
       "fdsa"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}},
+       {SourceWildcardKey("source"), {"plzblockwildcard"}}});
 
   // Both source and destination have associated URL param filtering rules. Only
   // nochange should remain.
   GURL expected =
       GURL{"https://destination.xyz?nochange=asdf&laternochange=fdsa"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
-  ASSERT_EQ(result.filtered_param_count, 2);
+  ASSERT_EQ(result.filtered_param_count, 3);
   ASSERT_EQ(result.experimental_status,
             ClassificationExperimentStatus::NON_EXPERIMENTAL);
 }
@@ -303,48 +358,41 @@
   GURL source = GURL{"https://subdomain.source.xyz"};
   GURL destination = GURL{
       "https://"
-      "subdomain.destination.xyz?plzblock=123&plzblock1=321&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+      "subdomain.destination.xyz?plzblock=123&plzblock1=321&plzblockwildcard="
+      "678&nochange=asdf"};
+
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}},
+       {SourceWildcardKey("source"), {"plzblockwildcard"}}});
 
   GURL expected = GURL{"https://subdomain.destination.xyz?nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
-  ASSERT_EQ(result.filtered_param_count, 2);
+  ASSERT_EQ(result.filtered_param_count, 3);
   ASSERT_EQ(result.experimental_status,
             ClassificationExperimentStatus::NON_EXPERIMENTAL);
 }
 
 TEST_F(UrlParamFiltererTest, FilterUrlCaseIgnored) {
   GURL source = GURL{"https://source.xyz"};
-  GURL destination =
-      GURL{"https://destination.xyz?PlZbLoCk=123&PLZBLOCK1=321&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+  GURL destination = GURL{
+      "https://"
+      "destination.xyz?PlZbLoCk=123&PLZBLOCK1=321&plzBlockWildcard=876&"
+      "nochange=asdf"};
+
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}},
+       {SourceWildcardKey("source"), {"plzblockwildcard"}}});
 
   // The disallowed params PlZbLoCk and PLZBLOCK1 should be removed.
   GURL expected = GURL{"https://destination.xyz?nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
-  ASSERT_EQ(result.filtered_param_count, 2);
+  ASSERT_EQ(result.filtered_param_count, 3);
   ASSERT_EQ(result.experimental_status,
             ClassificationExperimentStatus::NON_EXPERIMENTAL);
 }
@@ -355,16 +403,14 @@
       "https://"
       "subdomain.source.xyz?destination=https%3A%2F%2Fdestination.xyz%2F%"
       "3Fplzblock1%"
-      "3D123%26nochange%3Dasdf&PLZBLOCK1=321&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}, {"source.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+      "3D123%26nochange%3Dasdf&PLZBLOCK1=321&plzblockWildcard=789&nochange="
+      "asdf"};
+
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}},
+       {DestinationKey("source.xyz"), {"plzblock1"}},
+       {SourceWildcardKey("source"), {"plzblockwildcard"}}});
 
   // The nested URL pattern is commonly observed; we do not want the parameter
   // to leak.
@@ -373,11 +419,10 @@
       "subdomain.source.xyz?destination=https%3A%2F%2Fdestination.xyz%2F%"
       "3Fnochange%"
       "3Dasdf&nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
-  ASSERT_EQ(result.filtered_param_count, 2);
+  ASSERT_EQ(result.filtered_param_count, 3);
   ASSERT_EQ(result.experimental_status,
             ClassificationExperimentStatus::NON_EXPERIMENTAL);
 }
@@ -389,15 +434,12 @@
       "subdomain.source.xyz?destination=https%3A%2F%2Fdestination.xyz%2F%"
       "3Fnochange%"
       "3Dasdf&PLZBLOCK1=321&nochange=asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}, {"source.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}},
+       {DestinationKey("source.xyz"), {"plzblock1"}},
+       {SourceWildcardKey("source"), {"plzblock1"}}});
 
   // The nested URL does not have filtered parameters and should be left alone.
   GURL expected = GURL{
@@ -405,12 +447,12 @@
       "subdomain.source.xyz?destination=https%3A%2F%2Fdestination.xyz%2F%"
       "3Fnochange%"
       "3Dasdf&nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 1);
 }
+
 TEST_F(UrlParamFiltererTest, FilterUrlWithNestedUrlAndDuplicates) {
   GURL source = GURL{"https://source.xyz"};
   GURL destination = GURL{
@@ -419,15 +461,10 @@
       "3Fplzblock1%"
       "3D123%26nochange%3Dasdf%26plzblock1%3D123&PLZBLOCK1=321&nochange=asdf&"
       "PLZBLOCK1=321"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}, {"source.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}},
+       {DestinationKey("source.xyz"), {"plzblock1"}}});
 
   // The nested URL pattern is commonly observed; we do not want the parameter
   // to leak.
@@ -436,9 +473,8 @@
       "subdomain.source.xyz?destination=https%3A%2F%2Fdestination.xyz%2F%"
       "3Fnochange%"
       "3Dasdf&nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 4);
   ASSERT_EQ(result.experimental_status,
@@ -664,31 +700,25 @@
       "https://"
       "destination.xyz?srcexperimental=1&destexperimental=2&noblock=1&plzblock="
       "1&plzblockdest=1"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblockdest"}}});
+
   // In addition to the default `plzblock`, also set `srcexperimental` as an
   // experiment-driven parameter.
-  source_classification_map["source.xyz"]
-                           [FilterClassification::USE_CASE_UNKNOWN]
-                           ["srcexperimental"] =
-                               ClassificationExperimentStatus::EXPERIMENTAL;
-
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblockdest"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+  auto key = SourceKey("source.xyz");
+  classification_map[key][FilterClassification::USE_CASE_UNKNOWN]
+                    ["srcexperimental"] =
+                        ClassificationExperimentStatus::EXPERIMENTAL;
   // In addition to the default `plzblockdest`, also set `destexperimental` as
   // an experiment-driven parameter.
-  destination_classification_map
-      ["destination.xyz"][FilterClassification::USE_CASE_UNKNOWN]
-      ["destexperimental"] = ClassificationExperimentStatus::EXPERIMENTAL;
+  classification_map[DestinationKey("destination.xyz")]
+                    [FilterClassification::USE_CASE_UNKNOWN]
+                    ["destexperimental"] =
+                        ClassificationExperimentStatus::EXPERIMENTAL;
 
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   // `blockotrsource` should be left alone, but `blockno3pcdest` should not.
   GURL expected = GURL{"https://destination.xyz?noblock=1"};
   ASSERT_EQ(result.filtered_url, expected);
@@ -705,34 +735,74 @@
       "3Fplzblock1%"
       "3D123%26destexperimental%3D1%26nochange%3Dasdf&PLZBLOCK1=321&nochange="
       "asdf"};
-  ClassificationMap source_classification_map =
-      CreateClassificationMapForTesting(
-          {{"source.xyz", {"plzblock"}}},
-          FilterClassification_SiteRole::FilterClassification_SiteRole_SOURCE);
-  ClassificationMap destination_classification_map =
-      CreateClassificationMapForTesting(
-          {{"destination.xyz", {"plzblock1"}}, {"source.xyz", {"plzblock1"}}},
-          FilterClassification_SiteRole::
-              FilterClassification_SiteRole_DESTINATION);
+
+  ClassificationMap classification_map = CreateClassificationMapForTesting(
+      {{SourceKey("source.xyz"), {"plzblock"}},
+       {DestinationKey("destination.xyz"), {"plzblock1"}},
+       {DestinationKey("source.xyz"), {"plzblock1"}}});
 
   // In addition to the default params, also set `destexperimental` as
   // an experiment-driven parameter and verify the nested URL correctly results
   // in `ClassificationExperimentStatus::EXPERIMENTAL`.
-  destination_classification_map
-      ["destination.xyz"][FilterClassification::USE_CASE_UNKNOWN]
-      ["destexperimental"] = ClassificationExperimentStatus::EXPERIMENTAL;
+  auto key = DestinationKey("destination.xyz");
+  classification_map[key][FilterClassification::USE_CASE_UNKNOWN]
+                    ["destexperimental"] =
+                        ClassificationExperimentStatus::EXPERIMENTAL;
 
   GURL expected = GURL{
       "https://"
       "subdomain.source.xyz?destination=https%3A%2F%2Fdestination.xyz%2F%"
       "3Fnochange%"
       "3Dasdf&nochange=asdf"};
-  FilterResult result = FilterUrl(
-      source, destination, source_classification_map,
-      destination_classification_map, FilterClassification::USE_CASE_UNKNOWN);
+
+  FilterResult result = FilterUrl(source, destination, classification_map,
+                                  FilterClassification::USE_CASE_UNKNOWN);
   ASSERT_EQ(result.filtered_url, expected);
   ASSERT_EQ(result.filtered_param_count, 3);
   ASSERT_EQ(result.experimental_status,
             ClassificationExperimentStatus::EXPERIMENTAL);
 }
+
+namespace internal {
+
+class UrlParamFiltererInternalTest : public ::testing::Test {};
+
+TEST_F(UrlParamFiltererInternalTest, GetLabelFromHostname) {
+  struct {
+    std::string url;
+    absl::optional<std::string> expected;
+  } kTestCases[]{
+      // Normal cases.
+      {.url = "https://site.xyz?param=123&param2=456", .expected = "site"},
+      {.url = "http://a.com?param=123&param2=456", .expected = "a"},
+      {.url = "https://b.co.uk?param=123&param2=456", .expected = "b"},
+      {.url = "https://subdomain.c.xyz?param=123&param2=456", .expected = "c"},
+
+      // Trailing dots.
+      {.url = "https://a.com./", .expected = "a"},
+      {.url = "https://b.gov.uk./", .expected = "b"},
+      {.url = "https://c.co.", .expected = "c"},
+
+      // Unparsable.
+      {.url = "https://a.com../", .expected = absl::nullopt},
+      {.url = "https://b.gov.uk..", .expected = absl::nullopt},
+      {.url = "http://192.168.0.1", .expected = absl::nullopt},
+      {.url = "http://[2001:0db8:85a3:0000:0000:8a2e:0370:7334]/",
+       .expected = absl::nullopt},
+      {.url = "http://localhost", .expected = absl::nullopt},
+      {.url = "", .expected = absl::nullopt},
+      {.url = "http://localhost.", .expected = absl::nullopt},
+      {.url = "http://", .expected = absl::nullopt},
+      {.url = "file:///C:/file.html", .expected = absl::nullopt},
+      {.url = "http://...", .expected = absl::nullopt},
+      {.url = "http:////Comment", .expected = absl::nullopt},
+      {.url = "http://.com", .expected = absl::nullopt},
+  };
+
+  for (const auto& test_case : kTestCases) {
+    ASSERT_EQ(GetLabelFromHostname(GURL{test_case.url}), test_case.expected);
+  }
+}
+
+}  // namespace internal
 }  // namespace url_param_filter
diff --git a/components/user_education/README.md b/components/user_education/README.md
index bc2e545..9a65e6b 100644
--- a/components/user_education/README.md
+++ b/components/user_education/README.md
@@ -1,22 +1,159 @@
 # User Education component library
 
-This library contains the code that (along with
-[Feature Engagement](/components/feature_engagement/README.md)) will allow you
-to implement **In-Product-Help (IPH)** and **Tutorials** in any framework.
+This library contains the code that will allow you to implement
+**In-Product-Help (IPH)** and **Tutorials** in any framework, as well as display
+the **"New" Badge** on menus and labels.
 
-The following libraries are available:
+## Upstream dependencies
+
+Familiarity with these libraries are strongly recommended; feel free to reach
+out to their respective OWNERS if you have any questions.
+
+  * [UI Interaction](/ui/base/interaction/README.md)
+    * [ElementTracker](/ui/base/interaction/element_tracker.h) - supplies anchor
+      points for help bubbles
+    * [InteractionSequence](/ui/base/interaction/interaction_sequence.h) -
+      describes the situations in which a Tutorial advances to the next step
+  * [Feature Engagement](/components/feature_engagement/README.md) - used to
+    evaluate triggering conditions for IPH and New Badge.
+
+## Directory structure
+
  * [common](./common) - contains platform- and framework-agnostic APIs for
-   working with [HelpBubbles](./common/help_bubble.h),
-   [IPH](./common/feature_promo_specification.h), and
-   [Tutorials](./common/tutorial.h).
+   working with `HelpBubble`s, **IPH**, and **Tutorials**.
+ * [test](./test) - contains common code for testing user education primitives
  * [views](./views) - contains code required to display a `HelpBubble` in a
-   Views-based UI.
+   Views-based UI, as well as **"New" Badge** primitives.
  * [webui](./webui/README.md) - contains code required to display a `HelpBubble`
    on a WebUI surface.
 
-The Chrome Browser already builds-in the necessary support for help bubbles
-attached to/embedded in Views, WebUI, and Mac-native context menus. You may
-refer to
+# Programming API
+
+## Help bubbles
+
+The core presentation element for both IPH and Tutorials is the
+[HelpBubble](./common/help_bubble.h). A `HelpBubble` is a blue bubble that
+appears anchored to an element in your application's UI and which contains
+information about that element. For example, a `HelpBubble` might appear
+underneath the profile button the first time the user starts Chrome after
+adding a second profile, showing the user how they can switch between profiles.
+
+Different UI frameworks have different `HelpBubble` implementations; for
+example, [HelpBubbleViews](./views/help_bubble_factory_views.h). Each type of
+`HelpBubble` is created by a different
+[HelpBubbleFactory](./common/help_bubble_factory.h), which is registered at
+startup in the global
+[HelpBubbleFactoryRegistry](./common/help_bubble_factory_registry.h). So for
+example, Chrome registers separate factories for Views and WebUI, and on Mac
+a third factory that can attach a Views-based `HelpBubble` to a Mac native menu.
+
+To actually show the bubble, the `HelpBubbleFactoryRegistry` needs two things:
+  * The `TrackedElement` the bubble will be anchored to
+  * The [HelpBubbleParams](./common/help_bubble_params.h) describing the bubble
+
+You will notice that this is an extremely bare-bones system. ***You are not
+expected to call `HelpBubbleFactoryRegistry` directly!*** Rather, the IPH and
+Tutorial systems use this API to show help bubbles.
+
+## In-Product Help (IPH)
+
+In-Product Help is the simpler of the two ways to display help bubbles, and can
+even be the entry point for a Tutorial.
+
+IPH are:
+ * **Spontaneous** - they are shown to the user when a set of conditions are
+   met; the user does not choose to see them.
+ * **Rate-limited** - the user will only ever see a specific IPH a certain
+   number of times, and will only see a certain total number of different IPH
+   per session.
+ * **Simple** - only a small number of templates approved by UX are available,
+   for different kinds of User Education journeys.
+
+Your application will provide a
+[FeaturePromoController](./common/feature_promo_controller.h) with a
+[FeaturePromoRegistry](./common/feature_promo_registry.h). In order to add a new
+IPH, you will need to:
+ 1. Add the `base::Feature` corresponding to the IPH.
+ 2. Register the
+    [FeaturePromoSpecification](./common/feature_promo_specification.h)
+    describing your IPH journey (see below).
+ 3. Configure the Feature Engagement backend for your IPH journey
+    ([see documentation](/components/feature_engagement/README.md)).
+ 4. Put hooks in your code:
+    * Call `FeaturePromoController::MaybeShowPromo()` at the point in the code
+      when the promo should trigger, adding feature-specific logic for when the
+      promo is appropriate.
+    * Add additional calls to `feature_engagement::Tracker::NotifyEvent()` for
+      events that should affect whether the IPH should display.
+      * These should also be referenced in the Feature Engagement configuration.
+      * This should include the user actually engaging with the feature being
+        promo'd.
+      * You can retrieve the tracker via
+        `FeaturePromoControllerCommon::feature_engagement_tracker()`.
+    * Optionally: add calls to `FeaturePromoController::CloseBubble()` or
+      `FeaturePromoController::CloseBubbleAndContinuePromo()` to
+      programmatically end the promo when the user engages your feature.
+ 5. Enable the feature via a trade study or Finch.
+
+### Registering your IPH
+
+You will want to create a `FeaturePromoSpecification` and register it with
+`FeaturePromoRegistry::RegisterFeature()`. There should be a common function
+your application uses to register IPH journeys during startup; in Chrome it's
+`MaybeRegisterChromeFeaturePromos()`.
+
+There are several factory methods on FeaturePromoSpecification for different
+types of IPH:
+  * **CreateForToastPromo** - creates a small, short-lived promo with no buttons
+    that disappears after a short time.
+    * These are designed to point out a specific UI element; you will not expect
+      the user to interact with the bubble.
+    * Because of this a screen reader message and accelerator to access the
+      relevant feature are required; this will be used to make sure that screen
+      reader users can find the thing the bubble is talking about.
+  * **CreateForSnoozePromo** - creates a promo with "got it" and "remind me
+    later" buttons and if the user picks the latter, snoozes the promo so it can
+    be displayed again later.
+  * **CreateForTutorialPromo** - similar to `CreateForSnoozePromo()` except that
+    the "got it" button is replaced by a "learn more" button that launches a
+    Tutorial.
+  * **CreateForLegacyPromo (DEPRECATED)** - creates a toast-like promo with no
+    buttons, but which does not require accessible text and has no or a long
+    timeout. *For backwards compatibility with older promos; do not use.*
+
+You may also call the following methods to add additional features to a bubble:
+  * **SetBubbleTitleText()** - adds an optional title to the bubble; this will
+    be in a larger font above the body text.
+  * **SetBubbleIcon()** - adds an optional icon to the bubble; this will be
+    displayed to the left (right in RTL) of the title/body.
+  * **SetBubbleArrow()** - sets the position of the arrow relative to the
+    bubble; this in turn changes the bubble's default orientation relative to
+    its anchor.
+
+These are advanced features
+  * **SetInAnyContext()** - allows the system to search for the anchor element
+    in any context rather than only the window in which the IPH is triggered.
+  * **SetAnchorElementFilter()** - allows the system to narrow down the anchor
+    from a collection of candidates, if there is more than one element maching
+    the anchor's `ElementIdentifier`.
+
+## Tutorials
+
+[TBD]
+
+## New Badge
+
+[TBD]
+
+## Adding User Education to your application
+
+There are a number of virtual methods that must be implemented before you can
+use these User Education libraries in a new application, mostly centered around
+localization, accelerators, and global input focus.
+
+Fortunately for Chromium developers, the browser already has the necessary
+support built in for Views, WebUI, and Mac-native context menus. You may refer
+to
 [browser_user_education_service](/chrome/browser/ui/views/user_education/browser_user_education_service.h)
 for an example that could be extended to other (especially Views-based)
-platforms.
\ No newline at end of file
+platforms such as ChromeOS.
\ No newline at end of file
diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc
index e579521..27c37f5 100644
--- a/content/browser/web_contents/web_contents_impl.cc
+++ b/content/browser/web_contents/web_contents_impl.cc
@@ -6346,15 +6346,6 @@
                         "render_frame_host", render_frame_host, "json_string",
                         json_string);
 
-  // TODO(lukasza): The notification below should probably indicate which
-  // RenderFrameHostImpl the message is coming from. This can enable tests to
-  // talk to 2 frames at the same time, without being confused which frame a
-  // given response comes from.  See also a corresponding TODO in the
-  // ExecuteScriptHelper in //content/public/test/browser_test_utils.cc
-  NotificationService::current()->Notify(
-      NOTIFICATION_DOM_OPERATION_RESPONSE, Source<WebContents>(this),
-      Details<const std::string>(&json_string));
-
   observers_.NotifyObservers(&WebContentsObserver::DomOperationResponse,
                              render_frame_host, json_string);
 }
diff --git a/content/public/android/BUILD.gn b/content/public/android/BUILD.gn
index f491e385..3a1df13 100644
--- a/content/public/android/BUILD.gn
+++ b/content/public/android/BUILD.gn
@@ -207,7 +207,6 @@
     "java/src/org/chromium/content/browser/ChildProcessRanking.java",
     "java/src/org/chromium/content/browser/ClientDataJsonImpl.java",
     "java/src/org/chromium/content/browser/ContactsDialogHost.java",
-    "java/src/org/chromium/content/browser/ContentApiHelperForM.java",
     "java/src/org/chromium/content/browser/ContentClassFactory.java",
     "java/src/org/chromium/content/browser/ContentFeatureListImpl.java",
     "java/src/org/chromium/content/browser/ContentNfcDelegate.java",
@@ -301,10 +300,8 @@
     "java/src/org/chromium/content/browser/remoteobjects/RemoteObjectRegistry.java",
     "java/src/org/chromium/content/browser/selection/AdditionalMenuItemProvider.java",
     "java/src/org/chromium/content/browser/selection/AdditionalMenuItemProviderImpl.java",
-    "java/src/org/chromium/content/browser/selection/FloatingActionModeCallback.java",
     "java/src/org/chromium/content/browser/selection/FloatingPastePopupMenu.java",
     "java/src/org/chromium/content/browser/selection/LGEmailActionModeWorkaroundImpl.java",
-    "java/src/org/chromium/content/browser/selection/LegacyPastePopupMenu.java",
     "java/src/org/chromium/content/browser/selection/MagnifierAnimator.java",
     "java/src/org/chromium/content/browser/selection/MagnifierWrapper.java",
     "java/src/org/chromium/content/browser/selection/MagnifierWrapperImpl.java",
diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentApiHelperForM.java b/content/public/android/java/src/org/chromium/content/browser/ContentApiHelperForM.java
deleted file mode 100644
index d37f6788..0000000
--- a/content/public/android/java/src/org/chromium/content/browser/ContentApiHelperForM.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package org.chromium.content.browser;
-
-import android.os.Build;
-import android.view.ActionMode;
-import android.view.View;
-
-import androidx.annotation.RequiresApi;
-
-import org.chromium.content.browser.selection.FloatingActionModeCallback;
-import org.chromium.content.browser.selection.SelectionPopupControllerImpl;
-
-/**
- * Utility class to use new APIs that were added in M (API level 23). These need to exist in a
- * separate class so that Android framework can successfully verify selection classes without
- * encountering the new APIs.
- */
-
-@RequiresApi(Build.VERSION_CODES.M)
-public final class ContentApiHelperForM {
-    private ContentApiHelperForM() {}
-
-    /**
-     * See {@link View#startActionMode(ActionMode.Callback, int)}, which was added in M.
-     */
-    public static ActionMode startActionMode(View view,
-            SelectionPopupControllerImpl selectionPopupController, ActionMode.Callback callback) {
-        return view.startActionMode(
-                new FloatingActionModeCallback(selectionPopupController, callback),
-                ActionMode.TYPE_FLOATING);
-    }
-}
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/FloatingActionModeCallback.java b/content/public/android/java/src/org/chromium/content/browser/selection/FloatingActionModeCallback.java
deleted file mode 100644
index f4332d0..0000000
--- a/content/public/android/java/src/org/chromium/content/browser/selection/FloatingActionModeCallback.java
+++ /dev/null
@@ -1,58 +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.content.browser.selection;
-
-import android.graphics.Rect;
-import android.os.Build;
-import android.view.ActionMode;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-
-import androidx.annotation.RequiresApi;
-
-import org.chromium.content_public.browser.ActionModeCallbackHelper;
-
-/**
- * A class thatextends ActionMode.Callback2 to support floating ActionModes.
- */
-@RequiresApi(Build.VERSION_CODES.M)
-public class FloatingActionModeCallback extends ActionMode.Callback2 {
-    private final ActionModeCallbackHelper mHelper;
-    private final ActionMode.Callback mCallback;
-
-    public FloatingActionModeCallback(ActionModeCallbackHelper helper,
-            ActionMode.Callback callback) {
-        mHelper = helper;
-        mCallback = callback;
-    }
-
-    @Override
-    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
-        // If the created ActionMode isn't actually floating, abort creation altogether.
-        if (mode.getType() != ActionMode.TYPE_FLOATING) return false;
-        return mCallback.onCreateActionMode(mode, menu);
-    }
-
-    @Override
-    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
-        return mCallback.onPrepareActionMode(mode, menu);
-    }
-
-    @Override
-    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
-        return mCallback.onActionItemClicked(mode, item);
-    }
-
-    @Override
-    public void onDestroyActionMode(ActionMode mode) {
-        mCallback.onDestroyActionMode(mode);
-    }
-
-    @Override
-    public void onGetContentRect(ActionMode mode, View view, Rect outRect) {
-        mHelper.onGetContentRect(mode, view, outRect);
-    }
-}
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/LegacyPastePopupMenu.java b/content/public/android/java/src/org/chromium/content/browser/selection/LegacyPastePopupMenu.java
deleted file mode 100644
index a140604..0000000
--- a/content/public/android/java/src/org/chromium/content/browser/selection/LegacyPastePopupMenu.java
+++ /dev/null
@@ -1,158 +0,0 @@
-// Copyright 2014 The Chromium 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.content.browser.selection;
-
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.Rect;
-import android.util.TypedValue;
-import android.view.Gravity;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-import android.view.ViewGroup.LayoutParams;
-import android.widget.PopupWindow;
-
-/**
- * Paste popup implementation based on TextView.PastePopupMenu.
- */
-public class LegacyPastePopupMenu implements OnClickListener, PastePopupMenu {
-    private final View mParent;
-    private final PastePopupMenuDelegate mDelegate;
-    private final Context mContext;
-    private final PopupWindow mContainer;
-    private int mRawPositionX;
-    private int mRawPositionY;
-    private int mStatusBarHeight;
-    private View mPasteView;
-    private final int mPasteViewLayout;
-    private final int mLineOffsetY;
-    private final int mWidthOffsetX;
-
-    // status_bar_height is not a public framework resource, so we have to getIdentifier()
-    @SuppressWarnings("DiscouragedApi")
-    public LegacyPastePopupMenu(
-            Context context, View parent, final PastePopupMenuDelegate delegate) {
-        mParent = parent;
-        mDelegate = delegate;
-        mContext = context;
-        mContainer = new PopupWindow(mContext, null, android.R.attr.textSelectHandleWindowStyle);
-        mContainer.setSplitTouchEnabled(true);
-        mContainer.setClippingEnabled(false);
-        mContainer.setAnimationStyle(0);
-
-        mContainer.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
-        mContainer.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
-
-        final int[] popupLayoutAttrs = {
-                android.R.attr.textEditPasteWindowLayout,
-        };
-
-        TypedArray attrs = mContext.getTheme().obtainStyledAttributes(popupLayoutAttrs);
-        mPasteViewLayout = attrs.getResourceId(attrs.getIndex(0), 0);
-
-        attrs.recycle();
-
-        // Convert line offset dips to pixels.
-        mLineOffsetY = (int) TypedValue.applyDimension(
-                TypedValue.COMPLEX_UNIT_DIP, 5.0f, mContext.getResources().getDisplayMetrics());
-        mWidthOffsetX = (int) TypedValue.applyDimension(
-                TypedValue.COMPLEX_UNIT_DIP, 30.0f, mContext.getResources().getDisplayMetrics());
-
-        final int statusBarHeightResourceId =
-                mContext.getResources().getIdentifier("status_bar_height", "dimen", "android");
-        if (statusBarHeightResourceId > 0) {
-            mStatusBarHeight =
-                    mContext.getResources().getDimensionPixelSize(statusBarHeightResourceId);
-        }
-    }
-
-    @Override
-    public void show(Rect selectionRect) {
-        hide();
-        updateContent();
-        positionAt(selectionRect.left, selectionRect.bottom);
-    }
-
-    @Override
-    public void hide() {
-        mContainer.dismiss();
-    }
-
-    @Override
-    public void onClick(View v) {
-        paste();
-        hide();
-    }
-
-    private void positionAt(int x, int y) {
-        if (mRawPositionX == x && mRawPositionY == y) return;
-        mRawPositionX = x;
-        mRawPositionY = y;
-
-        final View contentView = mContainer.getContentView();
-        final int width = contentView.getMeasuredWidth();
-        final int height = contentView.getMeasuredHeight();
-
-        int positionX = (int) (x - width / 2.0f);
-        int positionY = y - height - mLineOffsetY;
-
-        int minOffsetY = 0;
-        if (mParent.getSystemUiVisibility() == View.SYSTEM_UI_FLAG_VISIBLE) {
-            minOffsetY = mStatusBarHeight;
-        }
-
-        final int screenWidth = mContext.getResources().getDisplayMetrics().widthPixels;
-        if (positionY < minOffsetY) {
-            // Vertical clipping, move under edited line and to the side of insertion cursor
-            // TODO bottom clipping in case there is no system bar
-            positionY += height;
-            positionY += mLineOffsetY;
-
-            // Move to right hand side of insertion cursor by default. TODO RTL text.
-            final int handleHalfWidth = mWidthOffsetX / 2;
-
-            if (x + width < screenWidth) positionX += handleHalfWidth + width / 2;
-            else positionX -= handleHalfWidth + width / 2;
-        } else {
-            // Horizontal clipping
-            positionX = Math.max(0, positionX);
-            positionX = Math.min(screenWidth - width, positionX);
-        }
-
-        // Offseting with location in window.
-        final int[] coords = new int[2];
-        mParent.getLocationInWindow(coords);
-        positionX += coords[0];
-        positionY += coords[1];
-
-        mContainer.showAtLocation(mParent, Gravity.NO_GRAVITY, positionX, positionY);
-    }
-
-    private void updateContent() {
-        if (mPasteView == null) {
-            final LayoutInflater inflater =
-                    (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-            if (inflater != null) mPasteView = inflater.inflate(mPasteViewLayout, null);
-
-            if (mPasteView == null) {
-                throw new IllegalArgumentException("Unable to inflate TextEdit paste window");
-            }
-
-            final int size = View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED);
-            mPasteView.setLayoutParams(new LayoutParams(
-                    ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
-            mPasteView.measure(size, size);
-
-            mPasteView.setOnClickListener(this);
-        }
-        mContainer.setContentView(mPasteView);
-    }
-
-    private void paste() {
-        mDelegate.paste();
-    }
-}
diff --git a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
index d1526d3f..572ea357 100644
--- a/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
+++ b/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
@@ -42,7 +42,6 @@
 import org.chromium.base.supplier.ObservableSupplier;
 import org.chromium.base.supplier.ObservableSupplierImpl;
 import org.chromium.content.R;
-import org.chromium.content.browser.ContentApiHelperForM;
 import org.chromium.content.browser.ContentClassFactory;
 import org.chromium.content.browser.GestureListenerManagerImpl;
 import org.chromium.content.browser.PopupController;
@@ -120,7 +119,7 @@
     private Context mContext;
     private WindowAndroid mWindowAndroid;
     private WebContentsImpl mWebContents;
-    private ActionMode.Callback mCallback;
+    private ActionMode.Callback2 mCallback;
     private RenderFrameHost mRenderFrameHost;
     private long mNativeSelectionPopupController;
 
@@ -341,7 +340,7 @@
     }
 
     @Override
-    public void setActionModeCallback(ActionMode.Callback callback) {
+    public void setActionModeCallback(ActionMode.Callback2 callback) {
         mCallback = callback;
     }
 
@@ -411,8 +410,7 @@
             boolean shouldSuggest, @MenuSourceType int sourceType,
             RenderFrameHost renderFrameHost) {
         int offsetBottom = bottom;
-        // Legacy action mode expects the selection rectangle not to include touch handle.
-        if (supportsFloatingActionMode()) offsetBottom += handleHeight;
+        offsetBottom += handleHeight;
         mSelectionRect.set(left, top, right, offsetBottom);
         mEditable = isEditable;
         mLastSelectedText = selectionText;
@@ -488,8 +486,7 @@
         destroyActionModeAndKeepSelection();
 
         assert mWebContents != null;
-        ActionMode actionMode = supportsFloatingActionMode() ? startFloatingActionMode()
-                                                             : mView.startActionMode(mCallback);
+        ActionMode actionMode = mView.startActionMode(mCallback, ActionMode.TYPE_FLOATING);
         if (actionMode != null) {
             // This is to work around an LGE email issue. See crbug.com/651706 for more details.
             LGEmailActionModeWorkaroundImpl.runIfNecessary(mContext, actionMode);
@@ -500,13 +497,6 @@
         if (!isActionModeValid()) clearSelection();
     }
 
-    private ActionMode startFloatingActionMode() {
-        assert mView != null;
-        assert Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
-        ActionMode actionMode = ContentApiHelperForM.startActionMode(mView, this, mCallback);
-        return actionMode;
-    }
-
     private void dismissTextHandles() {
         if (mWebContents.getRenderWidgetHostView() != null) {
             mWebContents.getRenderWidgetHostView().dismissTextHandles();
@@ -524,10 +514,6 @@
             return;
         }
 
-        if (!supportsFloatingActionMode() && !Clipboard.getInstance().canPaste()
-                && mNonSelectionCallback == null) {
-            return;
-        }
         destroyPastePopup();
         PastePopupMenu.PastePopupMenuDelegate delegate =
                 new PastePopupMenu.PastePopupMenuDelegate() {
@@ -565,12 +551,8 @@
                 };
         Context windowContext = mWindowAndroid.getContext().get();
         if (windowContext == null) return;
-        if (supportsFloatingActionMode()) {
-            mPastePopupMenu = new FloatingPastePopupMenu(
-                    windowContext, mView, delegate, mNonSelectionCallback);
-        } else {
-            mPastePopupMenu = new LegacyPastePopupMenu(windowContext, mView, delegate);
-        }
+        mPastePopupMenu =
+                new FloatingPastePopupMenu(windowContext, mView, delegate, mNonSelectionCallback);
         showPastePopup();
     }
 
@@ -581,11 +563,6 @@
         }
     }
 
-    @Override
-    public boolean supportsFloatingActionMode() {
-        return Build.VERSION.SDK_INT >= Build.VERSION_CODES.M;
-    }
-
     // HideablePopup implementation
     @Override
     public void hide() {
@@ -626,16 +603,14 @@
      * @see ActionMode#invalidateContentRect()
      */
     public void invalidateContentRect() {
-        if (supportsFloatingActionMode() && isActionModeValid()) {
-            ApiHelperForM.invalidateContentRectOnActionMode(mActionMode);
-        }
+        if (isActionModeValid()) ApiHelperForM.invalidateContentRectOnActionMode(mActionMode);
     }
 
     // WindowEventObserver
 
     @Override
     public void onWindowFocusChanged(boolean gainFocus) {
-        if (supportsFloatingActionMode() && isActionModeValid()) {
+        if (isActionModeValid()) {
             ApiHelperForM.onWindowFocusChangedOnActionMode(mActionMode, gainFocus);
         }
     }
@@ -732,15 +707,12 @@
     }
 
     private boolean isFloatingActionMode() {
-        return supportsFloatingActionMode() && isActionModeValid()
+        return isActionModeValid()
                 && ApiHelperForM.getActionModeType(mActionMode) == ActionMode.TYPE_FLOATING;
     }
 
     private long getDefaultHideDuration() {
-        if (supportsFloatingActionMode()) {
-            return ApiHelperForM.getDefaultActionModeHideDuration();
-        }
-        return 2000;
+        return ApiHelperForM.getDefaultActionModeHideDuration();
     }
 
     // Default handlers for action mode callbacks.
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/ActionModeCallbackHelper.java b/content/public/android/java/src/org/chromium/content_public/browser/ActionModeCallbackHelper.java
index 060a17e..bb93cffa 100644
--- a/content/public/android/java/src/org/chromium/content_public/browser/ActionModeCallbackHelper.java
+++ b/content/public/android/java/src/org/chromium/content_public/browser/ActionModeCallbackHelper.java
@@ -44,17 +44,9 @@
     }
 
     /**
-     * Tell if the platform supports floating type action mode. Used not to repeatedly
-     * attempt the creation if the request fails once at the beginning. Also check
-     * platform version since the floating type is supported only on M or later version
-     * of Android platform.
-     */
-    public abstract boolean supportsFloatingActionMode();
-
-    /**
      * Empty {@link ActionMode.Callback} that does nothing. Used for {@link #EMPTY_CALLBACK}.
      */
-    private static class EmptyActionCallback implements ActionMode.Callback {
+    private static class EmptyActionCallback extends ActionMode.Callback2 {
         @Override
         public boolean onCreateActionMode(ActionMode mode, Menu menu) {
             return false;
@@ -72,6 +64,9 @@
 
         @Override
         public void onDestroyActionMode(ActionMode mode) {}
+
+        @Override
+        public void onGetContentRect(ActionMode mode, View view, Rect outRect) {}
     };
 
     /**
diff --git a/content/public/android/java/src/org/chromium/content_public/browser/SelectionPopupController.java b/content/public/android/java/src/org/chromium/content_public/browser/SelectionPopupController.java
index 5063c71..58a06fe 100644
--- a/content/public/android/java/src/org/chromium/content_public/browser/SelectionPopupController.java
+++ b/content/public/android/java/src/org/chromium/content_public/browser/SelectionPopupController.java
@@ -52,7 +52,7 @@
      * Set {@link ActionMode.Callback} used by {@link SelectionPopupController}.
      * @param callback ActionMode.Callback instance.
      */
-    void setActionModeCallback(ActionMode.Callback callback);
+    void setActionModeCallback(ActionMode.Callback2 callback);
 
     /**
      * Set {@link ActionMode.Callback} used by {@link SelectionPopupController} when no text is
diff --git a/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java b/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
index 4fbb8c96..1a1e222 100644
--- a/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
+++ b/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
@@ -13,6 +13,7 @@
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.isA;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.inOrder;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
@@ -219,8 +220,7 @@
                 .adjustSelectionByCharacterOffset(result.startAdjust, result.endAdjust, true);
         assertFalse(mController.isActionModeValid());
 
-        when(mView.startActionMode(any(FloatingActionModeCallback.class), anyInt()))
-                .thenReturn(mActionMode);
+        when(mView.startActionMode(any(), anyInt())).thenReturn(mActionMode);
 
         // Call showSelectionMenu again, which is adjustSelectionByCharacterOffset triggered.
         mController.showSelectionMenu(0, 0, 0, 0, 0, /* isEditable = */ true,
@@ -229,8 +229,7 @@
                 /* canRichlyEdit = */ true, /* shouldSuggest = */ true,
                 MenuSourceType.MENU_SOURCE_ADJUST_SELECTION, mRenderFrameHost);
 
-        order.verify(mView).startActionMode(
-                isA(FloatingActionModeCallback.class), eq(ActionMode.TYPE_FLOATING));
+        order.verify(mView).startActionMode(isNull(), eq(ActionMode.TYPE_FLOATING));
 
         SelectionClient.Result returnResult = mController.getClassificationResult();
         assertEquals(-5, returnResult.startAdjust);
@@ -276,8 +275,7 @@
                 .adjustSelectionByCharacterOffset(newResult.startAdjust, newResult.endAdjust, true);
         assertFalse(mController.isActionModeValid());
 
-        when(mView.startActionMode(any(FloatingActionModeCallback.class), anyInt()))
-                .thenReturn(mActionMode);
+        when(mView.startActionMode(any(), anyInt())).thenReturn(mActionMode);
 
         // First adjustSelectionByCharacterOffset() triggered.
         mController.showSelectionMenu(0, 0, 0, 0, 0, /* isEditable = */ true,
@@ -298,8 +296,7 @@
                 /* canRichlyEdit = */ true, /* shouldSuggest = */ true,
                 MenuSourceType.MENU_SOURCE_ADJUST_SELECTION, mRenderFrameHost);
 
-        order.verify(mView).startActionMode(
-                isA(FloatingActionModeCallback.class), eq(ActionMode.TYPE_FLOATING));
+        order.verify(mView).startActionMode(isNull(), eq(ActionMode.TYPE_FLOATING));
         assertTrue(mController.isActionModeValid());
     }
 
@@ -341,8 +338,7 @@
                 .adjustSelectionByCharacterOffset(newResult.startAdjust, newResult.endAdjust, true);
         assertFalse(mController.isActionModeValid());
 
-        when(mView.startActionMode(any(FloatingActionModeCallback.class), anyInt()))
-                .thenReturn(mActionMode);
+        when(mView.startActionMode(any(), anyInt())).thenReturn(mActionMode);
 
         // First adjustSelectionByCharacterOffset() triggered.
         mController.showSelectionMenu(0, 0, 0, 0, 0, /* isEditable = */ true,
@@ -363,8 +359,7 @@
                 /* canRichlyEdit = */ true, /* shouldSuggest = */ true,
                 MenuSourceType.MENU_SOURCE_ADJUST_SELECTION, mRenderFrameHost);
 
-        order.verify(mView).startActionMode(
-                isA(FloatingActionModeCallback.class), eq(ActionMode.TYPE_FLOATING));
+        order.verify(mView).startActionMode(isNull(), eq(ActionMode.TYPE_FLOATING));
         assertTrue(mController.isActionModeValid());
     }
 
@@ -388,8 +383,7 @@
                 /* canRichlyEdit = */ true, /* shouldSuggest = */ true,
                 MenuSourceType.MENU_SOURCE_LONG_PRESS, mRenderFrameHost);
 
-        when(mView.startActionMode(any(FloatingActionModeCallback.class), anyInt()))
-                .thenReturn(mActionMode);
+        when(mView.startActionMode(any(), anyInt())).thenReturn(mActionMode);
 
         order.verify(mLogger).onSelectionStarted(AMPHITHEATRE, 5, true);
 
@@ -442,7 +436,7 @@
                 /* canRichlyEdit = */ true, /* shouldSuggest = */ true,
                 MenuSourceType.MENU_SOURCE_LONG_PRESS, mRenderFrameHost);
 
-        when(mView.startActionMode(any(FloatingActionModeCallback.class), anyInt()))
+        when(mView.startActionMode(any(ActionMode.Callback2.class), anyInt()))
                 .thenReturn(mActionMode);
         order.verify(mLogger).onSelectionStarted(AMPHITHEATRE, 5, true);
 
@@ -589,8 +583,7 @@
     public void testSelectionWhenUnselectAndFocusedNodeChanged() {
         SelectionPopupControllerImpl spyController = Mockito.spy(mController);
 
-        when(mView.startActionMode(any(FloatingActionModeCallback.class), anyInt()))
-                .thenReturn(mActionMode);
+        when(mView.startActionMode(any(), anyInt())).thenReturn(mActionMode);
 
         // Long press triggered showSelectionMenu() call.
         spyController.showSelectionMenu(0, 0, 0, 0, 0, /* isEditable = */ true,
@@ -599,8 +592,7 @@
                 /* canRichlyEdit = */ true, /* shouldSuggest = */ true,
                 MenuSourceType.MENU_SOURCE_LONG_PRESS, mRenderFrameHost);
 
-        Mockito.verify(mView).startActionMode(
-                isA(FloatingActionModeCallback.class), eq(ActionMode.TYPE_FLOATING));
+        Mockito.verify(mView).startActionMode(isNull(), eq(ActionMode.TYPE_FLOATING));
         // showSelectionMenu() will invoke the first call to finishActionMode() in the
         // showActionModeOrClearOnFailure().
         Mockito.verify(spyController, times(1)).finishActionMode();
@@ -628,8 +620,7 @@
     public void testSelectionWhenWindowIsNull() {
         SelectionPopupControllerImpl spyController = Mockito.spy(mController);
 
-        when(mView.startActionMode(any(FloatingActionModeCallback.class), anyInt()))
-                .thenReturn(mActionMode);
+        when(mView.startActionMode(any(), anyInt())).thenReturn(mActionMode);
 
         // Long press triggered showSelectionMenu() call.
         spyController.showSelectionMenu(0, 0, 0, 0, 0, /* isEditable = */ true,
@@ -638,8 +629,7 @@
                 /* canRichlyEdit = */ true, /* shouldSuggest = */ true,
                 MenuSourceType.MENU_SOURCE_LONG_PRESS, mRenderFrameHost);
 
-        Mockito.verify(mView).startActionMode(
-                isA(FloatingActionModeCallback.class), eq(ActionMode.TYPE_FLOATING));
+        Mockito.verify(mView).startActionMode(isNull(), eq(ActionMode.TYPE_FLOATING));
         // showSelectionMenu() will invoke the first call to finishActionMode() in the
         // showActionModeOrClearOnFailure().
         Mockito.verify(spyController, times(1)).finishActionMode();
diff --git a/content/public/browser/notification_types.h b/content/public/browser/notification_types.h
index 32b4bb166..6014517 100644
--- a/content/public/browser/notification_types.h
+++ b/content/public/browser/notification_types.h
@@ -100,13 +100,6 @@
   // TODO(https://crbug.com/1174771): Remove.
   NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED,
 
-  // Notification from WebContents that we have received a response from the
-  // renderer in response to a dom automation controller action. The source is
-  // the RenderViewHost, and the details is a string with the response.
-  // DEPRECATED: Use WebContentsObserver::DomOperationResponse()
-  // TODO(https://crbug.com/1174774): Remove.
-  NOTIFICATION_DOM_OPERATION_RESPONSE,
-
   // Custom notifications used by the embedder should start from here.
   NOTIFICATION_CONTENT_END,
 };
diff --git a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/util/TestSelectionPopupController.java b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/util/TestSelectionPopupController.java
index cfaf646..06d5a1d 100644
--- a/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/util/TestSelectionPopupController.java
+++ b/content/public/test/android/javatests/src/org/chromium/content_public/browser/test/util/TestSelectionPopupController.java
@@ -22,7 +22,7 @@
     public TestSelectionPopupController() {}
 
     @Override
-    public void setActionModeCallback(ActionMode.Callback callback) {}
+    public void setActionModeCallback(ActionMode.Callback2 callback) {}
 
     @Override
     public void setNonSelectionActionModeCallback(ActionMode.Callback callback) {}
diff --git a/content/public/test/browser_test_utils.cc b/content/public/test/browser_test_utils.cc
index c7882808..a1ed3ab 100644
--- a/content/public/test/browser_test_utils.cc
+++ b/content/public/test/browser_test_utils.cc
@@ -2621,15 +2621,48 @@
     observed_mojo_error_ = error;
 }
 
+class DOMMessageQueue::MessageObserver : public WebContentsObserver {
+ public:
+  MessageObserver(DOMMessageQueue* queue, WebContents* contents)
+      : WebContentsObserver(contents), queue_(queue) {}
+  ~MessageObserver() override = default;
+
+ private:
+  void DomOperationResponse(RenderFrameHost* rfh,
+                            const std::string& result) override {
+    queue_->OnDomMessageReceived(result);
+  }
+
+  void PrimaryMainFrameRenderProcessGone(
+      base::TerminationStatus status) override {
+    queue_->PrimaryMainFrameRenderProcessGone(status);
+  }
+
+  void RenderFrameDeleted(RenderFrameHost* render_frame_host) override {
+    queue_->RenderFrameDeleted(render_frame_host);
+  }
+
+  void WebContentsDestroyed() override {
+    queue_->OnBackingWebContentsDestroyed(this);
+  }
+
+  DOMMessageQueue* queue_;
+};
+
 DOMMessageQueue::DOMMessageQueue() {
   // TODO(https://crbug.com/1174774): Remove the need to listen for this
   // notification.
-  registrar_.Add(this, NOTIFICATION_DOM_OPERATION_RESPONSE,
-                 NotificationService::AllSources());
+  for (auto* contents : WebContentsImpl::GetAllWebContents()) {
+    observers_.emplace(std::make_unique<MessageObserver>(this, contents));
+  }
+  web_contents_creation_subscription_ =
+      RegisterWebContentsCreationCallback(base::BindRepeating(
+          &DOMMessageQueue::OnWebContentsCreated, base::Unretained(this)));
 }
 
-DOMMessageQueue::DOMMessageQueue(WebContents* web_contents)
-    : WebContentsObserver(web_contents) {}
+DOMMessageQueue::DOMMessageQueue(WebContents* web_contents) {
+  observers_.emplace(std::make_unique<MessageObserver>(this, web_contents));
+}
 
 DOMMessageQueue::DOMMessageQueue(RenderFrameHost* render_frame_host)
     : DOMMessageQueue(WebContents::FromRenderFrameHost(render_frame_host)) {
@@ -2638,18 +2671,6 @@
 
 DOMMessageQueue::~DOMMessageQueue() = default;
 
-void DOMMessageQueue::Observe(int type,
-                              const NotificationSource& source,
-                              const NotificationDetails& details) {
-  Details<std::string> dom_op_result(details);
-  OnDomMessageReceived(*dom_op_result.ptr());
-}
-
-void DOMMessageQueue::DomOperationResponse(RenderFrameHost* render_frame_host,
-                                           const std::string& json_string) {
-  OnDomMessageReceived(json_string);
-}
-
 void DOMMessageQueue::PrimaryMainFrameRenderProcessGone(
     base::TerminationStatus status) {
   VLOG(0) << "DOMMessageQueue::RenderProcessGone " << status;
@@ -2684,6 +2705,19 @@
     std::move(quit_closure_).Run();
 }
 
+void DOMMessageQueue::OnWebContentsCreated(WebContents* contents) {
+  observers_.emplace(std::make_unique<MessageObserver>(this, contents));
+}
+
+void DOMMessageQueue::OnBackingWebContentsDestroyed(MessageObserver* observer) {
+  for (auto& entry : observers_) {
+    if (entry.get() == observer) {
+      observers_.erase(entry);
+      break;
+    }
+  }
+}
+
 bool DOMMessageQueue::WaitForMessage(std::string* message) {
   DCHECK(message);
   if (!renderer_crashed_ && message_queue_.empty()) {
diff --git a/content/public/test/browser_test_utils.h b/content/public/test/browser_test_utils.h
index 0b82214..96b498d 100644
--- a/content/public/test/browser_test_utils.h
+++ b/content/public/test/browser_test_utils.h
@@ -29,8 +29,6 @@
 #include "components/viz/common/quads/compositor_frame.h"
 #include "content/public/browser/browser_message_filter.h"
 #include "content/public/browser/commit_deferring_condition.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
 #include "content/public/browser/render_frame_metadata_provider.h"
 #include "content/public/browser/render_process_host.h"
 #include "content/public/browser/render_process_host_observer.h"
@@ -1242,8 +1240,7 @@
 
 // Watches for responses from the DOMAutomationController and keeps them in a
 // queue. Useful for waiting for a message to be received.
-class DOMMessageQueue : public NotificationObserver,
-                        public WebContentsObserver {
+class DOMMessageQueue {
  public:
   // Constructs a DOMMessageQueue and begins listening for messages from the
   // DOMAutomationController. Do not construct this until the browser has
@@ -1263,7 +1260,7 @@
   DOMMessageQueue(const DOMMessageQueue&) = delete;
   DOMMessageQueue& operator=(const DOMMessageQueue&) = delete;
 
-  ~DOMMessageQueue() override;
+  ~DOMMessageQueue();
 
   // Removes all messages in the message queue.
   void ClearQueue();
@@ -1279,23 +1276,19 @@
   // Returns true if there are currently any messages in the queue.
   bool HasMessages();
 
-  // Overridden NotificationObserver methods.
-  void Observe(int type,
-               const NotificationSource& source,
-               const NotificationDetails& details) override;
-
-  // Overridden WebContentsObserver methods.
-  void DomOperationResponse(RenderFrameHost* render_frame_host,
-                            const std::string& json_string) override;
-  void PrimaryMainFrameRenderProcessGone(
-      base::TerminationStatus status) override;
-  void RenderFrameDeleted(RenderFrameHost* render_frame_host) override;
-
  private:
-  // Invoked when a message is received from the DomAutomationController.
-  void OnDomMessageReceived(const std::string& message);
+  class MessageObserver;
+  friend class MessageObserver;
 
-  NotificationRegistrar registrar_;
+  void OnDomMessageReceived(const std::string& message);
+  void PrimaryMainFrameRenderProcessGone(base::TerminationStatus status);
+  void RenderFrameDeleted(RenderFrameHost* render_frame_host);
+
+  void OnWebContentsCreated(WebContents* contents);
+  void OnBackingWebContentsDestroyed(MessageObserver* observer);
+
+  std::set<std::unique_ptr<MessageObserver>> observers_;
+  base::CallbackListSubscription web_contents_creation_subscription_;
   base::queue<std::string> message_queue_;
   base::OnceClosure quit_closure_;
   bool renderer_crashed_ = false;
diff --git a/content/public/test/test_renderer_host.h b/content/public/test/test_renderer_host.h
index e621000..8e96433 100644
--- a/content/public/test/test_renderer_host.h
+++ b/content/public/test/test_renderer_host.h
@@ -28,6 +28,10 @@
 #include "ui/aura/test/aura_test_helper.h"
 #endif
 
+#if !BUILDFLAG(IS_ANDROID)
+#include "third_party/blink/public/mojom/hid/hid.mojom-forward.h"
+#endif  // !BUILDFLAG(IS_ANDROID)
+
 namespace aura {
 namespace test {
 class AuraTestHelper;
@@ -145,6 +149,12 @@
   virtual RenderFrameHost* AppendFencedFrame(
       blink::mojom::FencedFrameMode mode =
           blink::mojom::FencedFrameMode::kDefault) = 0;
+
+#if !BUILDFLAG(IS_ANDROID)
+  // Creates the HidService and binds `receiver`.
+  virtual void CreateHidServiceForTesting(
+      mojo::PendingReceiver<blink::mojom::HidService> receiever) = 0;
+#endif  // !BUILDFLAG(IS_ANDROID)
 };
 
 // An interface and utility for driving tests of RenderViewHost.
diff --git a/content/shell/android/java/src/org/chromium/content_shell/Shell.java b/content/shell/android/java/src/org/chromium/content_shell/Shell.java
index 0123f70..6e936d0 100644
--- a/content/shell/android/java/src/org/chromium/content_shell/Shell.java
+++ b/content/shell/android/java/src/org/chromium/content_shell/Shell.java
@@ -5,6 +5,7 @@
 package org.chromium.content_shell;
 
 import android.content.Context;
+import android.graphics.Rect;
 import android.graphics.drawable.ClipDrawable;
 import android.text.TextUtils;
 import android.util.AttributeSet;
@@ -319,12 +320,12 @@
      * {link @ActionMode.Callback} that uses the default implementation in
      * {@link SelectionPopupController}.
      */
-    private ActionMode.Callback defaultActionCallback() {
+    private ActionMode.Callback2 defaultActionCallback() {
         final ActionModeCallbackHelper helper =
                 SelectionPopupController.fromWebContents(mWebContents)
                         .getActionModeCallbackHelper();
 
-        return new ActionMode.Callback() {
+        return new ActionMode.Callback2() {
             @Override
             public boolean onCreateActionMode(ActionMode mode, Menu menu) {
                 helper.onCreateActionMode(mode, menu);
@@ -345,6 +346,11 @@
             public void onDestroyActionMode(ActionMode mode) {
                 helper.onDestroyActionMode();
             }
+
+            @Override
+            public void onGetContentRect(ActionMode mode, View view, Rect outRect) {
+                helper.onGetContentRect(mode, view, outRect);
+            }
         };
     }
 
diff --git a/content/test/gpu/gpu_tests/gpu_helper.py b/content/test/gpu/gpu_tests/gpu_helper.py
index 2af9501..bcfb4fb 100644
--- a/content/test/gpu/gpu_tests/gpu_helper.py
+++ b/content/test/gpu/gpu_tests/gpu_helper.py
@@ -128,17 +128,6 @@
   return retval
 
 
-def GetSwiftShaderGLRenderer(gpu_info: tgi.GPUInfo) -> str:
-  if gpu_info and gpu_info.aux_attributes:
-    gl_renderer = gpu_info.aux_attributes.get('gl_renderer')
-    # Filter out ANGLE on top of SwiftShader Vulkan,
-    # as we are only interested in SwiftShader GL
-    if (gl_renderer and 'ANGLE' not in gl_renderer
-        and 'SwiftShader' in gl_renderer):
-      return 'swiftshader-gl'
-  return 'no-swiftshader-gl'
-
-
 def GetCommandDecoder(gpu_info: tgi.GPUInfo) -> str:
   if gpu_info and gpu_info.aux_attributes and \
       gpu_info.aux_attributes.get('passthrough_cmd_decoder', False):
diff --git a/content/test/gpu/gpu_tests/gpu_integration_test.py b/content/test/gpu/gpu_tests/gpu_integration_test.py
index 22dfb22..e1dc0b0 100644
--- a/content/test/gpu/gpu_tests/gpu_integration_test.py
+++ b/content/test/gpu/gpu_tests/gpu_integration_test.py
@@ -717,7 +717,6 @@
       # it's the discrete GPU, so that test expectations can be written that
       # target the discrete GPU.
       gpu_tags.append(gpu_helper.GetANGLERenderer(gpu_info))
-      gpu_tags.append(gpu_helper.GetSwiftShaderGLRenderer(gpu_info))
       gpu_tags.append(gpu_helper.GetCommandDecoder(gpu_info))
       gpu_tags.append(gpu_helper.GetOOPCanvasStatus(gpu_info.feature_status))
       gpu_tags.append(gpu_helper.GetAsanStatus(gpu_info))
@@ -737,11 +736,11 @@
             gpu_device_tag = '%s-%s' % (gpu_vendor, gpu_device_id)
           if ii == 0 or gpu_vendor != 'intel':
             gpu_tags.extend([gpu_vendor, gpu_device_tag])
-            # This acts as a way to add expectations for both HD 630 and UHD 630
-            # GPUs without resorting to the more generic "intel" tag.
-            if gpu_device_tag in ('intel-0x5912', 'intel-0x3e92',
-                                  'intel-0x9bc5'):
-              gpu_tags.append('intel-hd-630-family')
+            # This acts as a way to add expectations for Intel Gen9 GPUs
+            # without resorting to the more generic "intel" tag.
+            if gpu_vendor == 'intel' and (gpu_device_id & 0xFF00) in (
+                0x1900, 0x3100, 0x3E00, 0x5900, 0x5A00, 0x9B00):
+              gpu_tags.extend(['intel-gen-9', 'intel-hd-630-family'])
       # all spaces and underscores in the tag will be replaced by dashes
       tags.extend([re.sub('[ _]', '-', tag) for tag in gpu_tags])
 
diff --git a/content/test/gpu/gpu_tests/gpu_integration_test_unittest.py b/content/test/gpu/gpu_tests/gpu_integration_test_unittest.py
index 3debcb5b..33c5f7a 100644
--- a/content/test/gpu/gpu_tests/gpu_integration_test_unittest.py
+++ b/content/test/gpu/gpu_tests/gpu_integration_test_unittest.py
@@ -242,8 +242,7 @@
         _GetTagsToTest(browser),
         set([
             'win', 'win10', 'release', 'nvidia', 'nvidia-0x1cb3', 'angle-d3d9',
-            'no-passthrough', 'no-swiftshader-gl', 'skia-renderer-disabled',
-            'no-oop-c', 'no-asan'
+            'no-passthrough', 'skia-renderer-disabled', 'no-oop-c', 'no-asan'
         ]))
 
   @mock.patch('sys.platform', 'darwin')
@@ -260,7 +259,7 @@
         set([
             'mac', 'mojave', 'release', 'imagination', 'no-asan',
             'imagination-PowerVR-SGX-554', 'angle-opengles', 'passthrough',
-            'no-swiftshader-gl', 'skia-renderer-disabled', 'no-oop-c'
+            'skia-renderer-disabled', 'no-oop-c'
         ]))
 
   @mock.patch('sys.platform', 'darwin')
@@ -275,8 +274,7 @@
         set([
             'mac', 'mojave', 'release', 'imagination', 'no-asan',
             'imagination-Triangle-Monster-3000', 'angle-disabled',
-            'no-passthrough', 'no-swiftshader-gl', 'skia-renderer-disabled',
-            'no-oop-c'
+            'no-passthrough', 'skia-renderer-disabled', 'no-oop-c'
         ]))
 
   @mock.patch.dict(os.environ, clear=True)
diff --git a/content/test/gpu/gpu_tests/test_expectations/cast_streaming_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/cast_streaming_expectations.txt
index edcd3538..f3bf0a7 100644
--- a/content/test/gpu/gpu_tests/test_expectations/cast_streaming_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/cast_streaming_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/context_lost_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/context_lost_expectations.txt
index 7872d28..02f708b 100644
--- a/content/test/gpu/gpu_tests/test_expectations/context_lost_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/context_lost_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/gpu_process_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/gpu_process_expectations.txt
index 8fce55c9..8039f04 100644
--- a/content/test/gpu/gpu_tests/test_expectations/gpu_process_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/gpu_process_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/hardware_accelerated_feature_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/hardware_accelerated_feature_expectations.txt
index b97e550..fd3dcbe0 100644
--- a/content/test/gpu/gpu_tests/test_expectations/hardware_accelerated_feature_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/hardware_accelerated_feature_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/info_collection_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/info_collection_expectations.txt
index 4585b6b..7aa0fd0 100644
--- a/content/test/gpu/gpu_tests/test_expectations/info_collection_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/info_collection_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/maps_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/maps_expectations.txt
index f736e39e..77c85e5f 100644
--- a/content/test/gpu/gpu_tests/test_expectations/maps_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/maps_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/mediapipe_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/mediapipe_expectations.txt
index ac3dff2..b04477f 100644
--- a/content/test/gpu/gpu_tests/test_expectations/mediapipe_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/mediapipe_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/pixel_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/pixel_expectations.txt
index 92f157f6..47f76d9d 100644
--- a/content/test/gpu/gpu_tests/test_expectations/pixel_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/pixel_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/power_measurement_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/power_measurement_expectations.txt
index c6be312..116877c 100644
--- a/content/test/gpu/gpu_tests/test_expectations/power_measurement_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/power_measurement_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/screenshot_sync_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/screenshot_sync_expectations.txt
index 79836a0..671909d 100644
--- a/content/test/gpu/gpu_tests/test_expectations/screenshot_sync_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/screenshot_sync_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/trace_test_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/trace_test_expectations.txt
index 3cf3a49b..8d596ab 100644
--- a/content/test/gpu/gpu_tests/test_expectations/trace_test_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/trace_test_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/webcodecs_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/webcodecs_expectations.txt
index f3d527e..cb13e60f 100644
--- a/content/test/gpu/gpu_tests/test_expectations/webcodecs_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/webcodecs_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
index 0b638bb..ae4d169e 100644
--- a/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
index 8f056572..9d78b587 100644
--- a/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
@@ -25,8 +25,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -42,8 +43,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
@@ -118,33 +117,24 @@
 crbug.com/1194209 [ mac no-passthrough ] WebglExtension_WEBGL_webcodecs_video_frame [ Skip ]
 
 # Extensions not available with SwiftShader
-crbug.com/1099955 [ swiftshader-gl angle-disabled linux ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
-crbug.com/1099955 [ swiftshader-gl angle-disabled mac   ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
-crbug.com/1099955 [ swiftshader-gl angle-disabled win   ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
-crbug.com/1099955 [ swiftshader-gl angle-disabled linux ] WebglExtension_EXT_shader_texture_lod [ Skip ]
-crbug.com/1099955 [ swiftshader-gl angle-disabled mac   ] WebglExtension_EXT_shader_texture_lod [ Skip ]
-crbug.com/1099955 [ swiftshader-gl angle-disabled win   ] WebglExtension_EXT_shader_texture_lod [ Skip ]
-crbug.com/1099955 [ swiftshader-gl angle-disabled linux ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
-crbug.com/1099955 [ swiftshader-gl angle-disabled win   ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
-crbug.com/1280666 [ swiftshader-gl angle-disabled mac ] WebglExtension_WEBGL_compressed_texture_s3tc_srgb [ Skip ]
-crbug.com/1099955 [ angle-swiftshader no-swiftshader-gl linux ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
-crbug.com/1099955 [ angle-swiftshader no-swiftshader-gl mac   ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
-crbug.com/1099955 [ angle-swiftshader no-swiftshader-gl win   ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
-crbug.com/1099955 [ angle-swiftshader no-swiftshader-gl linux ] WebglExtension_EXT_shader_texture_lod [ Skip ]
-crbug.com/1099955 [ angle-swiftshader no-swiftshader-gl mac   ] WebglExtension_EXT_shader_texture_lod [ Skip ]
-crbug.com/1099955 [ angle-swiftshader no-swiftshader-gl win   ] WebglExtension_EXT_shader_texture_lod [ Skip ]
-crbug.com/1099955 [ angle-swiftshader no-swiftshader-gl linux ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
-crbug.com/1099955 [ angle-swiftshader no-swiftshader-gl win   ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
+crbug.com/1099955 [ angle-swiftshader linux ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
+crbug.com/1099955 [ angle-swiftshader mac   ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
+crbug.com/1099955 [ angle-swiftshader win   ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
+crbug.com/1099955 [ angle-swiftshader linux ] WebglExtension_EXT_shader_texture_lod [ Skip ]
+crbug.com/1099955 [ angle-swiftshader mac   ] WebglExtension_EXT_shader_texture_lod [ Skip ]
+crbug.com/1099955 [ angle-swiftshader win   ] WebglExtension_EXT_shader_texture_lod [ Skip ]
+crbug.com/1099955 [ angle-swiftshader linux ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
+crbug.com/1099955 [ angle-swiftshader win   ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
 
 # Extensions not available under D3D9
 crbug.com/867718 [ win angle-d3d9 ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
 [ win amd angle-d3d9 ] WebglExtension_WEBGL_depth_texture [ Skip ]
 [ win angle-d3d9 ] WebglExtension_WEBGL_draw_buffers [ Skip ]
 [ win angle-d3d9 ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
-[ win angle-d3d9 no-swiftshader-gl ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
+[ win angle-d3d9 ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
 
 # Android general
-[ android no-swiftshader-gl ] WebglExtension_EXT_frag_depth [ Skip ]
+[ android ] WebglExtension_EXT_frag_depth [ Skip ]
 [ android ] WebglExtension_WEBGL_compressed_texture_pvrtc [ Skip ]
 [ android ] WebglExtension_WEBGL_compressed_texture_s3tc [ Skip ]
 
@@ -155,14 +145,14 @@
 [ android qualcomm ] WebglExtension_EXT_shader_texture_lod [ Skip ]
 [ android qualcomm ] WebglExtension_WEBGL_draw_buffers [ Skip ]
 [ android qualcomm ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
-[ android qualcomm no-swiftshader-gl ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
+[ android qualcomm ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
 [ android android-nexus-5 no-passthrough ] WebglExtension_OES_texture_float_linear [ Skip ]
 [ android android-nexus-5 ] WebglExtension_WEBGL_depth_texture [ Skip ]
 [ android android-nexus-5 ] WebglExtension_WEBGL_compressed_texture_astc [ Skip ]
 [ android android-nexus-5x ] WebglExtension_WEBGL_depth_texture [ Skip ]
-[ android android-nexus-5x no-swiftshader-gl ] WebglExtension_EXT_sRGB [ Skip ]
+[ android android-nexus-5x ] WebglExtension_EXT_sRGB [ Skip ]
 crbug.com/1286830 [ android arm ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
-crbug.com/1286830 [ android arm no-swiftshader-gl ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
+crbug.com/1286830 [ android arm ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
 
 # Extensions not available on angle-vulkan
 crbug.com/1187260 [ angle-vulkan passthrough ] WebglExtension_WEBGL_debug_shaders [ Skip ]
@@ -177,7 +167,7 @@
 crbug.com/angleproject/4846 [ mac angle-metal passthrough ] WebglExtension_OES_fbo_render_mipmap [ Skip ]
 
 # Extensions not available on ChromeOS.
-crbug.com/957807 [ chromeos no-swiftshader-gl ] WebglExtension_EXT_sRGB [ Skip ]
+crbug.com/957807 [ chromeos ] WebglExtension_EXT_sRGB [ Skip ]
 crbug.com/957807 [ chromeos ] WebglExtension_EXT_shader_texture_lod [ Skip ]
 crbug.com/957807 [ chromeos ] WebglExtension_EXT_texture_filter_anisotropic [ Skip ]
 crbug.com/957807 [ chromeos ] WebglExtension_WEBGL_compressed_texture_pvrtc [ Skip ]
@@ -187,8 +177,8 @@
 [ fuchsia ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
 [ fuchsia fuchsia-board-astro ] WebglExtension_WEBGL_compressed_texture_s3tc [ Skip ]
 [ fuchsia fuchsia-board-sherlock ] WebglExtension_WEBGL_compressed_texture_s3tc [ Skip ]
-[ fuchsia fuchsia-board-astro no-swiftshader-gl ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
-[ fuchsia fuchsia-board-sherlock no-swiftshader-gl ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
+[ fuchsia fuchsia-board-astro ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
+[ fuchsia fuchsia-board-sherlock ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
 
 # This test uses H.264 and the ChromeOS and Fuchsia bots aren't compiled with
 # proprietary codecs.
@@ -197,7 +187,7 @@
 
 # Texture compression is only expected to be available on desktop GPUs.
 crbug.com/1080360 [ chromeos chromeos-board-kevin ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
-crbug.com/1080401 [ chromeos chromeos-board-kevin no-swiftshader-gl ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
+crbug.com/1080401 [ chromeos chromeos-board-kevin ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
 crbug.com/1080408 [ chromeos chromeos-board-kevin ] WebglExtension_WEBGL_compressed_texture_s3tc [ Skip ]
 crbug.com/1080377 [ chromeos chromeos-board-kevin ] WebglExtension_WEBGL_compressed_texture_s3tc_srgb [ Skip ]
 
@@ -281,7 +271,7 @@
 # Fails on Android Nvidia Tegra driver version 343, passes on 361
 # We don't have tags for specific driver version so just fail all.
 [ android nvidia ] WebglExtension_EXT_texture_compression_bptc [ Failure ]
-[ android nvidia no-swiftshader-gl ] WebglExtension_EXT_texture_compression_rgtc [ Failure ]
+[ android nvidia ] WebglExtension_EXT_texture_compression_rgtc [ Failure ]
 
 # ========================
 # Conformance expectations
@@ -464,7 +454,7 @@
 # Mac failures     #
 ####################
 
-crbug.com/844311 [ mac no-swiftshader-gl ] conformance/glsl/misc/fragcolor-fragdata-invariant.html [ Failure ]
+crbug.com/844311 [ mac ] conformance/glsl/misc/fragcolor-fragdata-invariant.html [ Failure ]
 
 # Mac AMD failures
 crbug.com/642822 [ mac amd ] conformance/rendering/clipping-wide-points.html [ Failure ]
@@ -502,8 +492,8 @@
 
 # Mac / Passthrough command decoder / Metal / Intel
 crbug.com/angleproject/4846 [ mac angle-metal passthrough intel ] conformance/rendering/rendering-stencil-large-viewport.html [ Failure ]
-crbug.com/1291005 [ mac angle-metal no-swiftshader-gl intel ] conformance/textures/video/tex-2d-rgb-rgb-unsigned_byte.html [ RetryOnFailure ]
-crbug.com/1291005 [ mac angle-metal no-swiftshader-gl intel ] conformance/textures/video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html [ RetryOnFailure ]
+crbug.com/1291005 [ mac angle-metal intel ] conformance/textures/video/tex-2d-rgb-rgb-unsigned_byte.html [ RetryOnFailure ]
+crbug.com/1291005 [ mac angle-metal intel ] conformance/textures/video/tex-2d-rgba-rgba-unsigned_short_4_4_4_4.html [ RetryOnFailure ]
 
 # Mac / M1 / OpenGL
 crbug.com/1130703 [ mac apple-apple-m1 passthrough angle-opengl ] conformance/textures/misc/texture-copying-and-deletion.html [ Failure ]
@@ -608,7 +598,7 @@
 crbug.com/882323 [ android android-nexus-5x ] deqp/data/gles2/shaders/conversions.html [ Failure ]
 crbug.com/609883 [ android android-nexus-5x ] conformance/glsl/bugs/sampler-struct-function-arg.html [ Failure ]
 crbug.com/1043431 [ android android-nexus-5x ] conformance/limits/gl-max-texture-dimensions.html [ RetryOnFailure ]
-crbug.com/951628 [ android android-nexus-5x no-passthrough no-swiftshader-gl ] conformance/rendering/blending.html [ Failure ]
+crbug.com/951628 [ android android-nexus-5x no-passthrough ] conformance/rendering/blending.html [ Failure ]
 crbug.com/1083320 [ android android-nexus-5x ] conformance/misc/uninitialized-test.html [ Failure ]
 crbug.com/1056830 [ android android-nexus-5x ] conformance/extensions/webgl-compressed-texture-astc.html [ Failure ]
 # Timing out on this device for unknown reasons.
@@ -628,7 +618,7 @@
 
 # Pixel 4
 crbug.com/1175223 [ android android-pixel-4 angle-opengles passthrough ] conformance/extensions/angle-instanced-arrays-out-of-bounds.html [ Failure ]
-crbug.com/1175226 [ android android-pixel-4 no-passthrough no-swiftshader-gl ] conformance/rendering/blending.html [ Failure ]
+crbug.com/1175226 [ android android-pixel-4 no-passthrough ] conformance/rendering/blending.html [ Failure ]
 crbug.com/1278904 [ android android-pixel-4 android-chromium ] conformance/textures/misc/texture-npot-video.html [ RetryOnFailure ]
 
 # Pixel 6
@@ -689,7 +679,7 @@
 
 # Arm-based issues.
 crbug.com/1080400 [ chromeos chromeos-board-kevin ] WebglExtension_EXT_color_buffer_half_float [ Failure ]
-crbug.com/1080356 [ chromeos chromeos-board-kevin no-swiftshader-gl ] WebglExtension_EXT_frag_depth [ Failure ]
+crbug.com/1080356 [ chromeos chromeos-board-kevin ] WebglExtension_EXT_frag_depth [ Failure ]
 crbug.com/1080375 [ chromeos chromeos-board-kevin ] WebglExtension_OES_texture_float [ Failure ]
 crbug.com/1080402 [ chromeos chromeos-board-kevin ] WebglExtension_OES_texture_float_linear [ Failure ]
 crbug.com/1080403 [ chromeos chromeos-board-kevin ] WebglExtension_OES_texture_half_float [ Failure ]
@@ -711,24 +701,12 @@
 # Lacros/Wayland failures #
 ###########################
 
-crbug.com/1185344 [ linux display-server-wayland intel no-swiftshader-gl angle-disabled ] WebglExtension_EXT_sRGB [ Failure ]
-crbug.com/1185344 [ linux display-server-wayland intel no-swiftshader-gl angle-disabled ] WebglExtension_EXT_shader_texture_lod [ Failure ]
+crbug.com/1185344 [ linux display-server-wayland intel angle-disabled ] WebglExtension_EXT_sRGB [ Failure ]
+crbug.com/1185344 [ linux display-server-wayland intel angle-disabled ] WebglExtension_EXT_shader_texture_lod [ Failure ]
 
 # Failures on validating command decoder only; won't fix.
 crbug.com/angleproject/5038 [ linux intel display-server-wayland no-passthrough ] conformance/extensions/ext-color-buffer-half-float.html [ Failure ]
 
-########################
-# SwiftShader failures #
-########################
-
-# All platforms, GL backend
-crbug.com/1099959 [ swiftshader-gl no-passthrough ] conformance/extensions/oes-fbo-render-mipmap.html [ Failure ]
-crbug.com/1099959 [ swiftshader-gl no-passthrough ] conformance/glsl/misc/fragcolor-fragdata-invariant.html [ Failure ]
-crbug.com/1099959 [ swiftshader-gl no-passthrough ] conformance/rendering/blending.html [ Failure ]
-crbug.com/1099959 [ swiftshader-gl no-passthrough ] WebglExtension_EXT_frag_depth [ Failure ]
-crbug.com/1099959 [ swiftshader-gl no-passthrough ] WebglExtension_EXT_sRGB [ Failure ]
-crbug.com/1099959 [ swiftshader-gl no-passthrough ] WebglExtension_EXT_texture_compression_rgtc [ Failure ]
-
 # Flaky tests on Android Nexus 5
 crbug.com/1341423 [ android android-nexus-5 no-passthrough ] conformance/rendering/draw-webgl-to-canvas-2d-repeatedly.html [ RetryOnFailure ]
 crbug.com/1341423 [ android android-nexus-5 no-passthrough ] conformance/rendering/color-mask-preserved-during-implicit-clears.html [ RetryOnFailure ]
diff --git a/content/test/gpu/validate_tag_consistency.py b/content/test/gpu/validate_tag_consistency.py
index 43662066..b69f043e 100755
--- a/content/test/gpu/validate_tag_consistency.py
+++ b/content/test/gpu/validate_tag_consistency.py
@@ -38,8 +38,9 @@
 #         apple apple-apple-m1 apple-angle-metal-renderer:-apple-m1
 #         arm
 #         google google-0xffff
-#         intel intel-hd-630-family intel-0xa2e intel-0xd26 intel-0xa011
-#               intel-0x3e92 intel-0x3e9b intel-0x5912 intel-0x9bc5
+#         intel intel-hd-630-family intel-gen-9 intel-0xa2e intel-0xd26
+#               intel-0xa011 intel-0x3e92 intel-0x3e9b intel-0x5912
+#               intel-0x9bc5
 #         nvidia nvidia-0xfe9 nvidia-0x1cb3 nvidia-0x2184
 #         qualcomm ]
 # Decoder
@@ -55,8 +56,6 @@
 # tags: [ skia-renderer-dawn
 #         skia-renderer-gl
 #         skia-renderer-vulkan ]
-# SwiftShader
-# tags: [ swiftshader-gl no-swiftshader-gl ]
 # Driver
 # tags: [ mesa_lt_19.1
 #         mesa_ge_21.0 ]
diff --git a/content/test/test_render_frame_host.cc b/content/test/test_render_frame_host.cc
index b46aa9f..c599d7a 100644
--- a/content/test/test_render_frame_host.cc
+++ b/content/test/test_render_frame_host.cc
@@ -546,6 +546,13 @@
   return RenderFrameHostImpl::GetWebBluetoothServiceForTesting();
 }
 
+#if !BUILDFLAG(IS_ANDROID)
+void TestRenderFrameHost::CreateHidServiceForTesting(
+    mojo::PendingReceiver<blink::mojom::HidService> receiver) {
+  RenderFrameHostImpl::GetHidService(std::move(receiver));
+}
+#endif  // !BUILDFLAG(IS_ANDROID)
+
 void TestRenderFrameHost::SendCommitNavigation(
     mojom::NavigationClient* navigation_client,
     NavigationRequest* navigation_request,
diff --git a/content/test/test_render_frame_host.h b/content/test/test_render_frame_host.h
index 39b93fa..6cc1d22 100644
--- a/content/test/test_render_frame_host.h
+++ b/content/test/test_render_frame_host.h
@@ -30,6 +30,10 @@
 #include "third_party/blink/public/mojom/security_context/insecure_request_policy.mojom-forward.h"
 #include "ui/base/page_transition_types.h"
 
+#if !BUILDFLAG(IS_ANDROID)
+#include "third_party/blink/public/mojom/hid/hid.mojom-forward.h"
+#endif  // !BUILDFLAG(IS_ANDROID)
+
 namespace net {
 class IPEndPoint;
 }
@@ -107,6 +111,11 @@
       blink::mojom::FencedFrameMode mode =
           blink::mojom::FencedFrameMode::kDefault) override;
 
+#if !BUILDFLAG(IS_ANDROID)
+  void CreateHidServiceForTesting(
+      mojo::PendingReceiver<blink::mojom::HidService> receiver) override;
+#endif  // !BUILDFLAG(IS_ANDROID)
+
   void SendNavigate(int nav_entry_id,
                     bool did_create_new_entry,
                     const GURL& url);
diff --git a/docs/callback.md b/docs/callback.md
index c0dabf4..a54e991 100644
--- a/docs/callback.md
+++ b/docs/callback.md
@@ -577,53 +577,78 @@
 
 ### Binding A Class Method With Weak Pointers
 
-If `MyClass` has a `base::WeakPtr<MyClass> weak_this_` member (see below)
-then a class method can be bound with:
+Callbacks to a class method may be bound using a weak pointer as the receiver.
+A callback bound using a weak pointer receiver will be automatically cancelled
+(calling `Run()` becomes a no-op) if the weak pointer is invalidated, e.g. its
+associated class instance is destroyed.
 
-```cpp
-base::BindOnce(&MyClass::Foo, weak_this_);
-```
-
-The callback will not be run if the object has already been destroyed.
-
-Note that class method callbacks bound to `base::WeakPtr`s may only be
-run on the same sequence on which the object will be destroyed, since otherwise
-execution of the callback might race with the object's deletion.
-
-To use `base::WeakPtr` with `base::Bind{Once, Repeating}()` as the `this`
-pointer to a method bound in a callback, `MyClass` will typically look like:
+The most common way to use this pattern is by embedding a `base::WeakPtrFactory`
+field, e.g.:
 
 ```cpp
 class MyClass {
-public:
-  MyClass() {
-    weak_this_ = weak_factory_.GetWeakPtr();
-  }
-private:
-  base::WeakPtr<MyClass> weak_this_;
-  // MyClass member variables go here.
+ public:
+  MyClass();
+
+  void Foo();
+
+ private:
+  std::string data_;
+
+  // Chrome's compiler toolchain enforces that any `WeakPtrFactory`
+  // fields are declared last, to avoid destruction ordering issues.
   base::WeakPtrFactory<MyClass> weak_factory_{this};
 };
 ```
 
-`weak_factory_` is the last member variable in `MyClass` so that it is
-destroyed first. This ensures that if any class methods bound to `weak_this_`
-are `Run()` during teardown, then they will not actually be executed.
+Then use `base::WeakPtrFactory<T>::GetWeakPtr()` as the receiver when
+binding a callback:
 
-If `MyClass` only ever binds and executes callbacks on the same sequence, then
-it is generally safe to call `weak_factory_.GetWeakPtr()` at the
-`base::Bind{Once, Repeating}()` call, rather than taking a separate `weak_this_`
-during construction.
+```cpp
+base::SequencedTaskRunnerHandle::Get()->PostTask(
+    FROM_HERE,
+    base::BindOnce(&MyClass::Foo, weak_factory_.GetWeakPtr());
+```
+
+If `this` is destroyed before the posted callback runs, the callback will
+simply become a no-op when run, rather than being a use-after-free bug on
+the destroyed `MyClass` instance.
+
+**Sequence safety**
+
+Class method callbacks bound to `base::WeakPtr`s must be run on the same
+sequence on which the object will be destroyed to avoid potential races
+between object destruction and callback execution. The same caveat applies if
+a class manually invalidates live `base::WeakPtr`s with
+`base::WeakPtrFactory<T>::InvalidateWeakPtrs()`.
 
 ### Binding A Class Method With Manual Lifetime Management
 
+If a callback bound to a class method does not need cancel-on-destroy
+semantics (because there is some external guarantee that the class instance will
+always be live when running the callback), then use:
+
 ```cpp
-base::BindOnce(&MyClass::Foo, base::Unretained(this));
+// base::Unretained() is safe since `this` joins `background_thread_` in the
+// destructor.
+background_thread_->PostTask(
+    FROM_HERE, base::BindOnce(&MyClass::Foo, base::Unretained(this)));
 ```
 
-This disables all lifetime management on the object. You're responsible for
-making sure the object is alive at the time of the call. You break it, you own
-it!
+It is often a good idea to add a brief comment to explain why
+`base::Unretained()` is safe in this context; if nothing else, for future code
+archaeologists trying to fix a use-after-free bug.
+
+An alternative is `base::WeakPtrFactory<T>::GetSafeRef()`:
+
+```cpp
+background_thread_->PostTask(
+    FROM_HERE, base::BindOnce(&MyClass::Foo, weak_factory_.GetSafeRef());
+```
+
+Similar to `base::Unretained()`, this disables cancel-on-destroy semantics;
+unlike `base::Unretained()`, this is guaranteed to terminate safely if the
+lifetime expectations are violated.
 
 ### Binding A Class Method And Having The Callback Own The Class
 
diff --git a/docs/ui/animation_builder/animation_builder.md b/docs/ui/animation_builder/animation_builder.md
index 9eb6ecd1..02cfffd 100644
--- a/docs/ui/animation_builder/animation_builder.md
+++ b/docs/ui/animation_builder/animation_builder.md
@@ -108,7 +108,7 @@
 #### Setting callbacks
 When setting callbacks for the animations note that the AnimationBuilder’s observer that calls these callbacks may outlive the callback's parameters.
 
-The OnEnded callback runs when all animations created on the AnimationBuilder have finished. The OnAborted callback runs when any one animation created on the AnimationBuilder has been aborted. Therefore, these callbacks and every object the callback accesses needs to outlive all the Layers/LayerOwners being animated on since the Layers ultimately own the objects that run the animation. Otherwise developers may need to use weak pointers or force animations to be cancelled in the object’s destructor to prevent accessing destroyed objects.
+The OnEnded callback runs when all animations created on the AnimationBuilder have finished. The OnAborted callback runs when any one animation created on the AnimationBuilder has been aborted. Therefore, these callbacks and every object the callback accesses needs to outlive all the Layers/LayerOwners being animated on since the Layers ultimately own the objects that run the animation. Otherwise developers may need to use weak pointers or force animations to be cancelled in the object’s destructor to prevent accessing destroyed objects. Note that aborted notifications can be sent during the destruction process. Therefore subclasses that own the Layers may actually be destroyed before the OnAborted callback is run.
 
 #### API
 ``` cpp
diff --git a/extensions/browser/api/metrics_private/metrics_private_api.cc b/extensions/browser/api/metrics_private/metrics_private_api.cc
index 24a73bc..afb5496 100644
--- a/extensions/browser/api/metrics_private/metrics_private_api.cc
+++ b/extensions/browser/api/metrics_private/metrics_private_api.cc
@@ -32,7 +32,6 @@
 namespace RecordValue = api::metrics_private::RecordValue;
 namespace RecordBoolean = api::metrics_private::RecordBoolean;
 namespace RecordEnumerationValue = api::metrics_private::RecordEnumerationValue;
-namespace RecordSparseHashable = api::metrics_private::RecordSparseHashable;
 namespace RecordSparseValueWithHashMetricName =
     api::metrics_private::RecordSparseValueWithHashMetricName;
 namespace RecordSparseValueWithPersistentHash =
@@ -154,15 +153,6 @@
 }
 
 ExtensionFunction::ResponseAction
-MetricsPrivateRecordSparseHashableFunction::Run() {
-  auto params = RecordSparseHashable::Params::Create(args());
-  EXTENSION_FUNCTION_VALIDATE(params);
-  base::UmaHistogramSparse(params->metric_name,
-                           base::PersistentHash(params->value));
-  return RespondNow(NoArguments());
-}
-
-ExtensionFunction::ResponseAction
 MetricsPrivateRecordSparseValueWithHashMetricNameFunction::Run() {
   auto params = RecordSparseValueWithHashMetricName::Params::Create(args());
   EXTENSION_FUNCTION_VALIDATE(params);
diff --git a/extensions/browser/api/metrics_private/metrics_private_api.h b/extensions/browser/api/metrics_private/metrics_private_api.h
index 398abda6..3aeb22f2 100644
--- a/extensions/browser/api/metrics_private/metrics_private_api.h
+++ b/extensions/browser/api/metrics_private/metrics_private_api.h
@@ -113,19 +113,6 @@
   ResponseAction Run() override;
 };
 
-class MetricsPrivateRecordSparseHashableFunction
-    : public MetricsHistogramHelperFunction {
- public:
-  DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordSparseHashable",
-                             METRICSPRIVATE_RECORDSPARSEHASHABLE)
-
- protected:
-  ~MetricsPrivateRecordSparseHashableFunction() override {}
-
-  // ExtensionFunction:
-  ResponseAction Run() override;
-};
-
 class MetricsPrivateRecordSparseValueWithHashMetricNameFunction
     : public MetricsHistogramHelperFunction {
  public:
diff --git a/extensions/browser/api/networking_private/networking_private_chromeos.cc b/extensions/browser/api/networking_private/networking_private_chromeos.cc
index 8afeffa..ace4d92 100644
--- a/extensions/browser/api/networking_private/networking_private_chromeos.cc
+++ b/extensions/browser/api/networking_private/networking_private_chromeos.cc
@@ -575,8 +575,8 @@
             ash::NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_OFFLINE));
     return;
   }
-  ash::NetworkState::PortalState portal_state = network->portal_state();
-  std::move(success_callback).Run(PortalStatusString(portal_state));
+  std::move(success_callback)
+      .Run(PortalStatusString(network->GetPortalState()));
 }
 
 void NetworkingPrivateChromeOS::UnlockCellularSim(
diff --git a/extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc b/extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc
index c385f19..66e1477d 100644
--- a/extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc
+++ b/extensions/browser/api/networking_private/networking_private_event_router_chromeos.cc
@@ -36,7 +36,7 @@
     return api::networking_private::CAPTIVE_PORTAL_STATUS_UNKNOWN;
   if (!network->IsConnectedState())
     return api::networking_private::CAPTIVE_PORTAL_STATUS_OFFLINE;
-  switch (network->portal_state()) {
+  switch (network->GetPortalState()) {
     case NetworkState::PortalState::kUnknown:
       return api::networking_private::CAPTIVE_PORTAL_STATUS_UNKNOWN;
     case NetworkState::PortalState::kOnline:
diff --git a/extensions/browser/extension_function_histogram_value.h b/extensions/browser/extension_function_histogram_value.h
index a6c1c17..7ededbf 100644
--- a/extensions/browser/extension_function_histogram_value.h
+++ b/extensions/browser/extension_function_histogram_value.h
@@ -1252,7 +1252,7 @@
   FILEMANAGERPRIVATE_GETRECENTFILES = 1189,
   FILEMANAGERPRIVATE_RENAMEVOLUME = 1190,
   AUTOTESTPRIVATE_SETMOUSEREVERSESCROLL = 1191,
-  METRICSPRIVATE_RECORDSPARSEHASHABLE = 1192,
+  DELETED_METRICSPRIVATE_RECORDSPARSEHASHABLE = 1192,
   NETWORKINGPRIVATE_SELECTCELLULARMOBILENETWORK = 1193,
   PASSWORDSPRIVATE_IMPORTPASSWORDS = 1194,
   PASSWORDSPRIVATE_EXPORTPASSWORDS = 1195,
diff --git a/extensions/common/api/metrics_private.json b/extensions/common/api/metrics_private.json
index 4934c84..5183f2b 100644
--- a/extensions/common/api/metrics_private.json
+++ b/extensions/common/api/metrics_private.json
@@ -188,15 +188,6 @@
         ]
       },
       {
-        "name": "recordSparseHashable",
-        "type": "function",
-        "description": "Increments the count associated with the hash of |value| in the sparse histogram defined by the |metricName| using base::PersistentHash(value). Prefer recordSparseValueWithPersistentHash.",
-        "parameters": [
-          {"name": "metricName", "type": "string"},
-          {"name": "value", "type": "string"}
-        ]
-      },
-      {
         "name": "recordSparseValueWithHashMetricName",
         "type": "function",
         "description": "Increments the count associated with the hash of |value| in the sparse histogram defined by the |metricName| using base::HashMetricName(value).",
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index d091e841..6b8ad06c 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -2433,7 +2433,7 @@
         Stay protected from dangerous websites
       </message>
       <message name="IDS_IOS_SETTINGS_HTTPS_ONLY_MODE_TITLE" desc="Title for HTTPS-Only Mode toggle in settings">
-        Always use secure connections
+        Always Use Secure Connections
       </message>
       <message name="IDS_IOS_SETTINGS_HTTPS_ONLY_MODE_DESCRIPTION" desc="Description text of HTTPS-Only Mode in  settings">
         Upgrade to HTTPS, when possible. Secure sites might embed content that isn't secure.
diff --git a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SETTINGS_HTTPS_ONLY_MODE_TITLE.png.sha1 b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SETTINGS_HTTPS_ONLY_MODE_TITLE.png.sha1
index 2d9fd86..124fb3d 100644
--- a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SETTINGS_HTTPS_ONLY_MODE_TITLE.png.sha1
+++ b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_SETTINGS_HTTPS_ONLY_MODE_TITLE.png.sha1
@@ -1 +1 @@
-691101cce715fac7a9e71d1c4fc7b38f608d1025
\ No newline at end of file
+3cc0a3b0922670d4b1c05a3441199dcd8ab56cce
\ No newline at end of file
diff --git a/ios/chrome/app/strings/resources/ios_strings_af.xtb b/ios/chrome/app/strings/resources/ios_strings_af.xtb
index 4f36495..d0ceb6b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_af.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_af.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Meld nou aan</translation>
 <translation id="4505980578794259603">Laas gekontroleer: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Maak aanmelding-promosie toe</translation>
-<translation id="4511669830082467224">Soek prent met Google</translation>
 <translation id="4526249700380860531">Bekyk en bestuur gestoorde wagwoorde by <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Gaan jou gesinkroniseerde data na</translation>
 <translation id="4536418791685807335">Probeer om weer aan te meld.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_am.xtb b/ios/chrome/app/strings/resources/ios_strings_am.xtb
index 6b20459..0f1c09e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_am.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_am.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">ማተም አልተሳካም።</translation>
 <translation id="1125564390852150847">አዲስ ትር ፍጠር።</translation>
 <translation id="1126809382673880764">እርስዎን አደገኛ ከሆኑ የድር ጣቢያዎች፣ ማውረዶች እና ቅጥያዎች አይጠብቀዎትም። አሁንም የሚገኝ በሆነበት ጊዜ እንደ Gmail እና ፍለጋ ባሉ ሌሎች የGoogle አገልግሎቶች ላይ የጥንቃቄ አሰሳ ጥበቃን ያገኛሉ።</translation>
+<translation id="1135212215217513471">ለiOS Chromeን አግኝ</translation>
 <translation id="1145536944570833626">ነባሩን ውሂብ ይሰርዙ።</translation>
 <translation id="1147031633655575115">እንደ <ph name="USER" /> ሆነው ገብተዋል</translation>
 <translation id="1154984953698510061">ሌሎች ትሮችን ይመልከቱ</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">የስምረት ውሂብዎን ሁልጊዜ መድረስ መቻልዎን ለማረጋገጥ እርስዎ መሆንዎን ያረጋግጡ</translation>
 <translation id="1870148520156231997">ይለፍ ቃልን አሳይ</translation>
 <translation id="1872096359983322073">የባትሪ ብርሃን</translation>
+<translation id="1910975740091000991">Chrome ለiOS</translation>
 <translation id="1911619930368729126">ወደ Google Drive ስቀል</translation>
 <translation id="1923342640370224680">የመጨረሻው ሰዓት</translation>
 <translation id="1930989359703290198">በተወሰኑ መለያዎች አማካኝነት ብቻ እንዲገቡ ድርጅትዎ ይፈቅድልዎታል። ያልተፈቀዱ መለያዎች ተደብቀዋል። <ph name="BEGIN_LINK" />የበለጠ ለመረዳት<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">የቀዱትን ጽሑፍ ይፈልጉ</translation>
 <translation id="214201757571129614">ግባ…</translation>
 <translation id="2149973817440762519">እልባት አርትዕ</translation>
+<translation id="2155145621546387786">Chromeን አጋራ</translation>
 <translation id="2175927920773552910">የQR ኮድ</translation>
 <translation id="2218443599109088993">አሳንስ</translation>
 <translation id="2230173723195178503">ድረ-ገጽ ተጭኗል</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">አሁን ይፈትሹ</translation>
 <translation id="4505980578794259603">መጨረሻ የተፈተሸው <ph name="TIME" /> ላይ።</translation>
 <translation id="4508750114462689118">የመግቢያ ማስተዋወቂያን ዝጋ</translation>
-<translation id="4511669830082467224">ምስል በGoogle ይፈልጉ</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> ላይ የተቀመጡ የይለፍ ቃሎችን ይመልከቱ እና ያስተዳድሩ</translation>
 <translation id="452750746583162491">የሰመረ ውሂብዎን ይገምግሙ</translation>
 <translation id="4536418791685807335">እንደገና ወደ መለያ ለመግባት ይሞክሩ።</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ar.xtb b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
index 0e05b0a..f0a40a1 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ar.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ar.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">تعذّرت الطباعة.</translation>
 <translation id="1125564390852150847">إنشاء علامة تبويب جديدة.</translation>
 <translation id="1126809382673880764">‏لا يوفّر لك هذا الوضع حماية من الإضافات أو عمليات التنزيل أو المواقع الإلكترونية الضارة. وستظل تستفيد من ميزة "التصفّح الآمن" عند توفّرها في خدمات Google الأخرى، مثل Gmail و"بحث Google".</translation>
+<translation id="1135212215217513471">‏الحصول على متصفِّح Chrome لنظام التشغيل iOS</translation>
 <translation id="1145536944570833626">يمكنك حذف البيانات الحالية.</translation>
 <translation id="1147031633655575115">تم تسجيل الدخول بحساب <ph name="USER" />.</translation>
 <translation id="1154984953698510061">الانتقال إلى علامات التبويب الأخرى</translation>
@@ -115,6 +116,7 @@
 <translation id="1832848789136765277">لضمان إمكانية الوصول دائمًا إلى البيانات التي تتم مزامنتها، عليك إثبات هويتك.</translation>
 <translation id="1870148520156231997">الكشف عن كلمة المرور</translation>
 <translation id="1872096359983322073">الكشاف</translation>
+<translation id="1910975740091000991">‏متصفِّح Chrome لنظام التشغيل iOS</translation>
 <translation id="1911619930368729126">‏التحميل إلى Google Drive</translation>
 <translation id="1923342640370224680">الساعة الأخيرة</translation>
 <translation id="1930989359703290198">تتيح لك مؤسستك تسجيل الدخول باستخدام حسابات معيَّنة فقط. ويتم إخفاء الحسابات غير المسموح بها. <ph name="BEGIN_LINK" />مزيد من المعلومات<ph name="END_LINK" /></translation>
@@ -142,6 +144,7 @@
 <translation id="2139867232736819575">البحث عن النص الذي نسخته</translation>
 <translation id="214201757571129614">تسجيل الدخول…</translation>
 <translation id="2149973817440762519">تعديل الإشارة</translation>
+<translation id="2155145621546387786">‏مشاركة رابط تطبيق Chrome</translation>
 <translation id="2175927920773552910">رمز الاستجابة السريعة</translation>
 <translation id="2218443599109088993">تصغير</translation>
 <translation id="2230173723195178503">تم تحميل الصفحة المطلوبة</translation>
@@ -408,7 +411,6 @@
 <translation id="4502566650163919158">التحقّق الآن</translation>
 <translation id="4505980578794259603">تاريخ آخر عملية تحقُّق: <ph name="TIME" /></translation>
 <translation id="4508750114462689118">إغلاق عرض ترويجي لتسجيل الدخول</translation>
-<translation id="4511669830082467224">‏البحث باستخدام صورة مع Google</translation>
 <translation id="4526249700380860531">‏عرض كلمات المرور المحفوظة وإدارتها في <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">مراجعة البيانات المتزامنة</translation>
 <translation id="4536418791685807335">حاول تسجيل الدخول مرة أخرى.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_as.xtb b/ios/chrome/app/strings/resources/ios_strings_as.xtb
index 61976b3..b5671fc 100644
--- a/ios/chrome/app/strings/resources/ios_strings_as.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_as.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">এতিয়াই পৰীক্ষা কৰক</translation>
 <translation id="4505980578794259603">অন্তিমবাৰ <ph name="TIME" /> পূৰ্বে পৰীক্ষা কৰা হৈছিল।</translation>
 <translation id="4508750114462689118">ছাইন প্ৰ’ম’ বন্ধ কৰক</translation>
-<translation id="4511669830082467224">Googleৰ জৰিয়তে প্ৰতিচ্ছবি সন্ধান কৰক</translation>
 <translation id="4526249700380860531">ছেভ কৰি থোৱা পাছৱৰ্ডসমূহ <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" />ত চাওক আৰু পৰিচালনা কৰক</translation>
 <translation id="452750746583162491">আপোনাৰ ছিংক কৰা ডেটা পর্যালোচনা কৰক</translation>
 <translation id="4536418791685807335">পুনৰ ছাইন ইন কৰি চাওক।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_az.xtb b/ios/chrome/app/strings/resources/ios_strings_az.xtb
index f875d80..6855a962 100644
--- a/ios/chrome/app/strings/resources/ios_strings_az.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_az.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Çap alınmadı.</translation>
 <translation id="1125564390852150847">Yeni panel yaradın.</translation>
 <translation id="1126809382673880764">Sizi təhlükəli veb sayt, endirmə və artırmalardan qorumur. Hələ də Gmail və Axtarış kimi digər Google xidmətlərində mümkün olduğu qədər Təhlükəsiz Baxış qoruması əldə edəcəksiniz.</translation>
+<translation id="1135212215217513471">iOS üçün Chrome əldə edin</translation>
 <translation id="1145536944570833626">Mövcud datanı silin.</translation>
 <translation id="1147031633655575115"><ph name="USER" /> olaraq giriş edilib</translation>
 <translation id="1154984953698510061">Digər tablara baxın</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Həmişə sinxronlaşdırılmış datanıza girişinizin olduğuna əmin olmaq üçün kimliyinizi doğrulayın</translation>
 <translation id="1870148520156231997">Parolu Göstərin</translation>
 <translation id="1872096359983322073">Fənər</translation>
+<translation id="1910975740091000991">iOS üçün Chrome</translation>
 <translation id="1911619930368729126">Google Diskə yükləyin</translation>
 <translation id="1923342640370224680">Son Saat</translation>
 <translation id="1930989359703290198">Təşkilatınız yalnız müəyyən hesablarla daxil olmağa icazə verir. İcazə verilməyən hesablar gizlədilib. <ph name="BEGIN_LINK" />Ətraflı Məlumat<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Kopyalanmış Mətni Axtarın</translation>
 <translation id="214201757571129614">Giriş…</translation>
 <translation id="2149973817440762519">Əlfəcinə düzəliş edin</translation>
+<translation id="2155145621546387786">Chrome'u paylaşın</translation>
 <translation id="2175927920773552910">QR Kod</translation>
 <translation id="2218443599109088993">Kiçildin</translation>
 <translation id="2230173723195178503">Veb səhifə yükləndi</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">İndi Yoxlayın</translation>
 <translation id="4505980578794259603">Sonuncu yoxlama: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Giriş reklamını bağlayın</translation>
-<translation id="4511669830082467224">Google ilə şəkil axtarın</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> linkində yadda saxlanılmış parollarınıza baxın və idarə edin</translation>
 <translation id="452750746583162491">Sinxronlaşdırılmış datanızı nəzərdən keçirin</translation>
 <translation id="4536418791685807335">Yenidən daxil olmağa cəhd edin.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_be.xtb b/ios/chrome/app/strings/resources/ios_strings_be.xtb
index c37897ff..79b49b4d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_be.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_be.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Памылка друкавання.</translation>
 <translation id="1125564390852150847">Стварыць новую ўкладку.</translation>
 <translation id="1126809382673880764">Не абараняе ад небяспечных вэб-сайтаў, спамповак і пашырэнняў. Вы застаняцеся пад абаронай Бяспечнага прагляду пры карыстанні іншымі сэрвісамі Google, у якіх ён даступны, такімі як Gmail і Пошук.</translation>
+<translation id="1135212215217513471">Спампаваць Chrome для iOS</translation>
 <translation id="1145536944570833626">Выдаліць існуючыя даныя.</translation>
 <translation id="1147031633655575115">Вы ўвайшлі як <ph name="USER" /></translation>
 <translation id="1154984953698510061">Паглядзець іншыя ўкладкі</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Каб не страціць доступ да сваіх сінхранізаваных даных, пацвердзіце сваю асобу</translation>
 <translation id="1870148520156231997">Паказаць пароль</translation>
 <translation id="1872096359983322073">Ліхтарык</translation>
+<translation id="1910975740091000991">Chrome для iOS</translation>
 <translation id="1911619930368729126">Запампаваць на Google Дыск</translation>
 <translation id="1923342640370224680">За апошнюю гадзіну</translation>
 <translation id="1930989359703290198">Палітыка вашай арганізацыі дазваляе ўваходзіць у сістэмы, выкарыстоўваючы толькі пэўныя ўліковыя запісы. Уліковыя запісы, выкарыстоўваць якія не дазволена, не паказваюцца. <ph name="BEGIN_LINK" />Даведацца больш<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Пошук скапіраванага тэксту</translation>
 <translation id="214201757571129614">Увайсці…</translation>
 <translation id="2149973817440762519">Рэдагаваць закладку</translation>
+<translation id="2155145621546387786">Абагуліць Chrome</translation>
 <translation id="2175927920773552910">QR-код</translation>
 <translation id="2218443599109088993">Паменшыць</translation>
 <translation id="2230173723195178503">Вэб-старонка загружана</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Праверыць</translation>
 <translation id="4505980578794259603">Апошняя праверка: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Закрыць рэкламны элемент уваходу</translation>
-<translation id="4511669830082467224">Пошук відарыса ў Google</translation>
 <translation id="4526249700380860531">Праглядзець захаваныя паролі і кіраваць імі можна на старонцы <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Праверыць сінхранізаваныя даныя</translation>
 <translation id="4536418791685807335">Увайдзіце яшчэ раз.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bg.xtb b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
index fe37c07..8cbfd7f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bg.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bg.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Неуспешно отпечатване.</translation>
 <translation id="1125564390852150847">Създаване на нов раздел.</translation>
 <translation id="1126809382673880764">Няма защита срещу опасни уебсайтове, изтеглени файлове и разширения. Пак ще получавате защита посредством Безопасно сърфиране в други услуги на Google, където функцията се поддържа – например Gmail и Търсене.</translation>
+<translation id="1135212215217513471">Изтегляне на Chrome за iOS</translation>
 <translation id="1145536944570833626">Изтриване на съществуващите данни.</translation>
 <translation id="1147031633655575115">Влезли сте като <ph name="USER" /></translation>
 <translation id="1154984953698510061">Преглед на другите раздели</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Потвърдете, че сте вие, за да имате постоянен достъп до синхронизираните си данни</translation>
 <translation id="1870148520156231997">Показване на паролата</translation>
 <translation id="1872096359983322073">Фенерче</translation>
+<translation id="1910975740091000991">Chrome за iOS</translation>
 <translation id="1911619930368729126">Качване в Google Диск</translation>
 <translation id="1923342640370224680">Последният час</translation>
 <translation id="1930989359703290198">Организацията ви разрешава да влизате само с определени профили. Неразрешените профили са скрити. <ph name="BEGIN_LINK" />Научете повече<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Търсене на копирания текст</translation>
 <translation id="214201757571129614">Вход…</translation>
 <translation id="2149973817440762519">Редактиране на отметката</translation>
+<translation id="2155145621546387786">Споделяне на Chrome</translation>
 <translation id="2175927920773552910">Код за бърза реакция</translation>
 <translation id="2218443599109088993">Отдалечаване</translation>
 <translation id="2230173723195178503">Уеб страницата се зареди</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Проверка сега</translation>
 <translation id="4505980578794259603">Последна проверка: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Затваряне на подканата за вход</translation>
-<translation id="4511669830082467224">Търсене на изображението с Google</translation>
 <translation id="4526249700380860531">Преглед и управление на запазените пароли на адрес <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Преглед на синхронизираните ви данни</translation>
 <translation id="4536418791685807335">Опитайте да влезете отново.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bn.xtb b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
index 72e9b355..ed0011a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bn.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">প্রিন্ট ব্যর্থ হয়েছে।</translation>
 <translation id="1125564390852150847">নতুন ট্যাব তৈরি করুন।</translation>
 <translation id="1126809382673880764">এই মোডে আপনার ডিভাইসের ক্ষতি করতে পারে এমন ওয়েবসাইট, ডাউনলোড অথবা এক্সটেনশন থেকে কোনও সুরক্ষা পাওয়া সম্ভব হয় না। তবে Gmail এবং Search-এর মতো অন্যান্য Google পরিষেবায়, যেখানে উপলভ্য সেখানে আপনি এখনও 'Safe Browsing'-এর সুরক্ষা পাবেন।</translation>
+<translation id="1135212215217513471">iOS-এর জন্য Chrome ইনস্টল করুন</translation>
 <translation id="1145536944570833626">বিদ্যমান ডেটা মুছুন।</translation>
 <translation id="1147031633655575115"><ph name="USER" /> হিসেবে সাইন-ইন করেছেন</translation>
 <translation id="1154984953698510061">অন্যান্য ট্যাব দেখুন</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">আপনার সিঙ্ক করা ডেটা সবসময় যাতে অ্যাক্সেস করতে পারেন তা নিশ্চিত করতে, নিজের পরিচয় যাচাই করুন</translation>
 <translation id="1870148520156231997">পাসওয়ার্ড দেখুন</translation>
 <translation id="1872096359983322073">টর্চ</translation>
+<translation id="1910975740091000991">iOS-এর জন্য Chrome</translation>
 <translation id="1911619930368729126">Google ড্রাইভে আপলোড করুন</translation>
 <translation id="1923342640370224680">শেষ ঘণ্টা</translation>
 <translation id="1930989359703290198">আপনার সংস্থা শুধু কিছু নির্দিষ্ট অ্যাকাউন্ট ব্যবহার করে আপনাকে সাইন-ইন করার অনুমতি দিয়েছে। অনুমোদন করা নেই এমন অ্যাকাউন্ট লুকানো আছে। <ph name="BEGIN_LINK" />আরও জানুন<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">আপনার কপি করা টেক্সট সার্চ করুন</translation>
 <translation id="214201757571129614">সাইন-ইন করুন…</translation>
 <translation id="2149973817440762519">বুকমার্ক সম্পাদনা করুন</translation>
+<translation id="2155145621546387786">Chrome শেয়ার করুন</translation>
 <translation id="2175927920773552910">QR কোড</translation>
 <translation id="2218443599109088993">ছোট করে দেখুন</translation>
 <translation id="2230173723195178503">Webpage loaded</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">এখনই চেক করুন</translation>
 <translation id="4505980578794259603"><ph name="TIME" /> শেষবার চেক করা হয়েছে।</translation>
 <translation id="4508750114462689118">সাইন-ইন প্রোমো বন্ধ করুন</translation>
-<translation id="4511669830082467224">Google-এর মাধ্যমে ছবি সার্চ করুন</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> এ গিয়ে সংরক্ষণ করা পাসওয়ার্ডগুলি দেখুন ও পরিচালনা করুন</translation>
 <translation id="452750746583162491">আপনার সিঙ্ক করা ডেটা পর্যালোচনা করুন</translation>
 <translation id="4536418791685807335">আবার সাইন ইন করার চেষ্টা করুন।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_bs.xtb b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
index 73688b0..be6916f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_bs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_bs.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Provjeri sada</translation>
 <translation id="4505980578794259603">Posljednja provjera: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Zatvaranje promocije za prijavu</translation>
-<translation id="4511669830082467224">Pretražite sliku pomoću Googlea</translation>
 <translation id="4526249700380860531">Prikaz spremljenih zaporki i upravljanje njima na <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Pregledajte sinhronizirane podatke</translation>
 <translation id="4536418791685807335">Pokušajte se ponovo prijaviti.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ca.xtb b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
index 6139fdb..3e19391 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ca.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ca.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Error en imprimir</translation>
 <translation id="1125564390852150847">Crea una pestanya nova.</translation>
 <translation id="1126809382673880764">No et protegeix contra baixades, extensions ni llocs web perillosos. Continuaràs obtenint protecció mitjançant Navegació segura, sempre que estigui disponible, en altres serveis de Google, com ara Gmail i la Cerca.</translation>
+<translation id="1135212215217513471">Baixa Chrome per a iOS</translation>
 <translation id="1145536944570833626">Suprimeix les dades existents.</translation>
 <translation id="1147031633655575115">Has iniciat la sessió com a <ph name="USER" /></translation>
 <translation id="1154984953698510061">Mostra les altres pestanyes</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Per assegurar-te de poder accedir a les dades sincronitzades en qualsevol moment, verifica la teva identitat</translation>
 <translation id="1870148520156231997">Mostra la contrasenya</translation>
 <translation id="1872096359983322073">Llanterna</translation>
+<translation id="1910975740091000991">Chrome per a iOS</translation>
 <translation id="1911619930368729126">Penja a Google Drive</translation>
 <translation id="1923342640370224680">Darrera hora</translation>
 <translation id="1930989359703290198">La teva organització només et permet iniciar la sessió amb determinats comptes. Els comptes no admesos estan amagats. <ph name="BEGIN_LINK" />Més informació<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Cerca el text que has copiat</translation>
 <translation id="214201757571129614">Inicia la sessió…</translation>
 <translation id="2149973817440762519">Edita l'adreça d'interès</translation>
+<translation id="2155145621546387786">Comparteix Chrome</translation>
 <translation id="2175927920773552910">Codi QR</translation>
 <translation id="2218443599109088993">Redueix</translation>
 <translation id="2230173723195178503">La pàgina web s'ha carregat</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Comprova ara</translation>
 <translation id="4505980578794259603">Última comprovació: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Tanca la promoció d'inici de sessió</translation>
-<translation id="4511669830082467224">Cerca la imatge amb Google</translation>
 <translation id="4526249700380860531">Consulta i gestiona les contrasenyes desades a <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Revisa les teves dades sincronitzades</translation>
 <translation id="4536418791685807335">Prova d'iniciar la sessió de nou.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cs.xtb b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
index 284a442e..61e3be0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cs.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cs.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Tisk se nezdařil.</translation>
 <translation id="1125564390852150847">Vytvořit novou kartu</translation>
 <translation id="1126809382673880764">Nebudete chráněni před nebezpečnými weby, soubory ke stažení a rozšířeními. V jiných službách Google, v nichž je ochrana pomocí Bezpečného prohlížení k dispozici (např. Gmail a Vyhledávání), ji budete mít i nadále.</translation>
+<translation id="1135212215217513471">Stáhnout Chrome pro iOS</translation>
 <translation id="1145536944570833626">Smazat existující data.</translation>
 <translation id="1147031633655575115">Jste přihlášeni jako <ph name="USER" /></translation>
 <translation id="1154984953698510061">Zobrazit další karty</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Aby bylo zajištěno, že budete mít vždy přístup k synchronizovaným datům, ověřte svou totožnost</translation>
 <translation id="1870148520156231997">Zobrazit heslo</translation>
 <translation id="1872096359983322073">Svítilna</translation>
+<translation id="1910975740091000991">Chrome pro iOS</translation>
 <translation id="1911619930368729126">Nahrát na Disk Google</translation>
 <translation id="1923342640370224680">Poslední hodina</translation>
 <translation id="1930989359703290198">Vaše organizace umožňuje pouze přihlášení pomocí určitých účtů. Nepovolené účty jsou skryty. <ph name="BEGIN_LINK" />Další informace<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Vyhledat zkopírovaný text</translation>
 <translation id="214201757571129614">Přihlásit se…</translation>
 <translation id="2149973817440762519">Upravit záložku</translation>
+<translation id="2155145621546387786">Sdílet Chrome</translation>
 <translation id="2175927920773552910">QR kód</translation>
 <translation id="2218443599109088993">Oddálit</translation>
 <translation id="2230173723195178503">Webová stránka byla načtena</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Zkontrolovat</translation>
 <translation id="4505980578794259603">Poslední kontrola: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Zavřít propagační zprávu ohledně přihlášení</translation>
-<translation id="4511669830082467224">Vyhledat obrázek pomocí Googlu</translation>
 <translation id="4526249700380860531">Uložená hesla můžete zobrazit a upravit na adrese <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Zkontrolovat synchronizovaná data</translation>
 <translation id="4536418791685807335">Zkuste se přihlásit znovu.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_cy.xtb b/ios/chrome/app/strings/resources/ios_strings_cy.xtb
index 8358197..cd6f967 100644
--- a/ios/chrome/app/strings/resources/ios_strings_cy.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_cy.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Wedi methu ag argraffu.</translation>
 <translation id="1125564390852150847">Creu tab newydd.</translation>
 <translation id="1126809382673880764">Nid yw'n eich amddiffyn rhag gwefannau peryglus, lawrlwythiadau nac estyniadau. Byddwch yn dal i gael amddiffyniad Pori'n Ddiogel, lle mae ar gael, mewn gwasanaethau Google eraill, megis Gmail a Search.</translation>
+<translation id="1135212215217513471">Cael Chrome ar gyfer iOS</translation>
 <translation id="1145536944570833626">Dileu'r data presennol.</translation>
 <translation id="1147031633655575115">Wedi mewngofnodi fel <ph name="USER" /></translation>
 <translation id="1154984953698510061">Gweld Tabiau Eraill</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">I wneud yn siŵr eich bod bob amser yn gallu cael mynediad at eich data cysoni, cadarnhewch mai chi sydd yno</translation>
 <translation id="1870148520156231997">Datgelu'r Cyfrinair</translation>
 <translation id="1872096359983322073">Tortsh</translation>
+<translation id="1910975740091000991">Chrome ar gyfer iOS</translation>
 <translation id="1911619930368729126">Uwchlwytho i Google Drive</translation>
 <translation id="1923342640370224680">Awr Ddiwethaf</translation>
 <translation id="1930989359703290198">Mae eich sefydliad yn caniatáu i chi fewngofnodi gyda rhai cyfrifon yn unig. Mae cyfrifon na chaniateir yn cael eu cuddio. <ph name="BEGIN_LINK" />Dysgu Rhagor<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Chwilio am Destun y Gwnaethoch ei Gopïo</translation>
 <translation id="214201757571129614">Mewngofnodi…</translation>
 <translation id="2149973817440762519">Golygu Nod Tudalen</translation>
+<translation id="2155145621546387786">Rhannu Chrome</translation>
 <translation id="2175927920773552910">Cod QR</translation>
 <translation id="2218443599109088993">Pellhau</translation>
 <translation id="2230173723195178503">Mae tudalen we wedi'i llwytho</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Gwirio Nawr</translation>
 <translation id="4505980578794259603">Gwiriwyd ddiwethaf: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Cau'r anogwr mewngofnodi</translation>
-<translation id="4511669830082467224">Chwilio llun gyda Google</translation>
 <translation id="4526249700380860531">Gallwch weld a rheoli cyfrineiriau sydd wedi'u cadw yn <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Adolygwch eich data a gysonwyd</translation>
 <translation id="4536418791685807335">Rhowch gynnig arall ar fewngofnodi.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_da.xtb b/ios/chrome/app/strings/resources/ios_strings_da.xtb
index 6461ab3b..58ac2a98 100644
--- a/ios/chrome/app/strings/resources/ios_strings_da.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_da.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Udskrift mislykkedes.</translation>
 <translation id="1125564390852150847">Opret ny fane.</translation>
 <translation id="1126809382673880764">Beskytter dig ikke mod skadelige websites, downloads og udvidelser. Du er stadig beskyttet med Beskyttet browsing i andre Google-tjenester som f.eks. Gmail og Søgning, hvor dette er tilgængeligt.</translation>
+<translation id="1135212215217513471">Hent Chrome til iOS</translation>
 <translation id="1145536944570833626">Slet eksisterende data.</translation>
 <translation id="1147031633655575115">Logget ind som <ph name="USER" /></translation>
 <translation id="1154984953698510061">Se andre faner</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Bekræft din identitet for at sikre, at du altid har adgang til dine synkroniserede data</translation>
 <translation id="1870148520156231997">Vis adgangskode</translation>
 <translation id="1872096359983322073">Lommelygte</translation>
+<translation id="1910975740091000991">Chrome til iOS</translation>
 <translation id="1911619930368729126">Upload til Google Drev</translation>
 <translation id="1923342640370224680">Den seneste time</translation>
 <translation id="1930989359703290198">Din organisation tillader kun login med bestemte konti. Konti, der ikke tillades, skjules. <ph name="BEGIN_LINK" />Få flere oplysninger<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Søg efter tekst, du har kopieret</translation>
 <translation id="214201757571129614">Log ind…</translation>
 <translation id="2149973817440762519">Rediger bogmærke</translation>
+<translation id="2155145621546387786">Del Chrome</translation>
 <translation id="2175927920773552910">QR-kode</translation>
 <translation id="2218443599109088993">Zoom ud</translation>
 <translation id="2230173723195178503">Websiden er indlæst</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Tjek nu</translation>
 <translation id="4505980578794259603">Senest tjekket <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Luk loginkampagne</translation>
-<translation id="4511669830082467224">Søg efter billedet med Google</translation>
 <translation id="4526249700380860531">Se og administrer gemte adgangskoder på <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Gennemgå dine synkroniserede data</translation>
 <translation id="4536418791685807335">Prøv at logge ind igen.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_de.xtb b/ios/chrome/app/strings/resources/ios_strings_de.xtb
index 83619a1..3ac8f43af 100644
--- a/ios/chrome/app/strings/resources/ios_strings_de.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_de.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Jetzt prüfen</translation>
 <translation id="4505980578794259603">Letzte Überprüfung: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Anmeldeangebot schließen</translation>
-<translation id="4511669830082467224">Bild mit Google suchen</translation>
 <translation id="4526249700380860531">Unter <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> gespeicherte Passwörter aufrufen und verwalten</translation>
 <translation id="452750746583162491">Synchronisierte Daten prüfen</translation>
 <translation id="4536418791685807335">Melde dich noch einmal an.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_el.xtb b/ios/chrome/app/strings/resources/ios_strings_el.xtb
index d386107..52c3adef 100644
--- a/ios/chrome/app/strings/resources/ios_strings_el.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_el.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Έλεγχος τώρα</translation>
 <translation id="4505980578794259603">Τελευταίος έλεγχος: <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Κλείσιμο προσφοράς σύνδεσης</translation>
-<translation id="4511669830082467224">Αναζήτηση εικόνας με το Google</translation>
 <translation id="4526249700380860531">Προβολή και διαχείριση των αποθηκευμένων κωδικών πρόσβασης στη διεύθυνση <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Έλεγχος συγχρονισμένων δεδομένων</translation>
 <translation id="4536418791685807335">Δοκιμάστε να συνδεθείτε ξανά.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
index db01eae..39bac52 100644
--- a/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_en-GB.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Check now</translation>
 <translation id="4505980578794259603">Last checked <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Close sign-in promo</translation>
-<translation id="4511669830082467224">Search image with Google</translation>
 <translation id="4526249700380860531">View and manage saved passwords at <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Review your synced data</translation>
 <translation id="4536418791685807335">Try signing in again.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
index 8ac14cf..b0e015e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es-419.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Se produjo un error en la impresión.</translation>
 <translation id="1125564390852150847">Crea una pestaña nueva.</translation>
 <translation id="1126809382673880764">No te protege contra descargas, extensiones ni sitios web peligrosos. Seguirás teniendo la protección (donde esté disponible) de la Navegación segura en otros servicios de Google, como Gmail y la Búsqueda.</translation>
+<translation id="1135212215217513471">Obtener Chrome para iOS</translation>
 <translation id="1145536944570833626">Borra los datos existentes.</translation>
 <translation id="1147031633655575115">Accediste como <ph name="USER" /></translation>
 <translation id="1154984953698510061">Ver otras pestañas</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Para asegurarte de que siempre puedas acceder a tus datos sincronizados, verifica tu identidad.</translation>
 <translation id="1870148520156231997">Mostrar contraseña</translation>
 <translation id="1872096359983322073">Linterna</translation>
+<translation id="1910975740091000991">Chrome para iOS</translation>
 <translation id="1911619930368729126">Cargar a Google Drive</translation>
 <translation id="1923342640370224680">Última hora</translation>
 <translation id="1930989359703290198">Tu organización te permite acceder solo con determinadas cuentas. Las cuentas no habilitadas están ocultas. <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Buscar el texto copiado</translation>
 <translation id="214201757571129614">Acceder…</translation>
 <translation id="2149973817440762519">Editar marcador</translation>
+<translation id="2155145621546387786">Compartir Chrome</translation>
 <translation id="2175927920773552910">Código QR</translation>
 <translation id="2218443599109088993">Alejar</translation>
 <translation id="2230173723195178503">Se cargó la página web</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Verificar ahora</translation>
 <translation id="4505980578794259603">Última comprobación: <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Cerrar promoción de acceso</translation>
-<translation id="4511669830082467224">Buscar imagen con Google</translation>
 <translation id="4526249700380860531">Consulta y administra las contraseñas que guardaste en <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" />.</translation>
 <translation id="452750746583162491">Revisa tus datos sincronizados</translation>
 <translation id="4536418791685807335">Intenta volver a acceder.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_es.xtb b/ios/chrome/app/strings/resources/ios_strings_es.xtb
index b793c05..436d98ad 100644
--- a/ios/chrome/app/strings/resources/ios_strings_es.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_es.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Error al imprimir.</translation>
 <translation id="1125564390852150847">Crear nueva pestaña.</translation>
 <translation id="1126809382673880764">No te protege frente a descargas, extensiones ni sitios web peligrosos. Seguirás disfrutando de protección con la función Navegación segura, si está disponible, en otros servicios de Google, como Gmail y la Búsqueda.</translation>
+<translation id="1135212215217513471">Descarga Chrome para iOS</translation>
 <translation id="1145536944570833626">Elimina los datos actuales.</translation>
 <translation id="1147031633655575115">Has iniciado sesión como <ph name="USER" /></translation>
 <translation id="1154984953698510061">Ver otras pestañas</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Verifica tu identidad para asegurarte de que siempre puedas acceder a tus datos sincronizados</translation>
 <translation id="1870148520156231997">Mostrar contraseña</translation>
 <translation id="1872096359983322073">Linterna</translation>
+<translation id="1910975740091000991">Chrome para iOS</translation>
 <translation id="1911619930368729126">Subir a Google Drive</translation>
 <translation id="1923342640370224680">Última hora</translation>
 <translation id="1930989359703290198">Tu organización solo te permite iniciar sesión con determinadas cuentas. Las cuentas no permitidas están ocultas. <ph name="BEGIN_LINK" />Más información<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Buscar el texto que has copiado</translation>
 <translation id="214201757571129614">Iniciar sesión…</translation>
 <translation id="2149973817440762519">Editar marcador</translation>
+<translation id="2155145621546387786">Compartir Chrome</translation>
 <translation id="2175927920773552910">Código QR</translation>
 <translation id="2218443599109088993">Reducir</translation>
 <translation id="2230173723195178503">Página web cargada</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Comprobar ahora</translation>
 <translation id="4505980578794259603">Última comprobación: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Cierra el inicio de sesión en la promoción</translation>
-<translation id="4511669830082467224">Buscar imagen con Google</translation>
 <translation id="4526249700380860531">Consulta y gestiona las contraseñas guardadas en la página <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Revisar los datos sincronizados</translation>
 <translation id="4536418791685807335">Prueba a iniciar sesión de nuevo.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_et.xtb b/ios/chrome/app/strings/resources/ios_strings_et.xtb
index 5e1a296..00a223f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_et.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_et.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Print. ebaõnn.</translation>
 <translation id="1125564390852150847">Loo uus vaheleht.</translation>
 <translation id="1126809382673880764">Ei kaitse teid ohtlike veebisaitide, allalaadimiste ega laienduste eest. Google'i ohutu sirvimine kaitseb teid siiski muudes Google'i teenustes, kus see saadaval on (nt Gmail ja Otsing).</translation>
+<translation id="1135212215217513471">Hankige Chrome iOS-ile</translation>
 <translation id="1145536944570833626">Kustutage olemasolevad andmed.</translation>
 <translation id="1147031633655575115">Sisse logitud kasutajana <ph name="USER" /></translation>
 <translation id="1154984953698510061">Kuva muud vahelehed</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Selleks, et pääseksite alati oma sünkroonitud andmetele juurde, kinnitage oma isik</translation>
 <translation id="1870148520156231997">Kuva parool</translation>
 <translation id="1872096359983322073">Lamp</translation>
+<translation id="1910975740091000991">Chrome iOS-ile</translation>
 <translation id="1911619930368729126">Laadi üles Google Drive'i</translation>
 <translation id="1923342640370224680">Viimane tund</translation>
 <translation id="1930989359703290198">Teie organisatsioon lubab sisse logida vaid teatud kontodega. Kontod, mis pole lubatud, on peidetud. <ph name="BEGIN_LINK" />Lisateave<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Otsi kopeeritud teksti</translation>
 <translation id="214201757571129614">Logige sisse …</translation>
 <translation id="2149973817440762519">Muuda järjehoidjat</translation>
+<translation id="2155145621546387786">Chrome'i jagamine</translation>
 <translation id="2175927920773552910">QR-kood</translation>
 <translation id="2218443599109088993">Suumi välja</translation>
 <translation id="2230173723195178503">Veebileht laaditi</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Kontrolli kohe</translation>
 <translation id="4505980578794259603">Viimati kontrollitud <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Sule sisselogimisviip</translation>
-<translation id="4511669830082467224">Otsige pilti Google'iga</translation>
 <translation id="4526249700380860531">Vaadake ja hallake salvestatud paroole saidil <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Vaadake oma sünkroonitud andmed üle</translation>
 <translation id="4536418791685807335">Proovige uuesti sisse logida.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_eu.xtb b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
index 9d23990..f828e497 100644
--- a/ios/chrome/app/strings/resources/ios_strings_eu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_eu.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Ezin izan da inprimatu.</translation>
 <translation id="1125564390852150847">Sortu beste fitxa bat.</translation>
 <translation id="1126809382673880764">Ez zaitu babesten webgune, deskarga eta luzapen kaltegarrien aurka. Erabilgarri dagoenean, arakatze seguruaren babesa jasotzen jarraituko duzu Google-ren beste zerbitzu batzuetan (Gmail-en eta Bilaketa zerbitzuan, esaterako).</translation>
+<translation id="1135212215217513471">Lortu iOS-erako Chrome</translation>
 <translation id="1145536944570833626">Ezabatu lehendik dauden datuak.</translation>
 <translation id="1147031633655575115"><ph name="USER" /> gisa hasi duzu saioa</translation>
 <translation id="1154984953698510061">Ikusi beste fitxa batzuk</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Sinkronizatutako datuak edonoiz atzitu ahal izango dituzula ziurtatzeko, egiaztatu zeu zarela</translation>
 <translation id="1870148520156231997">Erakutsi pasahitza</translation>
 <translation id="1872096359983322073">Linterna</translation>
+<translation id="1910975740091000991">iOS-erako Chrome</translation>
 <translation id="1911619930368729126">Kargatu Google Drive-ra</translation>
 <translation id="1923342640370224680">Azken ordukoak</translation>
 <translation id="1930989359703290198">Erakundeak kontu jakin batzuekin soilik uzten du saioa hasten. Baimenduta ez dauden kontuak ezkutatuta daude. <ph name="BEGIN_LINK" />Lortu informazio gehiago<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Bilatu kopiatu duzun testua</translation>
 <translation id="214201757571129614">Hasi saioa…</translation>
 <translation id="2149973817440762519">Editatu laster-marka</translation>
+<translation id="2155145621546387786">Partekatu Chrome</translation>
 <translation id="2175927920773552910">QR kodea</translation>
 <translation id="2218443599109088993">Txikitu</translation>
 <translation id="2230173723195178503">Kargatu da webgunea</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Egiaztatu</translation>
 <translation id="4505980578794259603">Azken egiaztatze-data: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Itxi saioa hasteko promozioa</translation>
-<translation id="4511669830082467224">Bilatu irudia Google bidez</translation>
 <translation id="4526249700380860531">Ikusi eta kudeatu gordetako pasahitzak <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> estekan.</translation>
 <translation id="452750746583162491">Berrikusi sinkronizatutako datuak</translation>
 <translation id="4536418791685807335">Hasi saioa berriro.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fa.xtb b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
index d55ae1f..8e3020bd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fa.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">اکنون بررسی شود</translation>
 <translation id="4505980578794259603">آخرین بررسی: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">بستن تبلیغ ورود به سیستم</translation>
-<translation id="4511669830082467224">‏جستجوی تصویر با Google</translation>
 <translation id="4526249700380860531">‏مشاهده و مدیریت گذرواژه‌های ذخیره شده در <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">مرور داده‌های همگام‌سازی‌شده</translation>
 <translation id="4536418791685807335">دوباره برای ورود به سیستم تلاش کنید.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fi.xtb b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
index 4ebb013..54539056 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fi.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Tulostus epäonnistui</translation>
 <translation id="1125564390852150847">Luo uusi välilehti.</translation>
 <translation id="1126809382673880764">Ei suojaa sinua vaarallisilta sivustoilta, latauksilta ja laajennuksilta. Voit silti käyttää Selaussuojaa muissa Googlen palveluissa, joissa se on saatavilla, kuten Gmailissa ja Haussa.</translation>
+<translation id="1135212215217513471">Lataa Chrome iOS:lle</translation>
 <translation id="1145536944570833626">Poistaa olemassa olevat tiedot.</translation>
 <translation id="1147031633655575115">Kirjautunut käyttäjänä <ph name="USER" /></translation>
 <translation id="1154984953698510061">Katso muut välilehdet</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Todenna henkilöllisyytesi varmistaaksesi, että sinulla on aina pääsy synkronoituun dataasi</translation>
 <translation id="1870148520156231997">Näytä salasana</translation>
 <translation id="1872096359983322073">Taskulamppu</translation>
+<translation id="1910975740091000991">Chrome iOS:lle</translation>
 <translation id="1911619930368729126">Lähetä Google Driveen</translation>
 <translation id="1923342640370224680">Viimeinen tunti</translation>
 <translation id="1930989359703290198">Organisaatiosi sallii sinun kirjautua sisään vain tietyillä tileillä. Kielletyt tilit on piilotettu. <ph name="BEGIN_LINK" />Lue lisää<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Hae kopioitua tekstiä</translation>
 <translation id="214201757571129614">Kirjaudu sisään…</translation>
 <translation id="2149973817440762519">Muokkaa kirjanmerkkiä</translation>
+<translation id="2155145621546387786">Jaa Chrome</translation>
 <translation id="2175927920773552910">QR-koodi</translation>
 <translation id="2218443599109088993">Loitonna</translation>
 <translation id="2230173723195178503">Verkkosivu ladattiin.</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Tarkista nyt</translation>
 <translation id="4505980578794259603">Tarkistettu viimeksi <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Sulje kirjautumismainos</translation>
-<translation id="4511669830082467224">Hae kuvaa Googlella</translation>
 <translation id="4526249700380860531">Tarkastele ja hallinnoi tallennettuja salasanoja osoitteessa <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Tarkista synkronoitu datasi</translation>
 <translation id="4536418791685807335">Yritä kirjautua sisään uudelleen.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fil.xtb b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
index a06f85d1..575541e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fil.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fil.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Hindi na-print.</translation>
 <translation id="1125564390852150847">Gumawa ng bagong tab.</translation>
 <translation id="1126809382673880764">Hindi ka pinoprotektahan laban sa mga mapanganib na website, download, at extension. Magkakaroon ka pa rin ng proteksyon ng Ligtas na Pag-browse, kung available, sa iba pang serbisyo ng Google, tulad ng Gmail at Search.</translation>
+<translation id="1135212215217513471">Kunin ang Chrome para sa iOS</translation>
 <translation id="1145536944570833626">I-delete ang kasalukuyang data.</translation>
 <translation id="1147031633655575115">Naka-sign in bilang <ph name="USER" /></translation>
 <translation id="1154984953698510061">Tingnan ang Iba pang Tab</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Para matiyak na maa-access mo anumang oras ang iyong naka-sync na data, i-verify na ikaw ito</translation>
 <translation id="1870148520156231997">Ipakita ang Password</translation>
 <translation id="1872096359983322073">Torch</translation>
+<translation id="1910975740091000991">Chrome para sa iOS</translation>
 <translation id="1911619930368729126">I-upload sa Google Drive</translation>
 <translation id="1923342640370224680">Nakaraang Oras</translation>
 <translation id="1930989359703290198">Pinapayagan ka lang ng iyong organisasyon na mag-sign in gamit ang ilang partikular na account. Nakatago ang mga account na hindi pinapayagan. <ph name="BEGIN_LINK" />Matuto Pa<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Maghanap para sa Text na Kinopya Mo</translation>
 <translation id="214201757571129614">Mag-sign In…</translation>
 <translation id="2149973817440762519">I-edit ang Bookmark</translation>
+<translation id="2155145621546387786">Ibahagi ang Chrome</translation>
 <translation id="2175927920773552910">QR Code</translation>
 <translation id="2218443599109088993">Zoom Out</translation>
 <translation id="2230173723195178503">Na-load na ang webpage</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Suriin Ngayon</translation>
 <translation id="4505980578794259603">Huling nasuri noong <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Isara ang promo sa pag-sign in</translation>
-<translation id="4511669830082467224">Hanapin ang larawan gamit ang Google</translation>
 <translation id="4526249700380860531">Tingnan at pamahalaan ang mga naka-save na password sa <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Suriin ang iyong naka-sync na data</translation>
 <translation id="4536418791685807335">Subukang mag-sign in muli.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
index 8aad806..d71f7fc7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr-CA.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Vérifier maintenant</translation>
 <translation id="4505980578794259603">Dernière vérification : <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Fermer la promotion de connexion</translation>
-<translation id="4511669830082467224">Rechercher l'image avec Google</translation>
 <translation id="4526249700380860531">Afficher et gérer les mots de passe enregistrés à l'adresse <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Examiner vos données synchronisées</translation>
 <translation id="4536418791685807335">Essayez de vous reconnecter.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_fr.xtb b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
index b08f0063..687a31b46 100644
--- a/ios/chrome/app/strings/resources/ios_strings_fr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_fr.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Échec impr.</translation>
 <translation id="1125564390852150847">Créer un onglet</translation>
 <translation id="1126809382673880764">Ce mode ne vous protège pas contre les téléchargements, les extensions et les sites Web dangereux. Le cas échéant, vous bénéficierez toujours de la protection offerte par la navigation sécurisée dans d'autres services Google, tels que Gmail et la recherche.</translation>
+<translation id="1135212215217513471">Télécharger Chrome pour iOS</translation>
 <translation id="1145536944570833626">Supprimer les données existantes</translation>
 <translation id="1147031633655575115">Connecté en tant que <ph name="USER" /></translation>
 <translation id="1154984953698510061">Voir les autres onglets</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Pour toujours avoir accès à vos données synchronisées, confirmez votre identité</translation>
 <translation id="1870148520156231997">Afficher le mot de passe</translation>
 <translation id="1872096359983322073">Lampe torche</translation>
+<translation id="1910975740091000991">Chrome pour iOS</translation>
 <translation id="1911619930368729126">Importer dans Google Drive</translation>
 <translation id="1923342640370224680">Heure précédente</translation>
 <translation id="1930989359703290198">Votre organisation ne vous autorise à vous connecter qu'avec certains comptes. Ceux qui ne sont pas autorisés sont masqués. <ph name="BEGIN_LINK" />En savoir plus<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Rechercher le texte copié</translation>
 <translation id="214201757571129614">Connectez-vous…</translation>
 <translation id="2149973817440762519">Modifier le favori</translation>
+<translation id="2155145621546387786">Partager Chrome</translation>
 <translation id="2175927920773552910">Code QR</translation>
 <translation id="2218443599109088993">Zoom arrière</translation>
 <translation id="2230173723195178503">Page Web chargée</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Vérifier maintenant</translation>
 <translation id="4505980578794259603">Dernière vérification <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Fermer la promo de connexion</translation>
-<translation id="4511669830082467224">Rechercher sur une image avec Google</translation>
 <translation id="4526249700380860531">Afficher et gérer les mots de passe enregistrés sur <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Examiner vos données synchronisées</translation>
 <translation id="4536418791685807335">Veuillez essayer de vous reconnecter.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gl.xtb b/ios/chrome/app/strings/resources/ios_strings_gl.xtb
index 2ee915b..cfb15647 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gl.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Erro impresión</translation>
 <translation id="1125564390852150847">Crear pestana nova</translation>
 <translation id="1126809382673880764">Non te protexe contra sitios web, descargas e extensións perigosos. Continuarás dispoñendo da protección da función Navegación segura, sempre que estea dispoñible, noutros servizos de Google (como Gmail e a Busca).</translation>
+<translation id="1135212215217513471">Obter Chrome para iOS</translation>
 <translation id="1145536944570833626">Elimina os datos existentes.</translation>
 <translation id="1147031633655575115">Tes a sesión iniciada como <ph name="USER" /></translation>
 <translation id="1154984953698510061">Ver outras pestanas</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Para asegurarte de poder acceder sempre aos teus datos sincronizados, verifica a túa identidade</translation>
 <translation id="1870148520156231997">Mostrar contrasinal</translation>
 <translation id="1872096359983322073">Lanterna</translation>
+<translation id="1910975740091000991">Chrome para iOS</translation>
 <translation id="1911619930368729126">Cargar en Google Drive</translation>
 <translation id="1923342640370224680">Última hora</translation>
 <translation id="1930989359703290198">A túa organización só che permite iniciar sesión con certas contas. As contas que non están permitidas atópanse ocultas. <ph name="BEGIN_LINK" />Máis información<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Buscar texto que copiaches</translation>
 <translation id="214201757571129614">Iniciar sesión…</translation>
 <translation id="2149973817440762519">Editar marcador</translation>
+<translation id="2155145621546387786">Compartir Chrome</translation>
 <translation id="2175927920773552910">Código QR</translation>
 <translation id="2218443599109088993">Afastar</translation>
 <translation id="2230173723195178503">Cargouse a páxina web</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Comprobar agora</translation>
 <translation id="4505980578794259603">Última comprobación: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Pecha a promoción de inicio de sesión</translation>
-<translation id="4511669830082467224">Buscar imaxe con Google</translation>
 <translation id="4526249700380860531">Ver e xestionar os contrasinais gardados en <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Revisar os datos sincronizados</translation>
 <translation id="4536418791685807335">Proba a volver iniciar sesión.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_gu.xtb b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
index f6ed3bf5..1f3b9301 100644
--- a/ios/chrome/app/strings/resources/ios_strings_gu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_gu.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">હમણાં ચેક કરો</translation>
 <translation id="4505980578794259603">છેલ્લે <ph name="TIME" /> તપાસ્યું.</translation>
 <translation id="4508750114462689118">સાઇન-ઇન પ્રોમો બંધ કરો</translation>
-<translation id="4511669830082467224">Google વડે છબી શોધો</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> પર સાચવેલા પાસવર્ડ જુઓ અને મેનેજ કરો</translation>
 <translation id="452750746583162491">તમારા સિંક કરેલા ડેટાનો રિવ્યૂ કરો</translation>
 <translation id="4536418791685807335">ફરીથી સાઇન ઇન કરવાનો પ્રયાસ કરો.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hi.xtb b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
index 3a0c550..f76e3f9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hi.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">अभी देखें</translation>
 <translation id="4505980578794259603"><ph name="TIME" /> जांच की गई.</translation>
 <translation id="4508750114462689118">साइन इन प्रोमो बंद करें</translation>
-<translation id="4511669830082467224">Google की मदद से इमेज खोजें</translation>
 <translation id="4526249700380860531">सेव किए गए पासवर्ड <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> पर देखें और प्रबंधित करें</translation>
 <translation id="452750746583162491">सिंक किए गए डेटा की समीक्षा करें</translation>
 <translation id="4536418791685807335">फिर से प्रवेश करके देखें.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hr.xtb b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
index 2cfc823..26db8109 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hr.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Provjeri sada</translation>
 <translation id="4505980578794259603">Zadnja provjera: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Zatvori promociju za prijavu</translation>
-<translation id="4511669830082467224">Pretraži sliku na Googleu</translation>
 <translation id="4526249700380860531">Prikaz spremljenih zaporki i upravljanje njima na <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Pregledajte svoje sinkronizirane podatke</translation>
 <translation id="4536418791685807335">Pokušajte se ponovo prijaviti.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hu.xtb b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
index 2155f23..1c9b5f0 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hu.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">A nyomtatás sikertelen.</translation>
 <translation id="1125564390852150847">Új lap létrehozása.</translation>
 <translation id="1126809382673880764">Nem védi meg Önt a veszélyes webhelyek, letöltések vagy bővítmények ellen. Ahol lehetséges (más Google-szolgáltatásokban, például a Gmailben és a Keresőben) továbbra is megkapja a Biztonságos Böngészés által nyújtott védelmet.</translation>
+<translation id="1135212215217513471">A Chrome letöltése iOS rendszerhez</translation>
 <translation id="1145536944570833626">Meglévő adatok törlése.</translation>
 <translation id="1147031633655575115">Bejelentkezve mint <ph name="USER" /></translation>
 <translation id="1154984953698510061">További lapok megtekintése</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Igazolja személyazonosságát, hogy mindig hozzáférhessen szinkronizált adataihoz</translation>
 <translation id="1870148520156231997">Jelszó megjelenítése</translation>
 <translation id="1872096359983322073">Vaku</translation>
+<translation id="1910975740091000991">Chrome iOS rendszerhez</translation>
 <translation id="1911619930368729126">Feltöltés Google Drive-ba</translation>
 <translation id="1923342640370224680">Az elmúlt óra</translation>
 <translation id="1930989359703290198">Szervezete csak bizonyos fiókokkal engedélyezi a bejelentkezést. A nem engedélyezett fiókokat elrejti a rendszer. <ph name="BEGIN_LINK" />További információ<ph name="END_LINK" />.</translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Vágólapra másolt szöveg keresése</translation>
 <translation id="214201757571129614">Bejelentkezés…</translation>
 <translation id="2149973817440762519">Könyvjelző szerkesztése</translation>
+<translation id="2155145621546387786">A Chrome megosztása</translation>
 <translation id="2175927920773552910">QR-kód</translation>
 <translation id="2218443599109088993">Kicsinyítés</translation>
 <translation id="2230173723195178503">A weboldal betöltött</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Ellenőrzés most</translation>
 <translation id="4505980578794259603">Legutóbb ellenőrizve: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Bejelentkezési promóció bezárása</translation>
-<translation id="4511669830082467224">Kép keresése a Google-lal</translation>
 <translation id="4526249700380860531">A mentett jelszavak megtekintése és kezelése a <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> címen</translation>
 <translation id="452750746583162491">A szinkronizált adatok áttekintése</translation>
 <translation id="4536418791685807335">Próbáljon meg újra bejelentkezni.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_hy.xtb b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
index c518676e..ac6f8e501 100644
--- a/ios/chrome/app/strings/resources/ios_strings_hy.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_hy.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Չհաջողվեց տպել:</translation>
 <translation id="1125564390852150847">Ստեղծել նոր ներդիր:</translation>
 <translation id="1126809382673880764">Չի պաշտպանում վտանգավոր կայքերից, ընդլայնումներից և ներբեռնումներից։ Անվտանգ դիտարկումը նախկինի պես կաշխատի Google-ի այլ ծառայություններում (եթե հասանելի է), օրինակ՝ Gmail-ում կամ Որոնման էջերում։</translation>
+<translation id="1135212215217513471">Տեղադրել iOS-ի համար Chrome-ը</translation>
 <translation id="1145536944570833626">Առկա տվյալների ջնջում։</translation>
 <translation id="1147031633655575115">Դուք մուտք եք գործել որպես <ph name="USER" /></translation>
 <translation id="1154984953698510061">Տեսնել մյուս ներդիրները</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Հաստատեք ձեր ինքնությունը, որպեսզի համաժամացված տվյալները միշտ հասանելի լինեն ձեզ</translation>
 <translation id="1870148520156231997">Ցուցադրել գաղտնաբառը</translation>
 <translation id="1872096359983322073">Լապտեր</translation>
+<translation id="1910975740091000991">Chrome՝ iOS համար</translation>
 <translation id="1911619930368729126">Վերբեռնել Google Drive</translation>
 <translation id="1923342640370224680">Վերջին ժամը</translation>
 <translation id="1930989359703290198">Ձեր կազմակերպությունում հնարավոր է մուտք գործել միայն որոշակի հաշիվներ։ Հաշիվները, որոնց մուտքն արգելված է, կթաքցվեն։ <ph name="BEGIN_LINK" />Իմանալ ավելին<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Որոնեք ձեր պատճենած տեքստը</translation>
 <translation id="214201757571129614">Մտնել…</translation>
 <translation id="2149973817440762519">Փոփոխել էջանիշը</translation>
+<translation id="2155145621546387786">Կիսվել Chrome-ով</translation>
 <translation id="2175927920773552910">QR կոդ</translation>
 <translation id="2218443599109088993">Փոքրացնել</translation>
 <translation id="2230173723195178503">Կայքէջը բեռնվեց</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Ստուգել հիմա</translation>
 <translation id="4505980578794259603">Վերջին անգամ ստուգվել է <ph name="TIME" />։</translation>
 <translation id="4508750114462689118">Փակել մուտք գործելու առաջարկը</translation>
-<translation id="4511669830082467224">Որոնել պատկերում Google-ի միջոցով</translation>
 <translation id="4526249700380860531">Դիտեք և կառավարեք պահված գաղտնաբառերը <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> կայքում</translation>
 <translation id="452750746583162491">Ստուգեք ձեր համաժամացված տվյալները</translation>
 <translation id="4536418791685807335">Փորձեք նորից մուտք գործել:</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_id.xtb b/ios/chrome/app/strings/resources/ios_strings_id.xtb
index 8cb6bd0..fcac6cf 100644
--- a/ios/chrome/app/strings/resources/ios_strings_id.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_id.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Gagal mencetak.</translation>
 <translation id="1125564390852150847">Buat tab baru.</translation>
 <translation id="1126809382673880764">Tidak melindungi Anda terhadap situs, download, dan ekstensi berbahaya. Anda akan tetap mendapatkan perlindungan Safe Browsing, jika tersedia, di layanan Google lainnya, seperti Gmail dan Penelusuran.</translation>
+<translation id="1135212215217513471">Dapatkan Chrome untuk iOS</translation>
 <translation id="1145536944570833626">Hapus data yang sudah ada.</translation>
 <translation id="1147031633655575115">Login sebagai <ph name="USER" /></translation>
 <translation id="1154984953698510061">Lihat Tab Lainnya</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Untuk memastikan Anda selalu dapat mengakses data yang disinkronkan, verifikasi diri Anda</translation>
 <translation id="1870148520156231997">Tampilkan Sandi</translation>
 <translation id="1872096359983322073">Senter</translation>
+<translation id="1910975740091000991">Chrome untuk iOS</translation>
 <translation id="1911619930368729126">Upload ke Google Drive</translation>
 <translation id="1923342640370224680">Sejam Terakhir</translation>
 <translation id="1930989359703290198">Organisasi mengizinkan Anda login hanya dengan akun tertentu. Akun yang tidak diizinkan akan disembunyikan. <ph name="BEGIN_LINK" />Pelajari Lebih Lanjut<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Telusuri Teks yang Anda Salin</translation>
 <translation id="214201757571129614">Login …</translation>
 <translation id="2149973817440762519">Edit Bookmark</translation>
+<translation id="2155145621546387786">Bagikan Chrome</translation>
 <translation id="2175927920773552910">Kode QR</translation>
 <translation id="2218443599109088993">Perkecil</translation>
 <translation id="2230173723195178503">Halaman web dimuat</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Periksa Sekarang</translation>
 <translation id="4505980578794259603">Terakhir diperiksa <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Tutup promo login</translation>
-<translation id="4511669830082467224">Telusuri gambar dengan Google</translation>
 <translation id="4526249700380860531">Melihat dan mengelola sandi yang tersimpan di <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Tinjau data Anda yang disinkronkan</translation>
 <translation id="4536418791685807335">Coba masuk lagi.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_is.xtb b/ios/chrome/app/strings/resources/ios_strings_is.xtb
index 95c17f1..659f276 100644
--- a/ios/chrome/app/strings/resources/ios_strings_is.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_is.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Prentun tókst ekki.</translation>
 <translation id="1125564390852150847">Búa til nýjan flipa.</translation>
 <translation id="1126809382673880764">Ver þig ekki gegn hættulegum vefsvæðum, niðurhali eða viðbótum. Þú munt áfram geta notað örugga vefskoðun, þar sem hún er í boði, í annarri þjónustu Google á borð við Gmail og leit.</translation>
+<translation id="1135212215217513471">Sækja Chrome fyrir iOS</translation>
 <translation id="1145536944570833626">Eyða fyrirliggjandi gögnum.</translation>
 <translation id="1147031633655575115">Skráð(ur) inn sem <ph name="USER" /></translation>
 <translation id="1154984953698510061">Birta aðra flipa</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Staðfestu að þetta sért þú til að hafa alltaf aðgang að samstillingargögnunum þínum</translation>
 <translation id="1870148520156231997">Sýna aðgangsorð</translation>
 <translation id="1872096359983322073">Ljós</translation>
+<translation id="1910975740091000991">Chrome fyrir iOS</translation>
 <translation id="1911619930368729126">Hlaða inn á Google Drive</translation>
 <translation id="1923342640370224680">Undanfarin klukkustund</translation>
 <translation id="1930989359703290198">Fyrirtækið þitt leyfir þér eingöngu að skrá þig inn með tilteknum reikningum. Bannaðir reikningar eru faldir. <ph name="BEGIN_LINK" />Nánar<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Leita að texta sem þú afritaðir</translation>
 <translation id="214201757571129614">Skrá inn…</translation>
 <translation id="2149973817440762519">Breyta bókamerki</translation>
+<translation id="2155145621546387786">Deila Chrome</translation>
 <translation id="2175927920773552910">QR-kóði</translation>
 <translation id="2218443599109088993">Minnka aðdrátt</translation>
 <translation id="2230173723195178503">Vefsíða sótt</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Athuga núna</translation>
 <translation id="4505980578794259603">Síðast skoðað <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Loka innskráningarkynningu</translation>
-<translation id="4511669830082467224">Leita að mynd með Google</translation>
 <translation id="4526249700380860531">Skoða og hafa umsjón með vistuðum aðgangsorðum á <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Fara yfir samstillt gögn</translation>
 <translation id="4536418791685807335">Reyndu að skrá þig inn aftur.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_it.xtb b/ios/chrome/app/strings/resources/ios_strings_it.xtb
index 6eb0829..cc304e7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_it.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_it.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Controlla ora</translation>
 <translation id="4505980578794259603">Ultima verifica: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Chiudi promo accesso</translation>
-<translation id="4511669830082467224">Cerca immagine con Google</translation>
 <translation id="4526249700380860531">Controlla e gestisci le password salvate all'indirizzo <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Verifica i tuoi dati sincronizzati</translation>
 <translation id="4536418791685807335">Prova ad accedere nuovamente.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_iw.xtb b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
index 2de4e7d..8c2b639 100644
--- a/ios/chrome/app/strings/resources/ios_strings_iw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_iw.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">ההדפסה נכשלה.</translation>
 <translation id="1125564390852150847">יצירת כרטיסייה חדשה.</translation>
 <translation id="1126809382673880764">‏במצב הזה המערכת לא מגינה עליך מפני אתרים, הורדות ותוספים מסוכנים. גלישה בטוחה עדיין תגן עליך בשירותים אחרים של Google שבהם היא זמינה, כמו Gmail והחיפוש.</translation>
+<translation id="1135212215217513471">‏להורדת Chrome ל-iOS</translation>
 <translation id="1145536944570833626">מחיקת נתונים קיימים.</translation>
 <translation id="1147031633655575115">נכנסת כ-<ph name="USER" /></translation>
 <translation id="1154984953698510061">הצגת כרטיסיות אחרות</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">כדי לוודא שתמיד תהיה לך גישה לנתונים המסונכרנים שלך, עליך לאמת את זהותך</translation>
 <translation id="1870148520156231997">הצגת הסיסמה</translation>
 <translation id="1872096359983322073">פנס</translation>
+<translation id="1910975740091000991">‏Chrome ל-iOS</translation>
 <translation id="1911619930368729126">‏העלאה אל Google Drive</translation>
 <translation id="1923342640370224680">בשעה האחרונה</translation>
 <translation id="1930989359703290198">הארגון מאפשר לך להיכנס לדפדפן רק באמצעות חשבונות מסוימים. החשבונות שאינם מותרים מוסתרים. <ph name="BEGIN_LINK" />מידע נוסף<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">חיפוש טקסט שהעתקת</translation>
 <translation id="214201757571129614">כניסה…</translation>
 <translation id="2149973817440762519">עריכת סימניות</translation>
+<translation id="2155145621546387786">‏שיתוף Chrome</translation>
 <translation id="2175927920773552910">‏קוד QR</translation>
 <translation id="2218443599109088993">התרחקות</translation>
 <translation id="2230173723195178503">דף האינטרנט נטען</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">לבדיקה עכשיו</translation>
 <translation id="4505980578794259603">בדיקה אחרונה: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">סגירת קידום הכניסה</translation>
-<translation id="4511669830082467224">‏חיפוש התמונה באמצעות Google</translation>
 <translation id="4526249700380860531">‏הצגה וינוהל של סיסמאות שמורות ב-<ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">סקירת הנתונים המסונכרנים</translation>
 <translation id="4536418791685807335">יש לנסות להיכנס שוב.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ja.xtb b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
index 16094cf3..c514308 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ja.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ja.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">今すぐ確認</translation>
 <translation id="4505980578794259603">最終確認日: <ph name="TIME" /></translation>
 <translation id="4508750114462689118">ログイン プロモーションを閉じる</translation>
-<translation id="4511669830082467224">Google で画像を検索</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> での保存パスワードの表示と管理</translation>
 <translation id="452750746583162491">同期したデータを確認する</translation>
 <translation id="4536418791685807335">もう一度ログインしてみてください。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ka.xtb b/ios/chrome/app/strings/resources/ios_strings_ka.xtb
index a3a951a..b749ddd 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ka.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ka.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">ბეჭდვა ვერ განხორციელდა.</translation>
 <translation id="1125564390852150847">ახალი ჩანართის შექმნა.</translation>
 <translation id="1126809382673880764">არ დაგიცავთ სახიფათო ვებსაიტებისგან, ჩამოტვირთვებისა თუ გაფართოებებისგან. Safe Browsing-ის დაცვით (ხელმისაწვდომობის მიხედვით) მაინც ისარგებლებთ სხვა Google სერვისებში, როგორიცაა Gmail თუ Search.</translation>
+<translation id="1135212215217513471">ჩამოტვირთეთ Chrome iOS-ისთვის</translation>
 <translation id="1145536944570833626">არსებული მონაცემების წაშლა.</translation>
 <translation id="1147031633655575115">შესული ხართ, როგორც <ph name="USER" /></translation>
 <translation id="1154984953698510061">სხვა ჩანართების ნახვა</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">იმაში დასარწმუნებლად, რომ ყოველთვის შეძლებთ თქვენს სინქრონიზებულ მონაცემებზე წვდომას, დაადასტურეთ, რომ ეს თქვენ ხართ</translation>
 <translation id="1870148520156231997">პაროლის გამოჩენა</translation>
 <translation id="1872096359983322073">ჩირაღდანი</translation>
+<translation id="1910975740091000991">Chrome iOS-ისთვის</translation>
 <translation id="1911619930368729126">ატვირთვა Google Drive-ზე</translation>
 <translation id="1923342640370224680">ბოლო საათი</translation>
 <translation id="1930989359703290198">თქვენი ორგანიზაცია სისტემაში მხოლოდ კონკრეტული ანგარიშებით შესვლის უფლებას გაძლებთ. ანგარიშები, რომელთა გამოყენებაც ნებადართული არ არის, დამალულია. <ph name="BEGIN_LINK" />შეიტყვეთ მეტი<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">თქვენ მიერ კოპირებული ტექსტის მოძიება</translation>
 <translation id="214201757571129614">შესვლა…</translation>
 <translation id="2149973817440762519">სანიშნის რედაქტირება</translation>
+<translation id="2155145621546387786">Chrome-ის გაზიარება</translation>
 <translation id="2175927920773552910">QR კოდი</translation>
 <translation id="2218443599109088993">მასშტაბის შემცირება</translation>
 <translation id="2230173723195178503">ვებგვერდი ჩაიტვირთა</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">ახლავე შემოწმება</translation>
 <translation id="4505980578794259603">ბოლო შემოწმება: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">შესვლის პრომო-ერთეულის დახურვა</translation>
-<translation id="4511669830082467224">სურათში ძიება Google-ით</translation>
 <translation id="4526249700380860531">შენახული პაროლების ნახვა და მართვა შეგიძლიათ აქ: <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">სინქრონიზებული მონაცემების გადახედვა</translation>
 <translation id="4536418791685807335">ცადეთ სისტემაში ხელახლა შესვლა.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kk.xtb b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
index e4e1cd1..5704e2deb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kk.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Қазір тексеру</translation>
 <translation id="4505980578794259603">Соңғы тексерілген уақыты: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Жүйеге кіру шақыруын жабу</translation>
-<translation id="4511669830082467224">Кескінді Google арқылы іздеу</translation>
 <translation id="4526249700380860531">Сақталған құпия сөздерді <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> сайтынан көре және басқара аласыз</translation>
 <translation id="452750746583162491">Синхрондалған деректерді қарау</translation>
 <translation id="4536418791685807335">Қайта кіріп көріңіз.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_km.xtb b/ios/chrome/app/strings/resources/ios_strings_km.xtb
index ca53a84..72e754d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_km.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_km.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">ពិនិត្យ​ឥឡូវនេះ</translation>
 <translation id="4505980578794259603">បានពិនិត្យ​លើកចុងក្រោយ <ph name="TIME" />។</translation>
 <translation id="4508750114462689118">បិទការផ្សព្វផ្សាយនៃការចូលគណនី</translation>
-<translation id="4511669830082467224">រករូបភាពដោយប្រើ Google</translation>
 <translation id="4526249700380860531">មើល និងគ្រប់គ្រងពាក្យសម្ងាត់ដែលបានរក្សាទុកនៅលើ <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">ពិនិត្យមើល​ទិន្នន័យ​ដែលបានធ្វើសមកាលកម្មរបស់អ្នក</translation>
 <translation id="4536418791685807335">សាកល្បងព្យាយាមចូលម្តងទៀត</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_kn.xtb b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
index 908567d..e0ee35a2 100644
--- a/ios/chrome/app/strings/resources/ios_strings_kn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_kn.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">ಈಗಲೇ ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="4505980578794259603">ಕೊನೆಯ ಬಾರಿ ಪರಿಶೀಲಿಸಿದ ಸಮಯ <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">ಸೈನ್-ಇನ್ ಪ್ರೋಮೋ ಮುಚ್ಚಿ</translation>
-<translation id="4511669830082467224">Google ಬಳಸಿಕೊಂಡು ಚಿತ್ರವನ್ನು ಹುಡುಕಿ</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> ನಲ್ಲಿ ಉಳಿಸಲಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ ಮತ್ತು ನಿರ್ವಹಿಸಿ</translation>
 <translation id="452750746583162491">ಸಿಂಕ್ ಮಾಡಲಾಗಿರುವ ನಿಮ್ಮ ಡೇಟಾವನ್ನು ಪರಿಶೀಲಿಸಿ</translation>
 <translation id="4536418791685807335">ಮತ್ತೊಮ್ಮೆ ಸೈನ್ ಇನ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ko.xtb b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
index 20e22ee..97f88ae3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ko.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ko.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">인쇄 실패</translation>
 <translation id="1125564390852150847">새 탭 만들기</translation>
 <translation id="1126809382673880764">위험한 웹사이트, 다운로드 항목, 확장 프로그램으로부터 사용자를 보호하지 않습니다. Gmail, Google 검색과 같은 다른 Google 서비스에서는 가능한 경우 세이프 브라우징 보호가 계속 제공됩니다.</translation>
+<translation id="1135212215217513471">iOS용 Chrome 다운로드</translation>
 <translation id="1145536944570833626">기존 데이터 삭제</translation>
 <translation id="1147031633655575115"><ph name="USER" />님의 계정으로 로그인됨</translation>
 <translation id="1154984953698510061">다른 탭 보기</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">동기화 데이터에 항상 액세스하려면 본인 확인 절차를 거치세요.</translation>
 <translation id="1870148520156231997">비밀번호 표시</translation>
 <translation id="1872096359983322073">토치</translation>
+<translation id="1910975740091000991">iOS용 Chrome</translation>
 <translation id="1911619930368729126">Google Drive로 업로드</translation>
 <translation id="1923342640370224680">지난 1시간</translation>
 <translation id="1930989359703290198">조직에서 특정 계정으로만 로그인하도록 허용합니다. 허용되지 않는 계정은 숨겨져 있습니다. <ph name="BEGIN_LINK" />자세히 알아보기<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">복사한 텍스트 검색</translation>
 <translation id="214201757571129614">로그인…</translation>
 <translation id="2149973817440762519">북마크 수정</translation>
+<translation id="2155145621546387786">Chrome 공유</translation>
 <translation id="2175927920773552910">QR 코드</translation>
 <translation id="2218443599109088993">축소</translation>
 <translation id="2230173723195178503">웹페이지 로드됨</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">지금 확인</translation>
 <translation id="4505980578794259603"><ph name="TIME" />에 마지막으로 확인함</translation>
 <translation id="4508750114462689118">로그인 프로모션 닫기</translation>
-<translation id="4511669830082467224">Google로 이미지 검색</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" />에서 저장된 비밀번호 보기 및 관리</translation>
 <translation id="452750746583162491">동기화된 데이터 검토</translation>
 <translation id="4536418791685807335">다시 로그인해 주세요.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ky.xtb b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
index 6bc7e6e..f871160 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ky.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ky.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Азыр текшерүү</translation>
 <translation id="4505980578794259603">Акыркы жолу качан текшерилген: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Кирүүгө үндөгөн жарнама жабылсын</translation>
-<translation id="4511669830082467224">Сүрөттү Google менен издөө</translation>
 <translation id="4526249700380860531">Сакталган сырсөздөрдү <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> дарегинен көрүп жана башкарыңыз</translation>
 <translation id="452750746583162491">Шайкештирилген маалыматты карап чыгуу</translation>
 <translation id="4536418791685807335">Кайра кирип көрүңүз.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lo.xtb b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
index 876d861..431a520 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lo.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lo.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">ການພິມບໍ່ສຳເລັດ.</translation>
 <translation id="1125564390852150847">ສ້າງ​ແຖບ​ໃໝ່.</translation>
 <translation id="1126809382673880764">ບໍ່ປົກປ້ອງທ່ານຈາກເວັບໄຊ, ການດາວໂຫຼດ ແລະ ສ່ວນຂະຫຍາຍທີ່ເປັນອັນຕະລາຍ. ທ່ານຈະຍັງໄດ້ຮັບການປົກປ້ອງຈາກ Safe Browsing ຢູ່ບ່ອນທີ່ໃຊ້ໄດ້, ຢູ່ໃນການບໍລິການອື່ນຂອງ Google ເຊັ່ນ: Gmail ແລະ ຊອກຫາ.</translation>
+<translation id="1135212215217513471">ດາວໂຫຼດ Chrome ສໍາລັບ iOS</translation>
 <translation id="1145536944570833626">ລຶບຂໍ້ມູນທີ່ມີຢູ່.</translation>
 <translation id="1147031633655575115">ເຂົ້າສູ່ລະບົບເປັນ <ph name="USER" /></translation>
 <translation id="1154984953698510061">ເບິ່ງແຖບອື່ນ</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">ເພື່ອກວດສອບວ່າທ່ານຈະສາມາດເຂົ້າເຖິງການຊິ້ງຂໍ້ມູນຂອງທ່ານໄດ້ສະເໝີ, ກະລຸນາຢັ້ງຢືນວ່າແມ່ນທ່ານແທ້ກ່ອນ</translation>
 <translation id="1870148520156231997">ເປີດເຜີຍລະຫັດຜ່ານ</translation>
 <translation id="1872096359983322073">ໄຟສາຍ</translation>
+<translation id="1910975740091000991">Chrome ສໍາລັບ iOS</translation>
 <translation id="1911619930368729126">ອັບ​ໂຫຼດ​ໃສ່ Google Drive</translation>
 <translation id="1923342640370224680">ຊົ່ວ​ໂມງ​ສຸດທ້າຍ</translation>
 <translation id="1930989359703290198">ອົງການຂອງທ່ານອະນຸຍາດໃຫ້ທ່ານເຂົ້າສູ່ລະບົບດ້ວຍບັນຊີບາງຢ່າງເທົ່ານັ້ນ. ບັນຊີທີ່ບໍ່ໄດ້ຮັບອະນຸຍາດແມ່ນຖືກເຊື່ອງໄວ້. <ph name="BEGIN_LINK" />ສຶກສາເພີ່ມເຕີມ<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">ຊອກຫາຂໍ້ຄວາມທີ່ທ່ານສຳເນົາ</translation>
 <translation id="214201757571129614">ເຂົ້າສູ່ລະບົບ…</translation>
 <translation id="2149973817440762519">ແກ້​ໄຂບຸກມາກສ໌</translation>
+<translation id="2155145621546387786">ແບ່ງປັນ Chrome</translation>
 <translation id="2175927920773552910">ລະຫັດ QR</translation>
 <translation id="2218443599109088993">ຊູມອອກ</translation>
 <translation id="2230173723195178503">ໂຫຼດໜ້າເວັບແລ້ວ</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">ກວດເບິ່ງດຽວນີ້</translation>
 <translation id="4505980578794259603">ກວດສອບຫຼ້າສຸດເມື່ອ <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">ປິດໂປຣໂມການເຂົ້າສູ່ລະບົບ</translation>
-<translation id="4511669830082467224">ຊອກຫາຮູບດ້ວຍ Google</translation>
 <translation id="4526249700380860531">ເບິ່ງ ແລະ​ຈັດ​ການ​ລະ​ຫັດ​ຜ່ານ​ໄດ້​ຢູ່​ທີ່ <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">ກວດເບິ່ງຂໍ້ມູນທີ່ຊິ້ງຂອງທ່ານ</translation>
 <translation id="4536418791685807335">ລອງເຂົ້າສູ່ລະບົບອີກຄັ້ງ.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lt.xtb b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
index 8ae87a6..c97b0b44 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lt.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lt.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Tikrinti dabar</translation>
 <translation id="4505980578794259603">Paskutinį kartą tikrinta: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Uždaryti prisijungimo reklamą</translation>
-<translation id="4511669830082467224">Ieškoti vaizdo naudojant „Google“</translation>
 <translation id="4526249700380860531">Peržiūrėkite ir tvarkykite išsaugotus slaptažodžius apsilankę adresu <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Peržiūrėti sinchronizuotus duomenis</translation>
 <translation id="4536418791685807335">Bandykite prisijungti dar kartą.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_lv.xtb b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
index 3e04c50..adaa000 100644
--- a/ios/chrome/app/strings/resources/ios_strings_lv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_lv.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Neizdevās drukāt.</translation>
 <translation id="1125564390852150847">Izveidot jaunu cilni.</translation>
 <translation id="1126809382673880764">Netiek nodrošināta aizsardzība pret bīstamām vietnēm, lejupielādēm un paplašinājumiem. Jūs joprojām saņemsiet drošas pārlūkošanas aizsardzību, ja tā ir pieejama, citos Google pakalpojumos, piemēram, Gmail un Meklēšana.</translation>
+<translation id="1135212215217513471">Iegūt Chrome operētājsistēmai iOS</translation>
 <translation id="1145536944570833626">Dzēst esošos datus.</translation>
 <translation id="1147031633655575115">Pierakstījies kā <ph name="USER" /></translation>
 <translation id="1154984953698510061">Skatīt citas cilnes</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Lai vienmēr varētu piekļūt saviem sinhronizētajiem datiem, apstipriniet savu identitāti.</translation>
 <translation id="1870148520156231997">Rādīt paroli</translation>
 <translation id="1872096359983322073">Lukturītis</translation>
+<translation id="1910975740091000991">Chrome iOS ierīcēm</translation>
 <translation id="1911619930368729126">Augšupielādēt Google diskā</translation>
 <translation id="1923342640370224680">Pēdējā stunda</translation>
 <translation id="1930989359703290198">Jūsu organizācija ir atļāvusi pierakstīšanos tikai ar noteiktiem kontiem. Konti, kas nav atļauti, ir paslēpti. <ph name="BEGIN_LINK" />Uzziniet vairāk<ph name="END_LINK" />.</translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Meklēt kopēto tekstu</translation>
 <translation id="214201757571129614">Pierakstīties…</translation>
 <translation id="2149973817440762519">Rediģēt grāmatzīmes</translation>
+<translation id="2155145621546387786">Koplietot Chrome</translation>
 <translation id="2175927920773552910">kvadrātkods</translation>
 <translation id="2218443599109088993">Tālināt</translation>
 <translation id="2230173723195178503">Tīmekļa lapa ielādēta</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Pārbaudīt tūlīt</translation>
 <translation id="4505980578794259603">Pārbaude pēdējoreiz veikta: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Aizvērt pierakstīšanās piedāvājumu</translation>
-<translation id="4511669830082467224">Meklēt attēlu ar Google</translation>
 <translation id="4526249700380860531">Skatīt un pārvaldīt saglabātās paroles vietnē <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Pārskatīt sinhronizētos datus</translation>
 <translation id="4536418791685807335">Mēģiniet pierakstīties vēlreiz.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mk.xtb b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
index 81913e6..edadf54 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mk.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Проверете сега</translation>
 <translation id="4505980578794259603">Последен пат проверено: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Затвори ја промоцијата за најавување</translation>
-<translation id="4511669830082467224">Пребарајте слика со Google</translation>
 <translation id="4526249700380860531">Прикажи и управувај зачувани лозинки на <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Прегледајте ги синхронизираните податоци</translation>
 <translation id="4536418791685807335">Обидете се да се најавите повторно.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ml.xtb b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
index c2ac1d40..cfe195b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ml.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ml.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">ഇപ്പോൾ പരിശോധിക്കുക</translation>
 <translation id="4505980578794259603">അവസാനം പരിശോധിച്ചത് <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">സൈൻ ഇൻ പ്രമോ അടയ്‌ക്കുക</translation>
-<translation id="4511669830082467224">Google-ന്റെ സഹായത്തോടെ ചിത്രം തിരയുക</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> എന്നതിൽ സംരക്ഷിച്ച പാസ്‌വേഡുകൾ കാണുക, നിയന്ത്രിക്കുക</translation>
 <translation id="452750746583162491">നിങ്ങളുടെ സമന്വയിപ്പിച്ച ഡാറ്റ അവലോകനം ചെയ്യുക</translation>
 <translation id="4536418791685807335">വീണ്ടും സൈൻ ഇൻ ചെയ്യാൻ ശ്രമിക്കുക.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mn.xtb b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
index 092ef2c..cb9ce7f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mn.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Одоо шалгах</translation>
 <translation id="4505980578794259603">Сүүлд <ph name="TIME" /> шалгасан.</translation>
 <translation id="4508750114462689118">Нэвтрэх сурталчилгааг хаах</translation>
-<translation id="4511669830082467224">Google-р зураг хайх</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" />-д хадгалсан нууц үгээ нээж, удирдах</translation>
 <translation id="452750746583162491">Синк хийсэн өгөгдлөө шалгах</translation>
 <translation id="4536418791685807335">Дахин нэвтрэхээр оролдоно уу.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_mr.xtb b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
index 8aaf154b..44e589d9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_mr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_mr.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">आता तपासा</translation>
 <translation id="4505980578794259603">शेवटचे तपासले <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">साइन-इन प्रोमो बंद करा</translation>
-<translation id="4511669830082467224">Google वापरून इमेज शोधा</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" />
 वर सेव्ह केलेले पासवर्ड पहा आणि व्यवस्थापित करा</translation>
 <translation id="452750746583162491">तुमच्या सिंक केलेल्या डेटाचे पुनरावलोकन करा</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ms.xtb b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
index 812d9bf..31f50d97 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ms.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ms.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Semak Sekarang</translation>
 <translation id="4505980578794259603">Terakhir disemak <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Tutup promosi log masuk</translation>
-<translation id="4511669830082467224">Cari imej dengan Google</translation>
 <translation id="4526249700380860531">Lihat dan urus kata laluan yang disimpan di <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Semak data anda yang disegerak</translation>
 <translation id="4536418791685807335">Cuba log masuk semula.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_my.xtb b/ios/chrome/app/strings/resources/ios_strings_my.xtb
index def2307..0d53ec3 100644
--- a/ios/chrome/app/strings/resources/ios_strings_my.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_my.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">ယခု စစ်ကြည့်ရန်</translation>
 <translation id="4505980578794259603"><ph name="TIME" /> တွင် နောက်ဆုံးစစ်ဆေးခဲ့သည်။</translation>
 <translation id="4508750114462689118">လက်မှတ်ထိုးဝင်ထားသော ပရိုမိုးရှင်းများကို ပိတ်ရန်</translation>
-<translation id="4511669830082467224">Google ဖြင့် ပုံရှာရန်</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> တွင် သိမ်းဆည်းထားသော စကားဝှက်များအား ကြည့်ပြီး စီမံပါ</translation>
 <translation id="452750746583162491">သင်စင့်ခ်လုပ်ထားသည့် ဒေတာများကို ပြန်စစ်ခြင်း</translation>
 <translation id="4536418791685807335">ထပ်မံ၍ လက်မှတ်ထိုးဝင်ကြည့်ပါ။</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ne.xtb b/ios/chrome/app/strings/resources/ios_strings_ne.xtb
index dd7678c..2532bae 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ne.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ne.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">अहिले नै जाँच्नुहोस्</translation>
 <translation id="4505980578794259603">अन्तिम पटक <ph name="TIME" /> जाँच गरिएको थियो।</translation>
 <translation id="4508750114462689118">साइन-इन प्रोमो बन्द गर्नुहोस्</translation>
-<translation id="4511669830082467224">Google मार्फत फोटो खोज्नुहोस्</translation>
 <translation id="4526249700380860531">हेर्नुहोस् र <ph name="BEGIN_LINK" /> passwords.google.com <ph name="END_LINK" /> सुरक्षित गरिएका पासवर्डहरू व्यवस्थापन गर्नुहोस्</translation>
 <translation id="452750746583162491">आफ्नो सिंक गरिएको डेटाको समीक्षा गर्नुहोस्</translation>
 <translation id="4536418791685807335">फेरि साइन इन गरी हेर्नुहोस्।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_nl.xtb b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
index 547d5ae..997516f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_nl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_nl.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Nu checken</translation>
 <translation id="4505980578794259603">Laatst gecheckt: <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Inlogpromo sluiten</translation>
-<translation id="4511669830082467224">Afbeelding zoeken met Google</translation>
 <translation id="4526249700380860531">Opgeslagen wachtwoorden bekijken en beheren via <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Je gesynchroniseerde gegevens controleren</translation>
 <translation id="4536418791685807335">Probeer opnieuw in te loggen.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_no.xtb b/ios/chrome/app/strings/resources/ios_strings_no.xtb
index 34b368f4..e2e645088 100644
--- a/ios/chrome/app/strings/resources/ios_strings_no.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_no.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Sjekk nå</translation>
 <translation id="4505980578794259603">Sist sjekket <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Lukk påloggingskampanjen</translation>
-<translation id="4511669830082467224">Søk etter bildet med Google</translation>
 <translation id="4526249700380860531">Se og administrer lagrede passord på <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Gjennomgå de synkroniserte dataene dine</translation>
 <translation id="4536418791685807335">Prøv å logge på igjen.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_or.xtb b/ios/chrome/app/strings/resources/ios_strings_or.xtb
index 74e37e521..4ebb910 100644
--- a/ios/chrome/app/strings/resources/ios_strings_or.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_or.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">ପ୍ରିଣ୍ଟ ହେଲାନାହିଁ।</translation>
 <translation id="1125564390852150847">ନୂତନ ଟାବ୍ ତିଆରି କରନ୍ତୁ।</translation>
 <translation id="1126809382673880764">ବିପଦଜନକ ୱେବସାଇଟ୍, ଡାଉନଲୋଡ୍ ଏବଂ ଏକ୍ସଟେନ୍ସନଗୁଡ଼ିକ ଠାରୁ ଆପଣଙ୍କୁ ରକ୍ଷା କରେ ନାହିଁ। Gmail ଏବଂ Search ପରି ଅନ୍ୟ Google ସେବାଗୁଡ଼ିକରେ ସେଫ୍ ବ୍ରାଉଜିଂ ସୁବିଧା ଉପଲବ୍ଧ ଥିଲେ, ଆପଣ ଏବେ ବି ଏହି ସୁରକ୍ଷା ପାଇବେ।</translation>
+<translation id="1135212215217513471">iOS ପାଇଁ Chrome ପାଆନ୍ତୁ</translation>
 <translation id="1145536944570833626">ବିଦ୍ୟମାନ ଥିବା ଡାଟାକୁ ଡିଲିଟ୍ କରନ୍ତୁ।</translation>
 <translation id="1147031633655575115"><ph name="USER" /> ଭାବରେ ସାଇନ୍ ଇନ୍ କରିଛନ୍ତି</translation>
 <translation id="1154984953698510061">ଅନ୍ୟ ଟାବଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">ଆପଣ ଆପଣଙ୍କ ସିଙ୍କ୍ କରାଯାଇଥିବା ଡାଟାକୁ ସର୍ବଦା ଆକ୍ସେସ୍ କରିପାରିବେ ତାହା ସୁନିଶ୍ଚିତ କରିବା ପାଇଁ ଏହା ଆପଣ ଅଟନ୍ତି ବୋଲି ଯାଞ୍ଚ କରନ୍ତୁ</translation>
 <translation id="1870148520156231997">ପାସ୍‌ୱାର୍ଡ ପ୍ରକାଶ କରନ୍ତୁ</translation>
 <translation id="1872096359983322073">ଟର୍ଚ୍ଚ</translation>
+<translation id="1910975740091000991">iOS ପାଇଁ Chrome</translation>
 <translation id="1911619930368729126">Google ଡ୍ରାଇଭ୍‌ରେ ଅପ୍‌ଲୋଡ୍ କରନ୍ତୁ</translation>
 <translation id="1923342640370224680">ଶେଷ ଘଣ୍ଟାକର</translation>
 <translation id="1930989359703290198">ଆପଣଙ୍କ ସଂସ୍ଥା ଆପଣଙ୍କୁ କେବଳ ନିର୍ଦ୍ଦିଷ୍ଟ କିଛି ଆକାଉଣ୍ଟ ମାଧ୍ୟମରେ ସାଇନ ଇନ କରିବାକୁ ଅନୁମତି ଦିଏ। ଅନୁମତି ଦିଆଯାଇନଥିବା ଆକାଉଣ୍ଟଗୁଡ଼ିକ ଲୁକ୍କାୟିତ ଅଛି। <ph name="BEGIN_LINK" />ଅଧିକ ଜାଣନ୍ତୁ<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">ଆପଣ କପି କରିଥିବା ଟେକ୍ସଟ୍ ଖୋଜନ୍ତୁ</translation>
 <translation id="214201757571129614">ସାଇନ୍ ଇନ୍ କରନ୍ତୁ…</translation>
 <translation id="2149973817440762519">ବୁକମାର୍କ୍ ସମ୍ପାଦନ କରନ୍ତୁ</translation>
+<translation id="2155145621546387786">Chromeରେ ସେୟାର କରନ୍ତୁ</translation>
 <translation id="2175927920773552910">QR କୋଡ୍</translation>
 <translation id="2218443599109088993">ଜୁମ୍ ଆଉଟ୍ କରନ୍ତୁ</translation>
 <translation id="2230173723195178503">ୱେବ୍‌ପୃଷ୍ଠା ଲୋଡ୍ କରାଗଲା</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">ଏବେ ଯାଞ୍ଚ କରନ୍ତୁ</translation>
 <translation id="4505980578794259603">ଶେଷଥର <ph name="TIME" /> ପୂର୍ବେ ଯାଞ୍ଚ କରାଯାଇଥିଲା।</translation>
 <translation id="4508750114462689118">ସାଇନ୍-ଇନ୍ ପ୍ରୋମୋକୁ ବନ୍ଦ କରନ୍ତୁ</translation>
-<translation id="4511669830082467224">Google ମାଧ୍ୟମରେ ଇମେଜ ସନ୍ଧାନ କରନ୍ତୁ</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" />ରେ ସେଭ୍‍ ହୋଇଥିବା ପାସ୍‍ୱର୍ଡଗୁଡ଼ିକ ଦେଖନ୍ତୁ ଏବଂ ପରିଚାଳନା କରନ୍ତୁ</translation>
 <translation id="452750746583162491">ଆପଣଙ୍କ ସିଙ୍କ୍ କରାଯାଇଥିବା ଡାଟାର ସମୀକ୍ଷା କରନ୍ତୁ</translation>
 <translation id="4536418791685807335">ପୁଣି ସାଇନ୍ ଇନ୍ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pa.xtb b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
index fe664a0..8979b46 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pa.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pa.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">ਹੁਣੇ ਜਾਂਚ ਕਰੋ</translation>
 <translation id="4505980578794259603">ਪਿਛਲੀ ਵਾਰ <ph name="TIME" /> ਜਾਂਚ ਕੀਤੀ ਗਈ।</translation>
 <translation id="4508750114462689118">ਸਾਈਨ-ਇਨ ਪ੍ਰੋਮੋ ਬੰਦ ਕਰੋ</translation>
-<translation id="4511669830082467224">Google ਨਾਲ ਚਿੱਤਰ ਖੋਜੋ</translation>
 <translation id="4526249700380860531">ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> 'ਤੇ ਦੇਖੋ ਅਤੇ ਪ੍ਰਬੰਧਿਤ ਕਰੋ</translation>
 <translation id="452750746583162491">ਆਪਣੇ ਸਿੰਕ ਕੀਤੇ ਡਾਟਾ ਦੀ ਸਮੀਖਿਆ ਕਰੋ</translation>
 <translation id="4536418791685807335">ਦੁਬਾਰਾ ਸਾਈਨ ਇਨ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_pl.xtb b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
index b003aec..f00cdf0e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pl.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Sprawdź teraz</translation>
 <translation id="4505980578794259603">Ostatnio sprawdzano <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Zamknij okno zachęcające do logowania</translation>
-<translation id="4511669830082467224">Szukaj grafiki z Google</translation>
 <translation id="4526249700380860531">Wyświetlaj zapisane hasła i zarządzaj nimi na <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Przejrzyj synchronizowane dane</translation>
 <translation id="4536418791685807335">Spróbuj zalogować się jeszcze raz.</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 af64555e..6aaec81 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-BR.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Verificar agora</translation>
 <translation id="4505980578794259603">Última verificação <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Fechar promoção de login</translation>
-<translation id="4511669830082467224">Pesquisar imagem com o Google</translation>
 <translation id="4526249700380860531">Ver e gerenciar as senhas salvas em <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Revisar dados sincronizados</translation>
 <translation id="4536418791685807335">Tente fazer login novamente.</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 8c86754..37d8931 100644
--- a/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_pt-PT.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Verificar agora</translation>
 <translation id="4505980578794259603">Última verificação: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Fechar a promoção de início de sessão</translation>
-<translation id="4511669830082467224">Pesquisar imagem com o Google</translation>
 <translation id="4526249700380860531">Ver e gerir as palavras-passe guardadas em <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Rever os dados sincronizados</translation>
 <translation id="4536418791685807335">Experimente iniciar sessão novamente.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ro.xtb b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
index c7b6e62..d54cc31a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ro.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ro.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Verifică acum</translation>
 <translation id="4505980578794259603">Ultima verificare: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Închide mesajul promoțional de conectare</translation>
-<translation id="4511669830082467224">Caută imaginea cu Google</translation>
 <translation id="4526249700380860531">Vezi și gestionează parolele salvate la <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Examinează datele sincronizate</translation>
 <translation id="4536418791685807335">Încearcă să te conectezi din nou.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ru.xtb b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
index 665d7db..11bce48 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ru.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ru.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Ошибка печати</translation>
 <translation id="1125564390852150847">Создать вкладку</translation>
 <translation id="1126809382673880764">Не защищает вас от сайтов, расширений и скачанных файлов, которые могут представлять опасность. Безопасный просмотр по-прежнему будет работать в других сервисах Google, например в Gmail и Поиске.</translation>
+<translation id="1135212215217513471">Скачайте Chrome для iOS</translation>
 <translation id="1145536944570833626">Удалить сохраненные данные</translation>
 <translation id="1147031633655575115">Вы вошли как <ph name="USER" /></translation>
 <translation id="1154984953698510061">Посмотреть другие вкладки</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Чтобы никогда не терять доступ к синхронизированным данным, подтвердите свою личность.</translation>
 <translation id="1870148520156231997">Показать пароль</translation>
 <translation id="1872096359983322073">Вспышка</translation>
+<translation id="1910975740091000991">Chrome для iOS</translation>
 <translation id="1911619930368729126">Загрузить на Google Диск</translation>
 <translation id="1923342640370224680">Последний час</translation>
 <translation id="1930989359703290198">Согласно правилам, установленным организацией, выполнить вход можно только с одобренным аккаунтом. Запрещенные аккаунты скрываются. <ph name="BEGIN_LINK" />Подробнее…<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Поиск скопированного текста</translation>
 <translation id="214201757571129614">Войти</translation>
 <translation id="2149973817440762519">Закладка</translation>
+<translation id="2155145621546387786">Share Chrome (Поделиться Chrome)</translation>
 <translation id="2175927920773552910">QR-код</translation>
 <translation id="2218443599109088993">Уменьшить</translation>
 <translation id="2230173723195178503">Веб-страница загружена</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Проверить сейчас</translation>
 <translation id="4505980578794259603">Последняя проверка: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Закрыть сообщение о входе</translation>
-<translation id="4511669830082467224">Искать по изображению в Google</translation>
 <translation id="4526249700380860531">Просматривайте сохраненные пароли и управляйте ими на странице <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Проверить синхронизированные данные</translation>
 <translation id="4536418791685807335">Войдите в аккаунт снова.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_si.xtb b/ios/chrome/app/strings/resources/ios_strings_si.xtb
index edece8d..42a39c4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_si.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_si.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">මුද්‍රණය කිරීම අසාර්ථක විය.</translation>
 <translation id="1125564390852150847">නව පටිත්තක් තනන්න.</translation>
 <translation id="1126809382673880764">අනතුරුදායක වෙබ් අඩවිවලට, බාගැනීම්වලට, සහ දිගුවලට එරෙහිව ඔබව ආරක්‍ෂා නොකරයි. Gmail සහ සෙවීම වැනි අනෙකුත් Google සේවා තුළ ලද හැකි විට ඔබට ආරක්‍ෂිත බ්‍රවුස් කිරීමේ ආරක්‍ෂාව ලබා ගත හැක.</translation>
+<translation id="1135212215217513471">iOS සඳහා Chrome ලබා ගන්න</translation>
 <translation id="1145536944570833626">පවතින දත්ත මකන්න.</translation>
 <translation id="1147031633655575115"><ph name="USER" /> ලෙස පුරන ලදි</translation>
 <translation id="1154984953698510061">අනෙකුත් ටැබ බලන්න</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">ඔබට සැම විටම ඔබගේ සමමුහුර්ත දත්ත වෙත ප්‍රවේශ විය හැකි බව සහතික කර ගැනීමට, ඒ ඔබ බව සත්‍යාපනය කරන්න</translation>
 <translation id="1870148520156231997">මුරපදය අනාවරණ කරන්න</translation>
 <translation id="1872096359983322073">පන්දම</translation>
+<translation id="1910975740091000991">iOS සඳහා Chrome</translation>
 <translation id="1911619930368729126">Google Drive වෙත උඩුගත කරන්න</translation>
 <translation id="1923342640370224680">අවසන් පැයේ</translation>
 <translation id="1930989359703290198">නිශ්චිත ගිණුම්වලින් පමණක් පිරීමට ඔබගේ සංවිධානය ඔබට ඉඩ ‍දෙයි. ඉඩ නොදෙන ගිණුම් සඟවා ඇත. <ph name="BEGIN_LINK" />තව දැන ගන්න<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">ඔබ පිටපත් කළ පාඨය සොයන්න</translation>
 <translation id="214201757571129614">පුරන්න…</translation>
 <translation id="2149973817440762519">පිටු සලකුණු සංස්කරණය කරන්න</translation>
+<translation id="2155145621546387786">Chrome බෙදා ගන්න</translation>
 <translation id="2175927920773552910">QR කේතය</translation>
 <translation id="2218443599109088993">කුඩා කරන්න</translation>
 <translation id="2230173723195178503">වෙබ් පිටුව පූරණය කරන ලදී</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">දැන් පරීක්ෂා කරන්න</translation>
 <translation id="4505980578794259603">අවසානයට පරීක්ෂා කළේ <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">පුරනය-වීමේ ප්‍රවර්ධනය වසන්න</translation>
-<translation id="4511669830082467224">Google සමග රූපය සොයන්න</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> හිදී මුරපද බලන්න සහ කළමනාකරණය කරන්න</translation>
 <translation id="452750746583162491">ඔබේ සමමුහූර්ත කළ දත්ත සමාලෝචන කරන්න</translation>
 <translation id="4536418791685807335">නැවත පිරීමට උත්සාහ කරන්න.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sk.xtb b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
index 5240b2c4..a8b5c1a 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sk.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Skontrolovať</translation>
 <translation id="4505980578794259603">Posledná kontrola: <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Zavrieť propagáciu prihlásenia</translation>
-<translation id="4511669830082467224">Vyhľadať obrázok Googlom</translation>
 <translation id="4526249700380860531">Zobrazte si a spravujte uložené heslá na stránke <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Skontrolovať synchronizované údaje</translation>
 <translation id="4536418791685807335">Skúste sa znova prihlásiť.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sl.xtb b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
index 09989f4..2568e3b 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sl.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sl.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Printing failed.</translation>
 <translation id="1125564390852150847">Create new tab.</translation>
 <translation id="1126809382673880764">Ne ščiti pred nevarnimi spletnimi mesti, prenosi in razširitvami. Še vedno boste deležni zaščite Varnega brskanja, kjer je na voljo, v drugih Googlovih storitvah, kot sta Gmail in Iskanje Google.</translation>
+<translation id="1135212215217513471">Prenesite Chrome za iOS</translation>
 <translation id="1145536944570833626">Izbris obstoječih podatkov.</translation>
 <translation id="1147031633655575115">Prijavljeni ste kot <ph name="USER" /></translation>
 <translation id="1154984953698510061">Ogled drugih zavihkov</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Če želite poskrbeti, da boste vedno lahko dostopali do sinhroniziranih podatkov, potrdite, da ste to vi.</translation>
 <translation id="1870148520156231997">Razkrijte geslo</translation>
 <translation id="1872096359983322073">Svetilka</translation>
+<translation id="1910975740091000991">Chrome za iOS</translation>
 <translation id="1911619930368729126">Prenos v Google Drive</translation>
 <translation id="1923342640370224680">Zadnja ura</translation>
 <translation id="1930989359703290198">Organizacija dovoli prijavo samo z nekaterimi računi. Nedovoljeni računi so skriti. <ph name="BEGIN_LINK" />Več o tem<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Iskanje besedila, ki ste ga kopirali</translation>
 <translation id="214201757571129614">Prijava …</translation>
 <translation id="2149973817440762519">Uredi zaznamek</translation>
+<translation id="2155145621546387786">Delite Chrome z drugimi</translation>
 <translation id="2175927920773552910">Koda QR</translation>
 <translation id="2218443599109088993">Pomanjšaj</translation>
 <translation id="2230173723195178503">Spletna stran je naložena</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Preveri</translation>
 <translation id="4505980578794259603">Nazadnje preverjeno: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Zapri predstavitev prijave</translation>
-<translation id="4511669830082467224">Išči po sliki z Googlom</translation>
 <translation id="4526249700380860531">Dostopajte do shranjenih gesel in jih upravljajte na <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Pregled sinhroniziranih podatkov</translation>
 <translation id="4536418791685807335">Try signing in again.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sq.xtb b/ios/chrome/app/strings/resources/ios_strings_sq.xtb
index 167535e..a13820e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sq.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sq.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Printimi dështoi.</translation>
 <translation id="1125564390852150847">Krijo një skedë të re</translation>
 <translation id="1126809382673880764">Nuk të mbron kundër faqeve të internetit, shkarkimeve dhe shtesave të rrezikshme. Do të vazhdosh të marrësh mbrojtje për "Shfletimin e sigurt", aty ku ofrohet, në shërbimet e tjera të Google, si Gmail dhe "Kërko".</translation>
+<translation id="1135212215217513471">Merr Chrome për iOS</translation>
 <translation id="1145536944570833626">Fshi të dhënat ekzistuese.</translation>
 <translation id="1147031633655575115">Identifikuar si <ph name="USER" /></translation>
 <translation id="1154984953698510061">Shiko skedat e tjera</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Për t'u siguruar që mund të qasesh gjithmonë te të dhënat e tua të sinkronizuara, verifiko që je ti</translation>
 <translation id="1870148520156231997">Zbulo fjalëkalimin</translation>
 <translation id="1872096359983322073">Elektriku</translation>
+<translation id="1910975740091000991">Chrome për iOS</translation>
 <translation id="1911619930368729126">Ngarko në "Diskun e Google"</translation>
 <translation id="1923342640370224680">Ora e fundit</translation>
 <translation id="1930989359703290198">Organizata jote të lejon të identifikohesh vetëm me llogari të caktuara. Llogaritë që nuk lejohen janë të fshehura. <ph name="BEGIN_LINK" />Mëso më shumë<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Kërko për tekstin që kopjove</translation>
 <translation id="214201757571129614">Identifikohu…</translation>
 <translation id="2149973817440762519">Redakto faqeshënuesin</translation>
+<translation id="2155145621546387786">Ndaje Chrome</translation>
 <translation id="2175927920773552910">Kodi QR</translation>
 <translation id="2218443599109088993">Zvogëlo</translation>
 <translation id="2230173723195178503">Faqja e uebit u ngarkua</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Kontrollo tani</translation>
 <translation id="4505980578794259603">Kontrolli i fundit: <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Mbyll promocionin për identifikimin</translation>
-<translation id="4511669830082467224">Kërko në imazh me Google</translation>
 <translation id="4526249700380860531">Shiko dhe menaxho fjalëkalimet e ruajtura në <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Rishiko të dhënat e tua të sinkronizuara</translation>
 <translation id="4536418791685807335">Provo të identifikohesh sërish.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb b/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
index 6760ff9..efa24d9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr-Latn.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Štampanje nije uspelo.</translation>
 <translation id="1125564390852150847">Napravi novu karticu.</translation>
 <translation id="1126809382673880764">Ne štiti vas od opasnih veb-sajtova, preuzimanja i dodataka. U drugim Google uslugama, kao što su Gmail i Pretraga, i dalje ćete imati zaštitu pomoću Bezbednog pregledanja kada je dostupna.</translation>
+<translation id="1135212215217513471">Nabavite Chrome za iOS</translation>
 <translation id="1145536944570833626">Izbrišite postojeće podatke</translation>
 <translation id="1147031633655575115">Prijavljeni ste kao <ph name="USER" /></translation>
 <translation id="1154984953698510061">Prikaži druge kartice</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Da biste bili sigurni da uvek možete da pristupate sinhronizovanim podacima, potvrdite da ste to vi</translation>
 <translation id="1870148520156231997">Prikažite lozinku</translation>
 <translation id="1872096359983322073">Blic</translation>
+<translation id="1910975740091000991">Chrome za iOS</translation>
 <translation id="1911619930368729126">Otpremi u Google disk</translation>
 <translation id="1923342640370224680">Prethodni sat</translation>
 <translation id="1930989359703290198">Organizacija vam dozvoljava da se prijavite samo pomoću određenih naloga. Nalozi koji nisu dozvoljeni su skriveni. <ph name="BEGIN_LINK" />Saznajte više<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Potražite tekst koji ste kopirali</translation>
 <translation id="214201757571129614">Prijavite se…</translation>
 <translation id="2149973817440762519">Izmenite obeleživač</translation>
+<translation id="2155145621546387786">Deli Chrome</translation>
 <translation id="2175927920773552910">QR kôd</translation>
 <translation id="2218443599109088993">Umanjite</translation>
 <translation id="2230173723195178503">Veb-stranica je učitana</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Proveri</translation>
 <translation id="4505980578794259603">Poslednja provera: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Zatvori promociju za prijavljivanje</translation>
-<translation id="4511669830082467224">Pretraži sliku pomoću Google-a</translation>
 <translation id="4526249700380860531">Pregledajte sačuvane lozinke i upravljajte njima na <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Pregledajte sinhronizovane podatke</translation>
 <translation id="4536418791685807335">Probajte ponovo da se prijavite.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sr.xtb b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
index a57c77b..bf7652f 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sr.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Штампање није успело.</translation>
 <translation id="1125564390852150847">Направи нову картицу.</translation>
 <translation id="1126809382673880764">Не штити вас од опасних веб-сајтова, преузимања и додатака. У другим Google услугама, као што су Gmail и Претрага, и даље ћете имати заштиту помоћу Безбедног прегледања када је доступна.</translation>
+<translation id="1135212215217513471">Набавите Chrome за iOS</translation>
 <translation id="1145536944570833626">Избришите постојеће податке</translation>
 <translation id="1147031633655575115">Пријављени сте као <ph name="USER" /></translation>
 <translation id="1154984953698510061">Прикажи друге картице</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Да бисте били сигурни да увек можете да приступате синхронизованим подацима, потврдите да сте то ви</translation>
 <translation id="1870148520156231997">Прикажите лозинку</translation>
 <translation id="1872096359983322073">Блиц</translation>
+<translation id="1910975740091000991">Chrome за iOS</translation>
 <translation id="1911619930368729126">Отпреми у Google диск</translation>
 <translation id="1923342640370224680">Претходни сат</translation>
 <translation id="1930989359703290198">Организација вам дозвољава да се пријавите само помоћу одређених налога. Налози који нису дозвољени су скривени. <ph name="BEGIN_LINK" />Сазнајте више<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Потражите текст који сте копирали</translation>
 <translation id="214201757571129614">Пријавите се…</translation>
 <translation id="2149973817440762519">Измените обележивач</translation>
+<translation id="2155145621546387786">Дели Chrome</translation>
 <translation id="2175927920773552910">QR кôд</translation>
 <translation id="2218443599109088993">Умањите</translation>
 <translation id="2230173723195178503">Веб-страница је учитана</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Провери</translation>
 <translation id="4505980578794259603">Последња провера: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Затвори промоцију за пријављивање</translation>
-<translation id="4511669830082467224">Претражи слику помоћу Google-а</translation>
 <translation id="4526249700380860531">Прегледајте сачуване лозинке и управљајте њима на <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Прегледајте синхронизоване податке</translation>
 <translation id="4536418791685807335">Пробајте поново да се пријавите.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sv.xtb b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
index b18b2a4..d1bf1acb 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sv.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sv.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Utskriftsfel.</translation>
 <translation id="1125564390852150847">Skapa en ny flik.</translation>
 <translation id="1126809382673880764">Skyddar inte mot farliga webbplatser, nedladdningar och tillägg. Där funktionen är tillgänglig får du fortfarande skydd med Säker webbsökning i andra tjänster från Google, till exempel Gmail och Sök.</translation>
+<translation id="1135212215217513471">Ladda ned Chrome för iOS</translation>
 <translation id="1145536944570833626">Radera befintlig data.</translation>
 <translation id="1147031633655575115">Inloggad som <ph name="USER" /></translation>
 <translation id="1154984953698510061">Se andra flikar</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Verifiera din identitet så att du alltid får åtkomst till din synkroniserade data</translation>
 <translation id="1870148520156231997">Visa lösenord</translation>
 <translation id="1872096359983322073">Ficklampa</translation>
+<translation id="1910975740091000991">Chrome för iOS</translation>
 <translation id="1911619930368729126">Ladda upp till Google Drive</translation>
 <translation id="1923342640370224680">Senaste timmen</translation>
 <translation id="1930989359703290198">Organisationen tillåter endast inloggning med vissa konton. Konton som inte tillåts är dolda. <ph name="BEGIN_LINK" />Läs mer<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Sök efter kopierad text</translation>
 <translation id="214201757571129614">Logga in …</translation>
 <translation id="2149973817440762519">Redigera bokmärke</translation>
+<translation id="2155145621546387786">Dela Chrome</translation>
 <translation id="2175927920773552910">QR-kod</translation>
 <translation id="2218443599109088993">Zooma ut</translation>
 <translation id="2230173723195178503">Webbsidan har lästs in</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Kontrollera nu</translation>
 <translation id="4505980578794259603">Kontrollerades senast <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Stäng inloggningskampanj</translation>
-<translation id="4511669830082467224">Sök på bilden med Google</translation>
 <translation id="4526249700380860531">Visa och hantera sparade lösenord på <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Granska din synkroniserade data</translation>
 <translation id="4536418791685807335">Försök att logga in igen.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_sw.xtb b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
index a19cc06..a7ddb493 100644
--- a/ios/chrome/app/strings/resources/ios_strings_sw.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_sw.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Imeshindwa kuchapisha.</translation>
 <translation id="1125564390852150847">Unda kichupo kipya</translation>
 <translation id="1126809382673880764">Haikulindi dhidi ya tovuti, viendelezi na faili hatari zinazopakuliwa. Bado utapata ulinzi wa kipengele cha Kuvinjari Salama, kinapopatikana, katika huduma nyingine za Google kama vile Gmail na Tafuta na Google.</translation>
+<translation id="1135212215217513471">Pata Chrome inayotumika kwenye iOS</translation>
 <translation id="1145536944570833626">Futa data iliyopo.</translation>
 <translation id="1147031633655575115">Umeingia katika akaunti kama <ph name="USER" /></translation>
 <translation id="1154984953698510061">Angalia Vichupo Vingine</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Ili uhakikishe kwamba unaweza kufikia data yako inayosawazishwa wakati wowote, thibitisha kwamba ni wewe</translation>
 <translation id="1870148520156231997">Fichua Nenosiri</translation>
 <translation id="1872096359983322073">Tochi</translation>
+<translation id="1910975740091000991">Chrome inayotumika kwenye iOS</translation>
 <translation id="1911619930368729126">Pakia kwenye Hifadhi ya Google</translation>
 <translation id="1923342640370224680">Saa ya Mwisho</translation>
 <translation id="1930989359703290198">Shirika lako hukuruhusu kuingia kwa kutumia baadhi ya akaunti tu. Akaunti zisizoruhusiwa zimefichwa. <ph name="BEGIN_LINK" />Pata Maelezo Zaidi<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Tafuta Maandishi Uliyonakili</translation>
 <translation id="214201757571129614">Ingia Katika Akaunti…</translation>
 <translation id="2149973817440762519">Badilisha Alamisho</translation>
+<translation id="2155145621546387786">Shiriki Chrome</translation>
 <translation id="2175927920773552910">Msimbo wa QR</translation>
 <translation id="2218443599109088993">Sogeza Mbali</translation>
 <translation id="2230173723195178503">Ukurasa wa Wavuti umepakiwa</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Kagua Sasa</translation>
 <translation id="4505980578794259603">Mara ya mwisho kukaguliwa <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Funga matangazo ya kuingia kwenye akaunti</translation>
-<translation id="4511669830082467224">Tafuta picha ukitumia Google</translation>
 <translation id="4526249700380860531">Angalia na udhibiti manenosiri yaliyohifadhiwa kwenye <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Kagua data yako iliyosawazishwa</translation>
 <translation id="4536418791685807335">Jaribu kuingia katika akaunti tena.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ta.xtb b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
index 3b2c0d3..5771864 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ta.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ta.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">இப்போது சரிபார்</translation>
 <translation id="4505980578794259603">கடைசியாகச் சரிபார்த்தது: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">உள்நுழைவு விளம்பரத்தை மூடு</translation>
-<translation id="4511669830082467224">Google மூலம் படத்தைத் தேடு</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> இல் சேமித்த கடவுச்சொற்களைப் பார்க்கலாம் மற்றும் நிர்வகிக்கலாம்.</translation>
 <translation id="452750746583162491">ஒத்திசைத்த தரவை மதிப்பாய்வு செய்க</translation>
 <translation id="4536418791685807335">மீண்டும் உள்நுழைந்து முயலவும்.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_te.xtb b/ios/chrome/app/strings/resources/ios_strings_te.xtb
index 2e341bcc..36c848d 100644
--- a/ios/chrome/app/strings/resources/ios_strings_te.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_te.xtb
@@ -59,7 +59,7 @@
 <translation id="1360432990279830238">సైన్ అవుట్ చేసి, సింక్‌ను ఆఫ్ చేయలా?</translation>
 <translation id="1375321115329958930">సేవ్ చేసిన పాస్‌వర్డ్‌లు</translation>
 <translation id="1377255359165588604">సింక్‌ పని చేయడం ఆపివేయబడింది.</translation>
-<translation id="1377321085342047638">కార్డ్ సంఖ్య</translation>
+<translation id="1377321085342047638">కార్డ్ నంబర్</translation>
 <translation id="1383876407941801731">సెర్చ్</translation>
 <translation id="1400642268715879018">గత 4 వారాలు</translation>
 <translation id="1404330357948037222">మీరు సైన్ అవుట్ చేశారు</translation>
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">ఇప్పుడే చెక్ చేయండి</translation>
 <translation id="4505980578794259603">చివరగా చెక్ చేసినది <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">సైన్ ఇన్ ప్రోమోను మూసివేయండి</translation>
-<translation id="4511669830082467224">Google ద్వారా ఇమేజ్‌ను సెర్చ్ చేయండి</translation>
 <translation id="4526249700380860531"><ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" />లో సేవ్ చేసిన పాస్‌వర్డ్‌లను చూడండి. నిర్వహించండి</translation>
 <translation id="452750746583162491">సింక్ చేసిన మీ డేటాను రివ్యూ చేయండి</translation>
 <translation id="4536418791685807335">మళ్లీ సైన్ ఇన్ చేయడానికి ప్రయత్నించండి.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_th.xtb b/ios/chrome/app/strings/resources/ios_strings_th.xtb
index d283480..13de753 100644
--- a/ios/chrome/app/strings/resources/ios_strings_th.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_th.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">ตรวจสอบเลย</translation>
 <translation id="4505980578794259603">ตรวจสอบล่าสุดเมื่อ <ph name="TIME" /></translation>
 <translation id="4508750114462689118">ปิดโปรโมชันการลงชื่อเข้าใช้</translation>
-<translation id="4511669830082467224">ค้นหาภาพด้วย Google</translation>
 <translation id="4526249700380860531">ดูและจัดการรหัสผ่านที่บันทึกไว้ที่ <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">ตรวจสอบข้อมูลที่ซิงค์</translation>
 <translation id="4536418791685807335">ลองลงชื่อเข้าใช้อีกครั้ง</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_tr.xtb b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
index 2ccde8d..26766b9 100644
--- a/ios/chrome/app/strings/resources/ios_strings_tr.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_tr.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Şimdi Denetle</translation>
 <translation id="4505980578794259603">Son kontrol zamanı: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Oturum açma tanıtımını kapat</translation>
-<translation id="4511669830082467224">Resmi Google'la arayın</translation>
 <translation id="4526249700380860531">Kaydedilmiş şifreleri <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> adresinden görüntüleyin ve yönetin</translation>
 <translation id="452750746583162491">Senkronize edilmiş verilerinizi inceleyin</translation>
 <translation id="4536418791685807335">Tekrar oturum açmayı deneyin.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uk.xtb b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
index b9b13ffec..8d3086e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uk.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uk.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">Не надруковано.</translation>
 <translation id="1125564390852150847">Створити вкладку.</translation>
 <translation id="1126809382673880764">Не захищає від небезпечних веб-сайтів, завантажень і розширень. Безпечний перегляд усе ще працюватиме в інших сервісах Google (у яких він доступний), як-от Gmail і Пошук.</translation>
+<translation id="1135212215217513471">Завантажити Chrome для iOS</translation>
 <translation id="1145536944570833626">Видалити наявні дані.</translation>
 <translation id="1147031633655575115">Ви ввійшли як <ph name="USER" /></translation>
 <translation id="1154984953698510061">Переглянути інші вкладки</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">Щоб не втратити доступ до своїх даних синхронізації, підтвердьте свою особу</translation>
 <translation id="1870148520156231997">Показати пароль</translation>
 <translation id="1872096359983322073">Ліхтарик</translation>
+<translation id="1910975740091000991">Chrome для iOS</translation>
 <translation id="1911619930368729126">Завантажити на Google Диск</translation>
 <translation id="1923342640370224680">Остання година</translation>
 <translation id="1930989359703290198">Ваша організація дозволяє входити лише в певні облікові записи. Недозволені облікові записи приховано. <ph name="BEGIN_LINK" />Докладніше<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">Шукати скопійований текст</translation>
 <translation id="214201757571129614">Увійти…</translation>
 <translation id="2149973817440762519">Редагувати закладку</translation>
+<translation id="2155145621546387786">Посилання на додаток Chrome</translation>
 <translation id="2175927920773552910">QR-код</translation>
 <translation id="2218443599109088993">Віддалити</translation>
 <translation id="2230173723195178503">Веб-сторінку завантажено</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">Перевірити</translation>
 <translation id="4505980578794259603">Остання перевірка: <ph name="TIME" /></translation>
 <translation id="4508750114462689118">Закрити заклик до входу</translation>
-<translation id="4511669830082467224">Шукати зображення за допомогою Google</translation>
 <translation id="4526249700380860531">Переглядайте збережені паролі та керуйте ними на сторінці <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Переглянути синхронізовані дані</translation>
 <translation id="4536418791685807335">Спробуйте ввійти ще раз.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_ur.xtb b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
index d56c380..2d55001e 100644
--- a/ios/chrome/app/strings/resources/ios_strings_ur.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_ur.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">ابھی چیک کریں</translation>
 <translation id="4505980578794259603">آخری بار <ph name="TIME" /> چیک کیا گیا۔</translation>
 <translation id="4508750114462689118">سائن ان پرومو بند کریں</translation>
-<translation id="4511669830082467224">‏Google کی مدد سے تصویر تلاش کریں</translation>
 <translation id="4526249700380860531">‏<ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> پر محفوظ کردہ پاس ورڈز دیکھیں اور ان کا نظم کریں</translation>
 <translation id="452750746583162491">اپنے مطابقت پذیر ڈیٹا کا جائزہ لیں</translation>
 <translation id="4536418791685807335">دوبارہ سائن ان کرنے کی کوشش کریں۔</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_uz.xtb b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
index 652482c..147dc14 100644
--- a/ios/chrome/app/strings/resources/ios_strings_uz.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_uz.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Hozir tekshirish</translation>
 <translation id="4505980578794259603">Oxirgi marta: <ph name="TIME" /> da tekshirilgan.</translation>
 <translation id="4508750114462689118">Kirish reklamasini yopish</translation>
-<translation id="4511669830082467224">Google orqali rasm qidirish</translation>
 <translation id="4526249700380860531">Saqlab olingan parollarni <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> sahifasi orqali ko‘ring va ularni boshqaring.</translation>
 <translation id="452750746583162491">Sinxronlangan maʼlumotlaringizni tekshiring</translation>
 <translation id="4536418791685807335">Qaytadan kirib ko‘ring.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_vi.xtb b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
index 13c203b..e8c3ad86 100644
--- a/ios/chrome/app/strings/resources/ios_strings_vi.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_vi.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Kiểm tra ngay</translation>
 <translation id="4505980578794259603">Lần kiểm tra gần đây nhất: <ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Đóng quảng cáo đăng nhập</translation>
-<translation id="4511669830082467224">Tìm hình ảnh bằng Google</translation>
 <translation id="4526249700380860531">Xem và quản lý mật khẩu đã lưu tại <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Xem lại các dữ liệu đã đồng bộ hóa của bạn</translation>
 <translation id="4536418791685807335">Thử đăng nhập lại.</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
index caf0be9..251cc551 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-CN.xtb
@@ -25,6 +25,7 @@
 <translation id="1112015203684611006">打印操作失败。</translation>
 <translation id="1125564390852150847">创建新的标签页。</translation>
 <translation id="1126809382673880764">不会保护您免受危险网站、下载内容和扩展程序的侵害。在 Gmail 和 Google 搜索等其他 Google 服务中,若安全浏览保护可用,您仍将获得该保护。</translation>
+<translation id="1135212215217513471">获取 Chrome(iOS 版)</translation>
 <translation id="1145536944570833626">删除现有数据。</translation>
 <translation id="1147031633655575115">目前的登录者是:<ph name="USER" /></translation>
 <translation id="1154984953698510061">查看其他标签页</translation>
@@ -113,6 +114,7 @@
 <translation id="1832848789136765277">若要确保您能随时访问自己的同步数据,请验证是您本人在操作</translation>
 <translation id="1870148520156231997">显示密码</translation>
 <translation id="1872096359983322073">闪光灯</translation>
+<translation id="1910975740091000991">Chrome(iOS 版)</translation>
 <translation id="1911619930368729126">上传到Google云端硬盘</translation>
 <translation id="1923342640370224680">过去 1 小时</translation>
 <translation id="1930989359703290198">根据贵单位的要求,您只能使用特定帐号登录。不允许使用的帐号会处于隐藏状态。<ph name="BEGIN_LINK" />了解详情<ph name="END_LINK" /></translation>
@@ -140,6 +142,7 @@
 <translation id="2139867232736819575">搜索您复制的文字</translation>
 <translation id="214201757571129614">登录…</translation>
 <translation id="2149973817440762519">修改书签</translation>
+<translation id="2155145621546387786">共享 Chrome</translation>
 <translation id="2175927920773552910">二维码</translation>
 <translation id="2218443599109088993">缩小</translation>
 <translation id="2230173723195178503">已加载网页</translation>
@@ -406,7 +409,6 @@
 <translation id="4502566650163919158">立即检查</translation>
 <translation id="4505980578794259603">上次检查时间:<ph name="TIME" />。</translation>
 <translation id="4508750114462689118">关闭登录推广元素</translation>
-<translation id="4511669830082467224">使用 Google 搜索图片</translation>
 <translation id="4526249700380860531">通过 <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> 查看和管理已保存的密码</translation>
 <translation id="452750746583162491">查看您已同步的数据</translation>
 <translation id="4536418791685807335">请尝试重新登录。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
index d5004390..f8eafc7 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-HK.xtb
@@ -25,7 +25,7 @@
 <translation id="1112015203684611006">無法列印。</translation>
 <translation id="1125564390852150847">新增分頁。</translation>
 <translation id="1126809382673880764">無法防範危險網站、下載檔案和擴充程式。您仍可在其他 Google 服務 (例如 Gmail 和搜尋) 中使用「安全瀏覽」功能 (如有)。</translation>
-<translation id="1135212215217513471">取得 Chrome iOS 版</translation>
+<translation id="1135212215217513471">下載 Chrome iOS 版</translation>
 <translation id="1145536944570833626">刪除現有資料。</translation>
 <translation id="1147031633655575115">已使用「<ph name="USER" />」的身分登入</translation>
 <translation id="1154984953698510061">查看其他分頁</translation>
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">立即檢查</translation>
 <translation id="4505980578794259603">上次檢查時間:<ph name="TIME" />。</translation>
 <translation id="4508750114462689118">閂登入宣傳元素</translation>
-<translation id="4511669830082467224">透過 Google 搜尋圖片</translation>
 <translation id="4526249700380860531">檢視及管理您在 <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> 中已儲存的密碼</translation>
 <translation id="452750746583162491">查看您已同步的資料</translation>
 <translation id="4536418791685807335">請嘗試再次登入。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
index b5bd4d3..070416c57 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zh-TW.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">立即檢查</translation>
 <translation id="4505980578794259603">上次檢查時間:<ph name="TIME" />。</translation>
 <translation id="4508750114462689118">關閉登入提示</translation>
-<translation id="4511669830082467224">使用 Google 搜尋圖片</translation>
 <translation id="4526249700380860531">您可以前往 <ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /> 查看及管理已儲存的密碼</translation>
 <translation id="452750746583162491">查看已同步處理的資料</translation>
 <translation id="4536418791685807335">請嘗試重新登入。</translation>
diff --git a/ios/chrome/app/strings/resources/ios_strings_zu.xtb b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
index bb11f9f04..845c9c4 100644
--- a/ios/chrome/app/strings/resources/ios_strings_zu.xtb
+++ b/ios/chrome/app/strings/resources/ios_strings_zu.xtb
@@ -409,7 +409,6 @@
 <translation id="4502566650163919158">Hlola manje</translation>
 <translation id="4505980578794259603">Kugcine ukuhlolwa ngo-<ph name="TIME" />.</translation>
 <translation id="4508750114462689118">Vala iphromo yokungena ngemvume</translation>
-<translation id="4511669830082467224">Sesha umfanekiso nge-Google</translation>
 <translation id="4526249700380860531">Buka uphinde uphathe amaphasiwedi alondoloziwe ku-<ph name="BEGIN_LINK" />passwords.google.com<ph name="END_LINK" /></translation>
 <translation id="452750746583162491">Buyekeza idatha yakho evunyelanisiwe</translation>
 <translation id="4536418791685807335">Zama ukuphinda ungene ngemvume.</translation>
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index 62a1f0f..3b928b31 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -891,14 +891,6 @@
      flag_descriptions::kEnableUnicornAccountSupportDescription,
      flags_ui::kOsIos,
      FEATURE_VALUE_TYPE(signin::kEnableUnicornAccountSupport)},
-    {"single-cell-content-suggestions",
-     flag_descriptions::kSingleCellContentSuggestionsName,
-     flag_descriptions::kSingleCellContentSuggestionsDescription,
-     flags_ui::kOsIos, FEATURE_VALUE_TYPE(kSingleCellContentSuggestions)},
-    {"content-suggestions-header-migration",
-     flag_descriptions::kContentSuggestionsHeaderMigrationName,
-     flag_descriptions::kContentSuggestionsHeaderMigrationDescription,
-     flags_ui::kOsIos, FEATURE_VALUE_TYPE(kContentSuggestionsHeaderMigration)},
     {"leak-detection-unauthenticated",
      flag_descriptions::kLeakDetectionUnauthenticatedName,
      flag_descriptions::kLeakDetectionUnauthenticatedDescription,
@@ -938,11 +930,6 @@
      flag_descriptions::kSendTabToSelfSigninPromoName,
      flag_descriptions::kSendTabToSelfSigninPromoDescription, flags_ui::kOsIos,
      FEATURE_VALUE_TYPE(send_tab_to_self::kSendTabToSelfSigninPromo)},
-    {"content-suggestions-uiviewcontroller-migration",
-     flag_descriptions::kContentSuggestionsUIViewControllerMigrationName,
-     flag_descriptions::kContentSuggestionsUIViewControllerMigrationDescription,
-     flags_ui::kOsIos,
-     FEATURE_VALUE_TYPE(kContentSuggestionsUIViewControllerMigration)},
     {"bubble-rich-iph", flag_descriptions::kBubbleRichIPHName,
      flag_descriptions::kBubbleRichIPHDescription, flags_ui::kOsIos,
      FEATURE_WITH_PARAMS_VALUE_TYPE(kBubbleRichIPH,
@@ -1130,6 +1117,10 @@
      FEATURE_WITH_PARAMS_VALUE_TYPE(kEnableFeedBackgroundRefresh,
                                     kFeedBackgroundRefreshVariations,
                                     "FeedBackgroundRefresh")},
+    {"omnibox-keyboard-paste-button",
+     flag_descriptions::kOmniboxKeyboardPasteButtonName,
+     flag_descriptions::kOmniboxKeyboardPasteButtonDescription,
+     flags_ui::kOsIos, FEATURE_VALUE_TYPE(kOmniboxKeyboardPasteButton)},
 #endif  // BUILDFLAG(IOS_BACKGROUND_MODE_ENABLED)
     {"enable-cbd-sign-out", flag_descriptions::kEnableCBDSignOutName,
      flag_descriptions::kEnableCBDSignOutDescription, flags_ui::kOsIos,
diff --git a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
index 2529a781..15b76e6 100644
--- a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
+++ b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
@@ -158,24 +158,12 @@
     "When enabled, Experience Kit Calendar will use Text Classifier library in "
     "entity detection where possible.";
 
-const char kContentSuggestionsHeaderMigrationName[] =
-    "Content Suggestions header migration";
-const char kContentSuggestionsHeaderMigrationDescription[] =
-    "When enabled, the Content Suggestions header will be logically moved to "
-    "the Discover feed ScrollView";
-
 const char kContentSuggestionsUIModuleRefreshName[] =
     "Content Suggestions UI Module Refresh";
 const char kContentSuggestionsUIModuleRefreshDescription[] =
     "When enabled, the Content Suggestions will be redesigned to be contained "
     "into distinct modules.";
 
-const char kContentSuggestionsUIViewControllerMigrationName[] =
-    "Content Suggestions UIViewController migration";
-const char kContentSuggestionsUIViewControllerMigrationDescription[] =
-    "When enabled, the Content Suggestions will be logically moved to a "
-    "UIViewController subclass implementation";
-
 const char kCrashpadIOSName[] = "Use Crashpad for crash collection.";
 const char kCrashpadIOSDescription[] =
     "When enabled use Crashpad to generate crash reports crash collection. "
@@ -496,6 +484,11 @@
 const char kOmniboxHttpsUpgradesDescription[] =
     "Enables HTTPS upgrades for omnibox navigations typed without a scheme";
 
+const char kOmniboxKeyboardPasteButtonName[] = "Omnibox keyboard paste button";
+const char kOmniboxKeyboardPasteButtonDescription[] =
+    "Enables paste button in the omnibox's keyboard accessory. Only available "
+    "from iOS 16 onward.";
+
 const char kOmniboxUIMaxAutocompleteMatchesName[] =
     "Omnibox UI Max Autocomplete Matches";
 const char kOmniboxUIMaxAutocompleteMatchesDescription[] =
@@ -619,11 +612,6 @@
     "Adds a Link to Text option in the Edit Menu which generates URLs with a "
     "text fragment.";
 
-const char kSingleCellContentSuggestionsName[] =
-    "Use Single Cell for Content Suggestions";
-const char kSingleCellContentSuggestionsDescription[] =
-    "Uses a single cell for all items in the NTP's content suggestions.";
-
 const char kShowAutofillTypePredictionsName[] = "Show Autofill predictions";
 const char kShowAutofillTypePredictionsDescription[] =
     "Annotates web forms with Autofill field type predictions as placeholder "
diff --git a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
index f37ba02c..e8bc506 100644
--- a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
+++ b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
@@ -134,21 +134,11 @@
 extern const char kEnableExpKitCalendarTextClassifierName[];
 extern const char kEnableExpKitCalendarTextClassifierDescription[];
 
-// Title and description for the flag that moves the Content Suggestions header
-// to the Discover feed ScrollView.
-extern const char kContentSuggestionsHeaderMigrationName[];
-extern const char kContentSuggestionsHeaderMigrationDescription[];
-
 // Title and description for the flag that updates the Content Suggestions to a
 // new module design.
 extern const char kContentSuggestionsUIModuleRefreshName[];
 extern const char kContentSuggestionsUIModuleRefreshDescription[];
 
-// Title and description for the flag that moves the Content Suggestions to a
-// UIViewController.
-extern const char kContentSuggestionsUIViewControllerMigrationName[];
-extern const char kContentSuggestionsUIViewControllerMigrationDescription[];
-
 // Title and description for the flag to control which crash generation tool
 // is used.
 extern const char kCrashpadIOSName[];
@@ -458,6 +448,11 @@
 extern const char kOmniboxHttpsUpgradesName[];
 extern const char kOmniboxHttpsUpgradesDescription[];
 
+// Title and description for the flag to enable paste button in the omnibox's
+// keyboard accessory.
+extern const char kOmniboxKeyboardPasteButtonName[];
+extern const char kOmniboxKeyboardPasteButtonDescription[];
+
 // Title and description for the flag to change the max number of autocomplete
 // matches in the omnibox popup.
 extern const char kOmniboxUIMaxAutocompleteMatchesName[];
@@ -567,11 +562,6 @@
 extern const char kShowAutofillTypePredictionsName[];
 extern const char kShowAutofillTypePredictionsDescription[];
 
-// Title and description for the flag to use one cell for the Content
-// Suggestions
-extern const char kSingleCellContentSuggestionsName[];
-extern const char kSingleCellContentSuggestionsDescription[];
-
 // Title and description for the flag to enable smart sorting the new overflow
 // menu.
 extern const char kSmartSortingNewOverflowMenuName[];
diff --git a/ios/chrome/browser/ntp_tiles/ntp_tiles_egtest.mm b/ios/chrome/browser/ntp_tiles/ntp_tiles_egtest.mm
index 0362388b..66d63d1 100644
--- a/ios/chrome/browser/ntp_tiles/ntp_tiles_egtest.mm
+++ b/ios/chrome/browser/ntp_tiles/ntp_tiles_egtest.mm
@@ -41,10 +41,6 @@
 - (AppLaunchConfiguration)appConfigurationForTestCase {
   AppLaunchConfiguration config;
   config.relaunch_policy = ForceRelaunchByCleanShutdown;
-  config.features_enabled.push_back(kSingleCellContentSuggestions);
-  config.features_enabled.push_back(kContentSuggestionsHeaderMigration);
-  config.features_enabled.push_back(
-      kContentSuggestionsUIViewControllerMigration);
   return config;
 }
 
diff --git a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
index fabb8d6..bccf914 100644
--- a/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
+++ b/ios/chrome/browser/ui/browser_view/browser_view_controller.mm
@@ -2589,11 +2589,9 @@
 - (BOOL)isTabScrolledToTopForBubblePresenter:(BubblePresenter*)bubblePresenter {
   DCHECK(bubblePresenter == _bubblePresenter);
 
-  // If NTP exists, use NTP coordinator's scroll offset.
+  // If NTP exists, check if it is scrolled to top.
   if (self.isNTPActiveForCurrentWebState) {
-    NewTabPageCoordinator* coordinator = self.ntpCoordinator;
-    CGFloat scrolledToTopOffset = [coordinator contentInset].top;
-    return [coordinator contentOffset].y == scrolledToTopOffset;
+    return [self.ntpCoordinator isScrolledToTop];
   }
 
   CRWWebViewScrollViewProxy* scrollProxy =
diff --git a/ios/chrome/browser/ui/content_suggestions/BUILD.gn b/ios/chrome/browser/ui/content_suggestions/BUILD.gn
index 18367615..d93550f 100644
--- a/ios/chrome/browser/ui/content_suggestions/BUILD.gn
+++ b/ios/chrome/browser/ui/content_suggestions/BUILD.gn
@@ -119,6 +119,7 @@
     "//ui/strings",
   ]
   configs += [ "//build/config/compiler:enable_arc" ]
+  public_deps = [ "//ios/third_party/material_components_ios" ]
 }
 
 source_set("metrics") {
@@ -144,22 +145,17 @@
 
 source_set("public") {
   sources = [ "content_suggestions_menu_provider.h" ]
-  public_deps = [ "//ios/third_party/material_components_ios" ]
   configs += [ "//build/config/compiler:enable_arc" ]
 }
 
 source_set("content_suggestions_ui") {
   sources = [
-    "content_suggestions_collection_consumer.h",
     "content_suggestions_collection_controlling.h",
     "content_suggestions_collection_synchronizing.h",
-    "content_suggestions_collection_view_controller.h",
-    "content_suggestions_collection_view_controller.mm",
     "content_suggestions_commands.h",
     "content_suggestions_consumer.h",
     "content_suggestions_header_commands.h",
     "content_suggestions_header_controlling.h",
-    "content_suggestions_header_provider.h",
     "content_suggestions_header_synchronizer.h",
     "content_suggestions_header_synchronizer.mm",
     "content_suggestions_header_synchronizing.h",
@@ -168,8 +164,6 @@
     "content_suggestions_header_view_controller.h",
     "content_suggestions_header_view_controller.mm",
     "content_suggestions_header_view_controller_delegate.h",
-    "content_suggestions_layout.h",
-    "content_suggestions_layout.mm",
     "content_suggestions_view_controller.h",
     "content_suggestions_view_controller.mm",
     "content_suggestions_view_controller_audience.h",
@@ -214,10 +208,7 @@
     "//ios/web/common",
     "//ui/base",
   ]
-  public_deps = [
-    ":content_suggestions_ui_util",
-    "//ios/third_party/material_components_ios",
-  ]
+  public_deps = [ ":content_suggestions_ui_util" ]
   configs += [ "//build/config/compiler:enable_arc" ]
 }
 
@@ -253,7 +244,6 @@
     "//ios/chrome/common/ui/colors",
     "//ios/chrome/common/ui/util",
     "//ios/components/ui_util",
-    "//ios/third_party/material_components_ios",
     "//ios/web/common",
     "//ui/base",
   ]
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/BUILD.gn b/ios/chrome/browser/ui/content_suggestions/cells/BUILD.gn
index 0578d07..a745014 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/BUILD.gn
+++ b/ios/chrome/browser/ui/content_suggestions/cells/BUILD.gn
@@ -5,24 +5,16 @@
 source_set("cells") {
   sources = [
     "content_suggestions_gesture_commands.h",
-    "content_suggestions_header_item.h",
-    "content_suggestions_header_item.mm",
     "content_suggestions_module_container.h",
     "content_suggestions_module_container.mm",
-    "content_suggestions_most_visited_action_cell.h",
-    "content_suggestions_most_visited_action_cell.mm",
     "content_suggestions_most_visited_action_item.h",
     "content_suggestions_most_visited_action_item.mm",
-    "content_suggestions_most_visited_cell.h",
-    "content_suggestions_most_visited_cell.mm",
     "content_suggestions_most_visited_constants.h",
     "content_suggestions_most_visited_constants.mm",
     "content_suggestions_most_visited_item.h",
     "content_suggestions_most_visited_item.mm",
     "content_suggestions_most_visited_tile_view.h",
     "content_suggestions_most_visited_tile_view.mm",
-    "content_suggestions_parent_item.h",
-    "content_suggestions_parent_item.mm",
     "content_suggestions_return_to_recent_tab_item.h",
     "content_suggestions_return_to_recent_tab_item.mm",
     "content_suggestions_return_to_recent_tab_view.h",
@@ -72,11 +64,9 @@
     "//ios/chrome/common/ui/table_view:cells_constants",
     "//ios/chrome/common/ui/util",
     "//ios/chrome/common/ui/util:dynamic_type_util",
-    "//ios/third_party/material_components_ios",
     "//ui/base",
     "//url",
   ]
-  public_deps = [ "//ios/third_party/material_components_ios" ]
   configs += [ "//build/config/compiler:enable_arc" ]
 }
 
@@ -92,18 +82,13 @@
   deps = [
     "//ios/chrome/app/strings:ios_strings_grit",
     "//ios/chrome/browser/ui/icons:symbols",
-    "//ios/third_party/material_components_ios",
     "//ui/base:base",
   ]
 }
 
 source_set("unit_tests") {
   testonly = true
-  sources = [
-    "content_suggestions_header_item_unittest.mm",
-    "content_suggestions_tile_layout_util_unittest.mm",
-    "content_suggestions_whats_new_item_unittest.mm",
-  ]
+  sources = [ "content_suggestions_tile_layout_util_unittest.mm" ]
   deps = [
     ":cells",
     "//base",
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.h b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.h
deleted file mode 100644
index f6ff7ccb..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_HEADER_ITEM_H_
-#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_HEADER_ITEM_H_
-
-#import <MaterialComponents/MaterialCollectionCells.h>
-
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
-
-// Item to display a view cell.
-@interface ContentSuggestionsHeaderItem : CollectionViewItem
-
-// The view to be displayed.
-@property(nonatomic, strong) UIView* view;
-
-// Accessibility identifier of the ContentSuggestionsHeaderCell.
-+ (NSString*)accessibilityIdentifier;
-
-@end
-
-// Corresponding cell.
-@interface ContentSuggestionsHeaderCell : MDCCollectionViewCell
-
-// The header view to be displayed.
-@property(nonatomic, strong) UIView* headerView;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_HEADER_ITEM_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.mm
deleted file mode 100644
index 58bff46..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.mm
+++ /dev/null
@@ -1,58 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.h"
-
-#import "ios/chrome/common/ui/util/constraints_ui_util.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-@implementation ContentSuggestionsHeaderItem
-
-@synthesize view;
-
-- (instancetype)initWithType:(NSInteger)type {
-  self = [super initWithType:type];
-  if (self) {
-    self.cellClass = [ContentSuggestionsHeaderCell class];
-  }
-  return self;
-}
-
-- (void)configureCell:(ContentSuggestionsHeaderCell*)cell {
-  [super configureCell:cell];
-  [cell setHeaderView:self.view];
-  cell.accessibilityIdentifier = [[self class] accessibilityIdentifier];
-}
-
-+ (NSString*)accessibilityIdentifier {
-  return @"CSHeaderIdentifier";
-}
-
-@end
-
-@implementation ContentSuggestionsHeaderCell
-
-@synthesize headerView = _headerView;
-
-- (void)setHeaderView:(UIView*)header {
-  [_headerView removeFromSuperview];
-  _headerView = header;
-
-  if (!header)
-    return;
-
-  header.translatesAutoresizingMaskIntoConstraints = NO;
-  [self.contentView addSubview:header];
-  AddSameConstraints(self.contentView, header);
-}
-
-- (void)prepareForReuse {
-  [super prepareForReuse];
-  self.headerView = nil;
-}
-
-@end
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item_unittest.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item_unittest.mm
deleted file mode 100644
index 69e8de8..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item_unittest.mm
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.h"
-
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/platform_test.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-namespace {
-
-using ContentSuggestionsHeaderItemTest = PlatformTest;
-
-TEST_F(ContentSuggestionsHeaderItemTest, CellClass) {
-  // Setup.
-  ContentSuggestionsHeaderItem* item =
-      [[ContentSuggestionsHeaderItem alloc] initWithType:0];
-
-  // Action.
-  ContentSuggestionsHeaderCell* cell = [[[item cellClass] alloc] init];
-
-  // Test.
-  EXPECT_EQ([ContentSuggestionsHeaderCell class], [cell class]);
-}
-
-TEST_F(ContentSuggestionsHeaderItemTest, Configure) {
-  // Setup.
-  UIView* view = [[UIView alloc] init];
-  ContentSuggestionsHeaderItem* item =
-      [[ContentSuggestionsHeaderItem alloc] initWithType:0];
-  item.view = view;
-  ContentSuggestionsHeaderCell* cell = [[[item cellClass] alloc] init];
-
-  // Action.
-  [item configureCell:cell];
-
-  // Test.
-  ASSERT_EQ(1U, [cell.contentView.subviews count]);
-  EXPECT_EQ(view, cell.contentView.subviews[0]);
-}
-}
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.h b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.h
deleted file mode 100644
index 2e365b8..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.h
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_ACTION_CELL_H_
-#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_ACTION_CELL_H_
-
-#import <MaterialComponents/MaterialCollectionCells.h>
-
-// Associated cell to display a Most Visited Action tile based.
-@interface ContentSuggestionsMostVisitedActionCell : MDCCollectionViewCell
-
-// View for action icon.
-@property(nonatomic, strong, readonly, nonnull) UIImageView* iconView;
-
-// Title of the action.
-@property(nonatomic, strong, readonly, nonnull) UILabel* titleLabel;
-
-// Container view for `countLabel`.
-@property(nonatomic, strong, readonly, nonnull) UIView* countContainer;
-
-// Number shown in circle by top trailing side of cell.
-@property(nonatomic, strong, readonly, nonnull) UILabel* countLabel;
-
-// Size for a an action tile.
-+ (CGSize)defaultSize;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_ACTION_CELL_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.mm
deleted file mode 100644
index febb062..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.mm
+++ /dev/null
@@ -1,88 +0,0 @@
-// Copyright 2018 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.h"
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_constants.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_shortcut_tile_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_layout_util.h"
-#include "ios/chrome/browser/ui/util/ui_util.h"
-#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
-#import "ios/chrome/common/material_timing.h"
-#import "ios/chrome/common/ui/favicon/favicon_view.h"
-#import "ios/chrome/common/ui/util/constraints_ui_util.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-@interface ContentSuggestionsMostVisitedActionCell ()
-
-@property(nonatomic, strong) ContentSuggestionsShortcutTileView* tileView;
-
-@end
-
-@implementation ContentSuggestionsMostVisitedActionCell : MDCCollectionViewCell
-
-#pragma mark - Public
-
-- (instancetype)initWithFrame:(CGRect)frame {
-  self = [super initWithFrame:frame];
-  if (self) {
-    _tileView =
-        [[ContentSuggestionsShortcutTileView alloc] initWithFrame:frame];
-    _tileView.translatesAutoresizingMaskIntoConstraints = NO;
-    [self.contentView addSubview:_tileView];
-    AddSameConstraints(self.contentView, _tileView);
-
-    self.isAccessibilityElement = YES;
-  }
-  return self;
-}
-
-- (void)setHighlighted:(BOOL)highlighted {
-  [super setHighlighted:highlighted];
-
-  [UIView transitionWithView:self
-                    duration:ios::material::kDuration8
-                     options:UIViewAnimationOptionCurveEaseInOut
-                  animations:^{
-                    self.alpha = highlighted ? 0.5 : 1.0;
-                  }
-                  completion:nil];
-}
-
-+ (CGSize)defaultSize {
-  return MostVisitedCellSize(
-      UIApplication.sharedApplication.preferredContentSizeCategory);
-}
-
-- (CGSize)intrinsicContentSize {
-  return [[self class] defaultSize];
-}
-
-- (void)prepareForReuse {
-  [super prepareForReuse];
-  self.tileView.countContainer.hidden = YES;
-}
-
-#pragma mark - properties
-
-- (UIImageView*)iconView {
-  return self.tileView.iconView;
-}
-
-- (UILabel*)titleLabel {
-  return self.tileView.titleLabel;
-}
-
-- (UIView*)countContainer {
-  return self.tileView.countContainer;
-}
-
-- (UILabel*)countLabel {
-  return self.tileView.countLabel;
-}
-
-@end
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h
index bd879383..3f045bdd 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h
@@ -7,15 +7,12 @@
 
 #import <UIKit/UIKit.h>
 
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_constants.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/suggested_content.h"
 
 // Item containing a most visited action button. These buttons belong to the
 // collection section as most visited items, but have static placement (the last
 // four) and cannot be removed.
-@interface ContentSuggestionsMostVisitedActionItem
-    : CollectionViewItem<SuggestedContent>
+@interface ContentSuggestionsMostVisitedActionItem : NSObject
 
 - (nonnull instancetype)initWithCollectionShortcutType:
     (NTPCollectionShortcutType)type;
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.mm
index 4d23365..73cffb49 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.mm
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.mm
@@ -5,7 +5,6 @@
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h"
 
 #include "base/check.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_constants.h"
 #import "ios/chrome/browser/ui/icons/chrome_symbol.h"
 
@@ -14,11 +13,9 @@
 #endif
 
 @implementation ContentSuggestionsMostVisitedActionItem
-@synthesize metricsRecorded;
-@synthesize suggestionIdentifier;
 
 - (instancetype)initWithCollectionShortcutType:(NTPCollectionShortcutType)type {
-  self = [super initWithType:0];
+  self = [super init];
   if (self) {
     _collectionShortcutType = type;
     switch (_collectionShortcutType) {
@@ -37,7 +34,6 @@
       default:
         break;
     }
-    self.cellClass = [ContentSuggestionsMostVisitedActionCell class];
     self.title = TitleForCollectionShortcutType(_collectionShortcutType);
   }
   return self;
@@ -59,35 +55,6 @@
   [self updateAccessibilityLabel];
 }
 
-#pragma mark - AccessibilityCustomAction
-
-- (void)configureCell:(ContentSuggestionsMostVisitedActionCell*)cell {
-  [super configureCell:cell];
-  cell.accessibilityCustomActions = nil;
-  cell.titleLabel.text = self.title;
-  cell.accessibilityLabel =
-      self.accessibilityLabel.length ? self.accessibilityLabel : self.title;
-  // The accessibilityUserInputLabel should just be the title, with nothing
-  // extra from the accessibilityLabel.
-  cell.accessibilityUserInputLabels = @[ self.title ];
-  cell.iconView.image =
-      UseSymbols() ? SymbolForCollectionShortcutType(_collectionShortcutType)
-                   : ImageForCollectionShortcutType(_collectionShortcutType);
-  cell.iconView.contentMode = UIViewContentModeCenter;
-  if (self.count != 0) {
-    cell.countLabel.text = [@(self.count) stringValue];
-    cell.countContainer.hidden = NO;
-  } else {
-    cell.countContainer.hidden = YES;
-  }
-}
-
-#pragma mark - ContentSuggestionsItem
-
-- (CGFloat)cellHeightForWidth:(CGFloat)width {
-  return [ContentSuggestionsMostVisitedActionCell defaultSize].height;
-}
-
 #pragma mark - Private
 
 // Updates self.accessibilityLabel based on the current property values.
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.h b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.h
deleted file mode 100644
index 831cc647..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_CELL_H_
-#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_CELL_H_
-
-#import <MaterialComponents/MaterialCollectionCells.h>
-
-@class FaviconView;
-
-// Associated cell to display a Most Visited tile based on the suggestion.
-// It displays the favicon for this Most Visited suggestion and its title.
-@interface ContentSuggestionsMostVisitedCell : MDCCollectionViewCell
-
-// FaviconView displaying the favicon.
-@property(nonatomic, strong, readonly, nonnull) FaviconView* faviconView;
-
-// Title of the Most Visited.
-@property(nonatomic, strong, readonly, nonnull) UILabel* titleLabel;
-
-// Size for a Most Visited tile.
-+ (CGSize)defaultSize;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_MOST_VISITED_CELL_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.mm
deleted file mode 100644
index e5aa393a..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.mm
+++ /dev/null
@@ -1,73 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.h"
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_tile_view.h"
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_constants.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_layout_util.h"
-#include "ios/chrome/browser/ui/util/ui_util.h"
-#import "ios/chrome/common/material_timing.h"
-#import "ios/chrome/common/ui/favicon/favicon_view.h"
-#import "ios/chrome/common/ui/util/constraints_ui_util.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-@interface ContentSuggestionsMostVisitedCell ()
-
-@property(nonatomic, strong)
-    ContentSuggestionsMostVisitedTileView* mostVisitedTile;
-
-@end
-
-@implementation ContentSuggestionsMostVisitedCell : MDCCollectionViewCell
-
-#pragma mark - Public
-
-- (instancetype)initWithFrame:(CGRect)frame {
-  self = [super initWithFrame:frame];
-  if (self) {
-    _mostVisitedTile =
-        [[ContentSuggestionsMostVisitedTileView alloc] initWithFrame:frame];
-    [self.contentView addSubview:_mostVisitedTile];
-    _mostVisitedTile.translatesAutoresizingMaskIntoConstraints = NO;
-    AddSameConstraints(self.contentView, _mostVisitedTile);
-    self.isAccessibilityElement = YES;
-  }
-  return self;
-}
-
-- (FaviconView*)faviconView {
-  return self.mostVisitedTile.faviconView;
-}
-
-- (UILabel*)titleLabel {
-  return self.mostVisitedTile.titleLabel;
-}
-
-- (void)setHighlighted:(BOOL)highlighted {
-  [super setHighlighted:highlighted];
-
-  [UIView transitionWithView:self
-                    duration:ios::material::kDuration8
-                     options:UIViewAnimationOptionCurveEaseInOut
-                  animations:^{
-                    self.alpha = highlighted ? 0.5 : 1.0;
-                  }
-                  completion:nil];
-}
-
-+ (CGSize)defaultSize {
-  return MostVisitedCellSize(
-      UIApplication.sharedApplication.preferredContentSizeCategory);
-}
-
-- (CGSize)intrinsicContentSize {
-  return [[self class] defaultSize];
-}
-
-@end
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h
index e5c7ccb9..6b1c38c 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h
@@ -7,16 +7,15 @@
 
 #include "components/ntp_tiles/tile_source.h"
 #include "components/ntp_tiles/tile_title_source.h"
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/suggested_content.h"
+
+#import <UIKit/UIKit.h>
 
 @protocol ContentSuggestionsGestureCommands;
 @class FaviconAttributes;
 class GURL;
 
 // Item containing a Most Visited suggestion.
-@interface ContentSuggestionsMostVisitedItem
-    : CollectionViewItem<SuggestedContent>
+@interface ContentSuggestionsMostVisitedItem : NSObject
 
 // Text for the title and the accessibility label of the cell.
 @property(nonatomic, copy, nonnull) NSString* title;
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.mm
index cfc7afcb..69e30e3 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.mm
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.mm
@@ -6,7 +6,6 @@
 
 #include "base/check.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_gesture_commands.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.h"
 #import "ios/chrome/common/ui/favicon/favicon_attributes.h"
 #import "ios/chrome/common/ui/favicon/favicon_view.h"
 #include "ios/chrome/grit/ios_strings.h"
@@ -19,41 +18,12 @@
 
 @implementation ContentSuggestionsMostVisitedItem
 
-@synthesize suggestionIdentifier = _suggestionIdentifier;
 @synthesize attributes = _attributes;
 @synthesize title = _title;
 @synthesize URL = _URL;
 @synthesize titleSource = _titleSource;
 @synthesize source = _source;
 @synthesize commandHandler = _commandHandler;
-@synthesize metricsRecorded = _metricsRecorded;
-
-- (instancetype)initWithType:(NSInteger)type {
-  self = [super initWithType:type];
-  if (self) {
-    self.cellClass = [ContentSuggestionsMostVisitedCell class];
-  }
-  return self;
-}
-
-- (void)configureCell:(MDCCollectionViewCell*)cell {
-  [super configureCell:cell];
-  if (![cell isKindOfClass:[ContentSuggestionsMostVisitedCell class]]) {
-    // Do not attempt to configure cell if it is not the correct class
-    // (crbug.com/1276562).
-    return;
-  }
-  ContentSuggestionsMostVisitedCell* mostVisitedCell =
-      static_cast<ContentSuggestionsMostVisitedCell*>(cell);
-  mostVisitedCell.titleLabel.text = self.title;
-  mostVisitedCell.accessibilityLabel = self.title;
-  [mostVisitedCell.faviconView configureWithAttributes:self.attributes];
-  mostVisitedCell.accessibilityCustomActions = [self customActions];
-}
-
-- (CGFloat)cellHeightForWidth:(CGFloat)width {
-  return [ContentSuggestionsMostVisitedCell defaultSize].height;
-}
 
 #pragma mark - AccessibilityCustomAction
 
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.h b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.h
deleted file mode 100644
index b92f06cc..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// Copyright 2022 The Chromium 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_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_PARENT_ITEM_H_
-#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_PARENT_ITEM_H_
-
-#import <MaterialComponents/MaterialCollectionCells.h>
-
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_selection_actions.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/suggested_content.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_menu_provider.h"
-
-@class ContentSuggestionsMostVisitedActionItem;
-@class ContentSuggestionsMostVisitedItem;
-@class ContentSuggestionsReturnToRecentTabItem;
-@class ContentSuggestionsWhatsNewItem;
-
-// Item containing all the Content Suggestions content.
-@interface ContentSuggestionsParentItem : CollectionViewItem <SuggestedContent>
-
-// The configuration for the Return To Recent Tab tile.
-@property(nonatomic, strong)
-    ContentSuggestionsReturnToRecentTabItem* returnToRecentItem;
-// The configuration for the NTP promo view.
-@property(nonatomic, strong) ContentSuggestionsWhatsNewItem* whatsNewItem;
-// The list of configurations for the Most Visited Tiles to be shown.
-@property(nonatomic, strong)
-    NSArray<ContentSuggestionsMostVisitedItem*>* mostVisitedItems;
-// The list of configurations for the Shortcuts to be shown.
-@property(nonatomic, strong)
-    NSArray<ContentSuggestionsMostVisitedActionItem*>* shortcutsItems;
-
-// The target for the Most Visited tiles.
-@property(nonatomic, weak) id<ContentSuggestionsSelectionActions> tapTarget;
-
-// Provider of menu configurations for the Most Visited tiles.
-@property(nonatomic, weak) id<ContentSuggestionsMenuProvider> menuProvider;
-
-@end
-
-// The cell associated with ContentSuggestionsParentItem.
-@interface ContentSuggestionsParentCell : MDCCollectionViewCell
-
-// Adds `view` as a subview. If `spacing` is non-zero, a bottom spacing of
-// `spacing` will be added below `view`.
-- (void)addUIElement:(UIView*)view withCustomBottomSpacing:(CGFloat)spacing;
-
-// Removes all UI elements added by addUIElement:withCustomBottomSpacing:.
-- (void)removeContentViews;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_PARENT_ITEM_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.mm
deleted file mode 100644
index 8ef25e4c..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.mm
+++ /dev/null
@@ -1,266 +0,0 @@
-// Copyright 2022 The Chromium 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/content_suggestions/cells/content_suggestions_parent_item.h"
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_cells_constants.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_tile_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_shortcut_tile_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_layout_util.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_utils.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
-#import "ios/chrome/common/material_timing.h"
-#import "ios/chrome/common/ui/util/constraints_ui_util.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-@interface ContentSuggestionsParentItem ()
-
-// List of all UITapGestureRecognizers created for the Most Visisted tiles.
-@property(nonatomic, strong)
-    NSMutableArray<UITapGestureRecognizer*>* mostVisitedTapRecognizers;
-// The UILongPressGestureRecognizer for the Return To Recent Tab tile.
-@property(nonatomic, strong)
-    UITapGestureRecognizer* returnToRecentTabTapRecognizer;
-@property(nonatomic, strong)
-    UILongPressGestureRecognizer* returnToRecentTabLongPressRecognizer;
-// The UITapGestureRecognizer for the NTP promo view.
-@property(nonatomic, strong) UITapGestureRecognizer* promoTapRecognizer;
-
-@end
-
-@implementation ContentSuggestionsParentItem
-@synthesize metricsRecorded;
-@synthesize suggestionIdentifier;
-
-- (instancetype)initWithType:(NSInteger)type {
-  self = [super initWithType:type];
-  if (self) {
-    self.cellClass = [ContentSuggestionsParentCell class];
-  }
-  return self;
-}
-
-- (void)configureCell:(ContentSuggestionsParentCell*)cell {
-  [super configureCell:cell];
-
-  // Remove subviews from StackView in case prepareForReuse was not called (e.g.
-  // itemHasChanged: was called).
-  [cell removeContentViews];
-
-  CGFloat horizontalSpacing =
-      ContentSuggestionsTilesHorizontalSpacing(cell.traitCollection);
-  if (self.returnToRecentItem) {
-    ContentSuggestionsReturnToRecentTabView* returnToRecentTabTile =
-        [[ContentSuggestionsReturnToRecentTabView alloc]
-            initWithConfiguration:self.returnToRecentItem];
-    self.returnToRecentTabTapRecognizer = [[UITapGestureRecognizer alloc]
-        initWithTarget:self.tapTarget
-                action:@selector(contentSuggestionsElementTapped:)];
-    [returnToRecentTabTile
-        addGestureRecognizer:self.returnToRecentTabTapRecognizer];
-    self.returnToRecentTabTapRecognizer.enabled = YES;
-    // Add long press functionality for the Return to Recent Tab tile.
-    self.returnToRecentTabLongPressRecognizer =
-        [[UILongPressGestureRecognizer alloc]
-            initWithTarget:self.tapTarget
-                    action:@selector(contentSuggestionsElementTapped:)];
-    self.returnToRecentTabLongPressRecognizer.minimumPressDuration =
-        ios::material::kDuration8;
-    self.returnToRecentTabLongPressRecognizer.enabled = YES;
-    [returnToRecentTabTile
-        addGestureRecognizer:self.returnToRecentTabLongPressRecognizer];
-    [cell addUIElement:returnToRecentTabTile
-        withCustomBottomSpacing:content_suggestions::
-                                    kReturnToRecentTabSectionBottomMargin];
-    CGFloat cardWidth = content_suggestions::searchFieldWidth(
-        cell.bounds.size.width, cell.traitCollection);
-    [NSLayoutConstraint activateConstraints:@[
-      [returnToRecentTabTile.widthAnchor constraintEqualToConstant:cardWidth],
-      [returnToRecentTabTile.heightAnchor
-          constraintEqualToConstant:kReturnToRecentTabSize.height]
-    ]];
-  }
-  if (self.whatsNewItem) {
-    ContentSuggestionsWhatsNewView* whatsNewView =
-        [[ContentSuggestionsWhatsNewView alloc]
-            initWithConfiguration:self.whatsNewItem];
-    self.promoTapRecognizer = [[UITapGestureRecognizer alloc]
-        initWithTarget:self.tapTarget
-                action:@selector(contentSuggestionsElementTapped:)];
-    [whatsNewView addGestureRecognizer:self.promoTapRecognizer];
-    self.promoTapRecognizer.enabled = YES;
-    [cell addUIElement:whatsNewView withCustomBottomSpacing:0];
-    CGFloat width =
-        MostVisitedTilesContentHorizontalSpace(cell.traitCollection);
-    CGSize size =
-        MostVisitedCellSize(cell.traitCollection.preferredContentSizeCategory);
-    [NSLayoutConstraint activateConstraints:@[
-      [whatsNewView.widthAnchor constraintEqualToConstant:width],
-      [whatsNewView.heightAnchor constraintEqualToConstant:size.height]
-    ]];
-  }
-  if (self.mostVisitedItems) {
-    UIStackView* stackView = [[UIStackView alloc] init];
-    stackView.axis = UILayoutConstraintAxisHorizontal;
-    stackView.alignment = UIStackViewAlignmentTop;
-    stackView.distribution = UIStackViewDistributionFillEqually;
-    stackView.spacing = horizontalSpacing;
-    NSUInteger index = 0;
-    for (ContentSuggestionsMostVisitedItem* item in self.mostVisitedItems) {
-      ContentSuggestionsMostVisitedTileView* view =
-          [[ContentSuggestionsMostVisitedTileView alloc]
-              initWithConfiguration:item];
-      view.accessibilityIdentifier = [NSString
-          stringWithFormat:
-              @"%@%li",
-              kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix,
-              index];
-      view.menuProvider = self.menuProvider;
-      UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc]
-          initWithTarget:self.tapTarget
-                  action:@selector(contentSuggestionsElementTapped:)];
-      [view addGestureRecognizer:tapRecognizer];
-      [self.mostVisitedTapRecognizers addObject:tapRecognizer];
-      [stackView addArrangedSubview:view];
-      index++;
-    }
-    [cell addUIElement:stackView
-        withCustomBottomSpacing:kMostVisitedBottomMargin];
-    CGFloat width =
-        MostVisitedTilesContentHorizontalSpace(cell.traitCollection);
-    CGSize size =
-        MostVisitedCellSize(cell.traitCollection.preferredContentSizeCategory);
-    [NSLayoutConstraint activateConstraints:@[
-      [stackView.widthAnchor constraintEqualToConstant:width],
-      [stackView.heightAnchor constraintEqualToConstant:size.height]
-    ]];
-  }
-  if (self.shortcutsItems) {
-    UIStackView* stackView = [[UIStackView alloc] init];
-    stackView.axis = UILayoutConstraintAxisHorizontal;
-    stackView.alignment = UIStackViewAlignmentTop;
-    stackView.distribution = UIStackViewDistributionFillEqually;
-    stackView.spacing = horizontalSpacing;
-    NSUInteger index = 0;
-    for (ContentSuggestionsMostVisitedActionItem* item in self.shortcutsItems) {
-      ContentSuggestionsShortcutTileView* view =
-          [[ContentSuggestionsShortcutTileView alloc]
-              initWithConfiguration:item];
-      view.accessibilityIdentifier = [NSString
-          stringWithFormat:
-              @"%@%li",
-              kContentSuggestionsShortcutsAccessibilityIdentifierPrefix, index];
-      UITapGestureRecognizer* tapRecognizer = [[UITapGestureRecognizer alloc]
-          initWithTarget:self.tapTarget
-                  action:@selector(contentSuggestionsElementTapped:)];
-      [view addGestureRecognizer:tapRecognizer];
-      [self.mostVisitedTapRecognizers addObject:tapRecognizer];
-      [stackView addArrangedSubview:view];
-      index++;
-    }
-
-    [cell addUIElement:stackView withCustomBottomSpacing:0];
-    CGFloat width =
-        MostVisitedTilesContentHorizontalSpace(cell.traitCollection);
-    CGSize size =
-        MostVisitedCellSize(cell.traitCollection.preferredContentSizeCategory);
-    [NSLayoutConstraint activateConstraints:@[
-      [stackView.widthAnchor constraintEqualToConstant:width],
-      // The parent StackView is UIStackViewDistributionFill so there will be no
-      // spacing below the last element. Add what would be bottom spacing below
-      // the last row to the height of this StackView.
-      // TODO(crbug.com/1285378): Move this spacing to between the Feed header
-      // and the ContentSuggestions parent view when migrating to
-      // UIViewController.
-      [stackView.heightAnchor
-          constraintEqualToConstant:size.height + kMostVisitedBottomMargin],
-    ]];
-  }
-}
-
-// Returns the default height of the content subviews and the spacing in between
-// them.
-- (CGFloat)cellHeightForWidth:(CGFloat)width {
-  CGFloat height = 0;
-  if (self.mostVisitedItems) {
-    height += MostVisitedCellSize(
-                  UIApplication.sharedApplication.preferredContentSizeCategory)
-                  .height +
-              kMostVisitedBottomMargin;
-  }
-  if (self.shortcutsItems) {
-    height += MostVisitedCellSize(
-                  UIApplication.sharedApplication.preferredContentSizeCategory)
-                  .height +
-              kMostVisitedBottomMargin;
-  }
-  if (self.returnToRecentItem) {
-    height += (kReturnToRecentTabSize.height +
-               content_suggestions::kReturnToRecentTabSectionBottomMargin);
-  }
-  if (self.whatsNewItem) {
-    height += MostVisitedCellSize(
-                  UIApplication.sharedApplication.preferredContentSizeCategory)
-                  .height;
-  }
-  return height;
-}
-
-@end
-
-#pragma mark - ContentSuggestionsParentCell
-
-@interface ContentSuggestionsParentCell ()
-
-// StackView holding all subviews.
-@property(nonatomic, strong) UIStackView* verticalStackView;
-
-@end
-
-@implementation ContentSuggestionsParentCell
-
-- (instancetype)initWithFrame:(CGRect)frame {
-  self = [super initWithFrame:frame];
-  if (self) {
-    _verticalStackView = [[UIStackView alloc] init];
-    _verticalStackView.translatesAutoresizingMaskIntoConstraints = NO;
-    _verticalStackView.axis = UILayoutConstraintAxisVertical;
-    // A centered alignment will ensure the views are centered.
-    _verticalStackView.alignment = UIStackViewAlignmentCenter;
-    // A fill distribution allows for the custom spacing between elements and
-    // height/width configurations for each row.
-    _verticalStackView.distribution = UIStackViewDistributionFill;
-    [self.contentView addSubview:_verticalStackView];
-    AddSameConstraints(self.contentView, _verticalStackView);
-  }
-  return self;
-}
-
-- (void)addUIElement:(UIView*)view withCustomBottomSpacing:(CGFloat)spacing {
-  [_verticalStackView addArrangedSubview:view];
-  if (spacing > 0) {
-    [_verticalStackView setCustomSpacing:spacing afterView:view];
-  }
-}
-- (void)removeContentViews {
-  for (UIView* view in [self.verticalStackView arrangedSubviews]) {
-    [view removeFromSuperview];
-  }
-}
-
-- (void)prepareForReuse {
-  [super prepareForReuse];
-  [self removeContentViews];
-}
-
-@end
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.h b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.h
index b2eb8f8..c9ae07f 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.h
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.h
@@ -5,9 +5,6 @@
 #ifndef IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_RETURN_TO_RECENT_TAB_ITEM_H_
 #define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_RETURN_TO_RECENT_TAB_ITEM_H_
 
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
-
-#import <MaterialComponents/MaterialCollectionCells.h>
 #import <UIKit/UIKit.h>
 
 #import "ios/chrome/browser/ui/content_suggestions/cells/suggested_content.h"
@@ -16,8 +13,7 @@
 @class FaviconAttributes;
 
 // Item containing a Return to Recent Tab Start Surface tile.
-@interface ContentSuggestionsReturnToRecentTabItem
-    : CollectionViewItem <SuggestedContent>
+@interface ContentSuggestionsReturnToRecentTabItem : NSObject
 
 // Favicon image of the page of the most recent tab.
 @property(nonatomic, strong) UIImage* icon;
@@ -33,19 +29,4 @@
 
 @end
 
-@interface ContentSuggestionsReturnToRecentTabCell : MDCCollectionViewCell
-
-// Sets the title of the most recent tab tile.
-- (void)setTitle:(NSString*)title;
-
-// sets the subtitle of the most recent tab tile.
-- (void)setSubtitle:(NSString*)subtitle;
-
-+ (CGSize)defaultSize;
-
-// Sets the image that should be displayed at the leading edge of the cell.
-- (void)setIconImage:(UIImage*)image;
-
-@end
-
 #endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_RETURN_TO_RECENT_TAB_ITEM_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.mm
index 6e55e3f..f58ac02 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.mm
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.mm
@@ -16,87 +16,9 @@
 #endif
 
 @implementation ContentSuggestionsReturnToRecentTabItem
-@synthesize metricsRecorded;
-@synthesize suggestionIdentifier;
-
-- (instancetype)initWithType:(NSInteger)type {
-  self = [super initWithType:type];
-  if (self) {
-    self.cellClass = [ContentSuggestionsReturnToRecentTabCell class];
-  }
-  return self;
-}
-
-- (void)configureCell:(ContentSuggestionsReturnToRecentTabCell*)cell {
-  [super configureCell:cell];
-  [cell setTitle:self.title];
-  [cell setSubtitle:self.subtitle];
-  cell.accessibilityLabel = self.title;
-  if (self.icon) {
-    [cell setIconImage:self.icon];
-  }
-}
 
 - (CGFloat)cellHeightForWidth:(CGFloat)width {
   return kReturnToRecentTabSize.height;
 }
 
 @end
-
-#pragma mark - ContentSuggestionsReturnToRecentTabCell
-
-@interface ContentSuggestionsReturnToRecentTabCell ()
-
-// Container view holding Return to Recent Tab tile.
-@property(nonatomic, strong)
-    ContentSuggestionsReturnToRecentTabView* recentTabView;
-
-@end
-
-@implementation ContentSuggestionsReturnToRecentTabCell
-
-- (instancetype)initWithFrame:(CGRect)frame {
-  self = [super initWithFrame:frame];
-  if (self) {
-    _recentTabView =
-        [[ContentSuggestionsReturnToRecentTabView alloc] initWithFrame:frame];
-    [self.contentView addSubview:_recentTabView];
-    _recentTabView.translatesAutoresizingMaskIntoConstraints = NO;
-    AddSameConstraints(self.contentView, _recentTabView);
-    self.isAccessibilityElement = YES;
-  }
-  return self;
-}
-
-- (void)setHighlighted:(BOOL)highlighted {
-  [super setHighlighted:highlighted];
-  __weak ContentSuggestionsReturnToRecentTabCell* weakSelf = self;
-  [UIView transitionWithView:self
-                    duration:ios::material::kDuration8
-                     options:UIViewAnimationOptionCurveEaseInOut
-                  animations:^{
-                    weakSelf.recentTabView.backgroundColor =
-                        highlighted ? [UIColor colorNamed:kGrey100Color]
-                                    : [UIColor clearColor];
-                  }
-                  completion:nil];
-}
-
-- (void)setTitle:(NSString*)title {
-  self.recentTabView.titleLabel.text = title;
-}
-
-- (void)setSubtitle:(NSString*)subtitle {
-  self.recentTabView.subtitleLabel.text = subtitle;
-}
-
-+ (CGSize)defaultSize {
-  return kReturnToRecentTabSize;
-}
-
-- (void)setIconImage:(UIImage*)image {
-  self.recentTabView.iconImageView.image = image;
-  self.recentTabView.iconImageView.hidden = image == nil;
-}
-
-@end
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.h b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.h
index edaf50bd..652ebbe 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.h
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.h
@@ -5,13 +5,10 @@
 #ifndef IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_WHATS_NEW_ITEM_H_
 #define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_WHATS_NEW_ITEM_H_
 
-#import <MaterialComponents/MaterialCollectionCells.h>
-
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/suggested_content.h"
+#import <UIKit/UIKit.h>
 
 // Item to display what is new in the ContentSuggestions.
-@interface ContentSuggestionsWhatsNewItem : CollectionViewItem<SuggestedContent>
+@interface ContentSuggestionsWhatsNewItem : NSObject
 
 // Icon for the promo.
 @property(nonatomic, strong, nullable) UIImage* icon;
@@ -21,17 +18,4 @@
 + (nonnull NSString*)accessibilityIdentifier;
 
 @end
-
-// Associated cell, displaying what is new.
-@interface ContentSuggestionsWhatsNewCell : MDCCollectionViewCell
-
-// Sets the icon of the promo.
-- (void)setIcon:(nullable UIImage*)icon;
-// Sets the text displayed.
-- (void)setText:(nullable NSString*)text;
-// Returns the height needed by a cell contained in `width` containing `text`.
-+ (CGFloat)heightForWidth:(CGFloat)width withText:(nullable NSString*)text;
-
-@end
-
 #endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CELLS_CONTENT_SUGGESTIONS_WHATS_NEW_ITEM_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.mm
index 66157d83..5438add 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.mm
+++ b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.mm
@@ -16,134 +16,15 @@
 #error "This file requires ARC support."
 #endif
 
-namespace {
-const CGFloat kLabelMargin = 14;
-const CGFloat kLabelLineSpacing = 4;
-const CGFloat kLabelIconMargin = 8;
-const CGFloat kLabelFontSize = 14;
-const CGFloat kIconSize = 24;
-}  // namespace
-
 #pragma mark - ContentSuggestionsWhatsNewItem
 
 @implementation ContentSuggestionsWhatsNewItem
 
 @synthesize text = _text;
 @synthesize icon = _icon;
-@synthesize suggestionIdentifier = _suggestionIdentifier;
-@synthesize metricsRecorded = _metricsRecorded;
-
-- (instancetype)initWithType:(NSInteger)type {
-  self = [super initWithType:type];
-  if (self) {
-    self.cellClass = [ContentSuggestionsWhatsNewCell class];
-  }
-  return self;
-}
-
-- (void)configureCell:(ContentSuggestionsWhatsNewCell*)cell {
-  [super configureCell:cell];
-  [cell setIcon:self.icon];
-  [cell setText:self.text];
-  cell.accessibilityIdentifier = [[self class] accessibilityIdentifier];
-}
-
-- (CGFloat)cellHeightForWidth:(CGFloat)width {
-  return [ContentSuggestionsWhatsNewCell heightForWidth:width
-                                               withText:self.text];
-}
 
 + (NSString*)accessibilityIdentifier {
   return kContentSuggestionsWhatsNewIdentifier;
 }
 
 @end
-
-#pragma mark - ContentSuggestionsWhatsNewCell
-
-@interface ContentSuggestionsWhatsNewCell ()
-
-// View containing all UI elements
-@property(nonatomic, strong) ContentSuggestionsWhatsNewView* whatsNewView;
-
-@end
-
-@implementation ContentSuggestionsWhatsNewCell
-
-- (instancetype)initWithFrame:(CGRect)frame {
-  self = [super initWithFrame:frame];
-  if (self) {
-    _whatsNewView =
-        [[ContentSuggestionsWhatsNewView alloc] initWithFrame:frame];
-    [self.contentView addSubview:_whatsNewView];
-    _whatsNewView.translatesAutoresizingMaskIntoConstraints = NO;
-    AddSameConstraints(self.contentView, _whatsNewView);
-  }
-  return self;
-}
-
-- (void)setIcon:(UIImage*)icon {
-  self.whatsNewView.iconView.image = icon;
-}
-
-- (void)setText:(NSString*)text {
-  [[self class] configureLabel:self.whatsNewView.promoLabel withText:text];
-}
-
-+ (CGFloat)heightForWidth:(CGFloat)width withText:(NSString*)text {
-  UILabel* label = [[UILabel alloc] init];
-  [self configureLabel:label withText:text];
-  CGSize sizeForLabel = CGSizeMake(width - kLabelIconMargin - kIconSize, 500);
-
-  return 2 * kLabelMargin + [label sizeThatFits:sizeForLabel].height;
-}
-
-#pragma mark UIView
-
-// Implements -layoutSubviews as per instructions in documentation for
-// +[MDCCollectionViewCell cr_preferredHeightForWidth:forItem:].
-- (void)layoutSubviews {
-  [super layoutSubviews];
-
-  // Adjust the text label preferredMaxLayoutWidth when the parent's width
-  // changes, for instance on screen rotation.
-  CGFloat parentWidth = CGRectGetWidth(self.contentView.bounds);
-
-  self.whatsNewView.promoLabel.preferredMaxLayoutWidth =
-      parentWidth - kIconSize - kLabelIconMargin;
-
-  // Re-layout with the new preferred width to allow the label to adjust its
-  // height.
-  [super layoutSubviews];
-}
-
-#pragma mark Private
-
-// Configures the `promoLabel` with the `text`.
-+ (void)configureLabel:(UILabel*)promoLabel withText:(NSString*)text {
-  promoLabel.font = [UIFont systemFontOfSize:kLabelFontSize
-                                      weight:UIFontWeightRegular];
-  promoLabel.textColor = [UIColor colorNamed:kTextPrimaryColor];
-  promoLabel.numberOfLines = 0;
-
-  // Sets the line spacing on the attributed string.
-  NSMutableParagraphStyle* style = [[NSMutableParagraphStyle alloc] init];
-  [style setLineSpacing:kLabelLineSpacing];
-  NSDictionary* textAttributes = @{
-    NSParagraphStyleAttributeName : style,
-  };
-
-  // Sets the styling to mimic a link.
-  NSDictionary* linkAttributes = @{
-    NSForegroundColorAttributeName : [UIColor colorNamed:kBlueColor],
-    NSUnderlineStyleAttributeName : @(NSUnderlineStyleSingle),
-    NSUnderlineColorAttributeName : [UIColor colorNamed:kBlueColor],
-  };
-
-  NSAttributedString* attributedText =
-      AttributedStringFromStringWithLink(text, textAttributes, linkAttributes);
-
-  [promoLabel setAttributedText:attributedText];
-}
-
-@end
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item_unittest.mm b/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item_unittest.mm
deleted file mode 100644
index 9c897bf..0000000
--- a/ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item_unittest.mm
+++ /dev/null
@@ -1,50 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.h"
-
-#include "testing/gtest/include/gtest/gtest.h"
-#include "testing/platform_test.h"
-#import "third_party/ocmock/OCMock/OCMock.h"
-#import "third_party/ocmock/gtest_support.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-namespace {
-
-using ContentSuggestionsWhatsNewItemTest = PlatformTest;
-
-TEST_F(ContentSuggestionsWhatsNewItemTest, CellClass) {
-  // Setup.
-  ContentSuggestionsWhatsNewItem* item =
-      [[ContentSuggestionsWhatsNewItem alloc] initWithType:0];
-
-  // Action.
-  ContentSuggestionsWhatsNewCell* cell = [[[item cellClass] alloc] init];
-
-  // Test.
-  EXPECT_EQ([ContentSuggestionsWhatsNewCell class], [cell class]);
-}
-
-TEST_F(ContentSuggestionsWhatsNewItemTest, Configure) {
-  // Setup.
-  UIImage* image = [[UIImage alloc] init];
-  NSString* text = @"What's new test!";
-  ContentSuggestionsWhatsNewItem* item =
-      [[ContentSuggestionsWhatsNewItem alloc] initWithType:0];
-  item.icon = image;
-  item.text = text;
-  id cell = OCMClassMock([ContentSuggestionsWhatsNewCell class]);
-  OCMExpect([cell setIcon:image]);
-  OCMExpect([cell setText:text]);
-
-  // Action.
-  [item configureCell:cell];
-
-  // Test.
-  ASSERT_OCMOCK_VERIFY(cell);
-}
-}
diff --git a/ios/chrome/browser/ui/content_suggestions/cells/query_suggestion_view.mm b/ios/chrome/browser/ui/content_suggestions/cells/query_suggestion_view.mm
index 8c34ce4..1e24b83 100644
--- a/ios/chrome/browser/ui/content_suggestions/cells/query_suggestion_view.mm
+++ b/ios/chrome/browser/ui/content_suggestions/cells/query_suggestion_view.mm
@@ -19,9 +19,8 @@
 const CGFloat kViewWidthAnchor = 149.0f;
 const CGFloat kViewHeightAnchor = 51.5f;
 
-// Size constraints for the search ImageView.
+// Width constraint for the search ImageView.
 const CGFloat kQueryImageMaxWidth = 20.0f;
-const CGFloat kQueryImageAspectRatio = 20.0f / 22.0f;
 
 // Size constraint for the query label.
 const CGFloat kQueryLabelHeightAnchor = 11.0f;
@@ -47,7 +46,7 @@
     searchImageView.translatesAutoresizingMaskIntoConstraints = NO;
     UILabel* queryLabel = [[UILabel alloc] init];
     queryLabel.font =
-        [UIFont preferredFontForTextStyle:UIFontTextStyleCaption2];
+        [UIFont preferredFontForTextStyle:UIFontTextStyleFootnote];
     queryLabel.textColor = [UIColor colorNamed:kTextPrimaryColor];
     queryLabel.translatesAutoresizingMaskIntoConstraints = NO;
     queryLabel.numberOfLines = 2;
@@ -72,8 +71,7 @@
       [searchImageView.widthAnchor
           constraintLessThanOrEqualToConstant:kQueryImageMaxWidth],
       [searchImageView.widthAnchor
-          constraintEqualToAnchor:searchImageView.heightAnchor
-                       multiplier:kQueryImageAspectRatio],
+          constraintEqualToAnchor:searchImageView.heightAnchor],
       [searchImageView.centerYAnchor
           constraintEqualToAnchor:self.centerYAnchor],
       [searchImageView.leadingAnchor
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_consumer.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_consumer.h
deleted file mode 100644
index 2e74837..0000000
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_consumer.h
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2022 The Chromium 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_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COLLECTION_CONSUMER_H_
-#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COLLECTION_CONSUMER_H_
-
-#import "ios/chrome/browser/ui/content_suggestions/cells/suggested_content.h"
-
-@class CollectionViewItem;
-@class ContentSuggestionsSectionInformation;
-@protocol SuggestedContent;
-
-using CSCollectionViewItem = CollectionViewItem<SuggestedContent>;
-
-@protocol ContentSuggestionsCollectionConsumer
-
-// Informs the consumer to reload with `sections` and `items`.
-- (void)reloadDataWithSections:
-            (NSArray<ContentSuggestionsSectionInformation*>*)sections
-                      andItems:(NSMutableDictionary<NSNumber*, NSArray*>*)items;
-
-// Informs the consumer to add `sectionInfo` to the model and call `completion`
-// if a section is added. If the section already exists, `completion` will not
-// be called.
-- (void)addSection:(ContentSuggestionsSectionInformation*)sectionInfo
-         withItems:(NSArray<CSCollectionViewItem*>*)items
-        completion:(void (^)(void))completion;
-
-// The section corresponding to `sectionInfo` has been invalidated and must be
-// cleared now.
-- (void)clearSection:(ContentSuggestionsSectionInformation*)sectionInfo;
-
-// Notifies the consumer that the `item` has changed.
-- (void)itemHasChanged:(CollectionViewItem<SuggestedContent>*)item;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COLLECTION_CONSUMER_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.h
deleted file mode 100644
index 487a101..0000000
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.h
+++ /dev/null
@@ -1,99 +0,0 @@
-// Copyright 2022 The Chromium 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_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COLLECTION_VIEW_CONTROLLER_H_
-#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COLLECTION_VIEW_CONTROLLER_H_
-
-#import <UIKit/UIKit.h>
-
-#import "ios/chrome/browser/ui/collection_view/collection_view_controller.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/suggested_content.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_consumer.h"
-
-namespace {
-
-using CSCollectionViewModel = CollectionViewModel<CSCollectionViewItem*>;
-
-// Enum defining the type of a ContentSuggestions.
-typedef NS_ENUM(NSInteger, ContentSuggestionType) {
-  // Use this type to pass information about an empty section. Suggestion of
-  // this type are empty and should not be displayed. The information to be
-  // displayed are contained in the SectionInfo.
-  ContentSuggestionTypeEmpty,
-  ContentSuggestionTypeMostVisited,
-  ContentSuggestionTypeReturnToRecentTab,
-  ContentSuggestionTypePromo,
-};
-
-// Enum defining the ItemTypes of this ContentSuggestionsViewController.
-typedef NS_ENUM(NSInteger, ItemType) {
-  ItemTypeFooter = kItemTypeEnumZero,
-  ItemTypeHeader,
-  ItemTypeEmpty,
-  ItemTypeMostVisited,
-  ItemTypePromo,
-  ItemTypeReturnToRecentTab,
-  ItemTypeSingleCell,
-  ItemTypeUnknown,
-};
-
-// Enum defining the SectionIdentifiers of this
-// ContentSuggestionsViewController.
-typedef NS_ENUM(NSInteger, SectionIdentifier) {
-  SectionIdentifierMostVisited = kSectionIdentifierEnumZero,
-  SectionIdentifierLogo,
-  SectionIdentifierReturnToRecentTab,
-  SectionIdentifierPromo,
-  SectionIdentifierSingleCell,
-  SectionIdentifierDefault,
-};
-
-}  // namespace
-
-@class ContentSuggestionsSectionInformation;
-@protocol ContentSuggestionsActionHandler;
-@protocol ContentSuggestionsCommands;
-@protocol ContentSuggestionsHeaderControlling;
-@protocol ContentSuggestionsMenuProvider;
-@protocol ContentSuggestionsViewControllerAudience;
-@protocol SuggestedContent;
-
-// CollectionViewController to display the suggestions items.
-@interface ContentSuggestionsCollectionViewController
-    : CollectionViewController <ContentSuggestionsCollectionConsumer>
-
-// Inits view controller with `style`.
-- (instancetype)initWithStyle:(CollectionViewControllerStyle)style
-    NS_DESIGNATED_INITIALIZER;
-
-- (instancetype)initWithLayout:(UICollectionViewLayout*)layout
-                         style:(CollectionViewControllerStyle)style
-    NS_UNAVAILABLE;
-
-// Handler for the commands sent by the ContentSuggestionsViewController.
-@property(nonatomic, weak) id<ContentSuggestionsCommands>
-    suggestionCommandHandler;
-@property(nonatomic, weak) id<ContentSuggestionsViewControllerAudience>
-    audience;
-// Override from superclass to have a more specific type.
-@property(nonatomic, readonly)
-    CollectionViewModel<CollectionViewItem<SuggestedContent>*>*
-        collectionViewModel;
-// Whether or not the contents section should be hidden completely.
-@property(nonatomic, assign) BOOL contentSuggestionsEnabled;
-// Provides information about the content suggestions header. Used to get the
-// header height.
-// TODO(crbug.com/1114792): Remove this and replace its call with refactored
-// header synchronizer.
-@property(nonatomic, weak) id<ContentSuggestionsHeaderControlling>
-    headerProvider;
-// Delegate for handling actions relating to content suggestions.
-@property(nonatomic, weak) id<ContentSuggestionsActionHandler> handler;
-// Provider of menu configurations for the contentSuggestions component.
-@property(nonatomic, weak) id<ContentSuggestionsMenuProvider> menuProvider;
-// Returns the header view containing the logo and omnibox to be displayed.
-- (UIView*)headerViewForWidth:(CGFloat)width;
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_COLLECTION_VIEW_CONTROLLER_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.mm
deleted file mode 100644
index 262071a..0000000
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.mm
+++ /dev/null
@@ -1,770 +0,0 @@
-// Copyright 2022 The Chromium 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/content_suggestions/content_suggestions_collection_view_controller.h"
-
-#include "base/mac/foundation_util.h"
-#include "base/metrics/user_metrics.h"
-#include "base/metrics/user_metrics_action.h"
-#include "components/strings/grit/components_strings.h"
-#import "ios/chrome/browser/ui/collection_view/cells/MDCCollectionViewCell+Chrome.h"
-#import "ios/chrome/browser/ui/collection_view/cells/collection_view_item.h"
-#import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_cells_constants.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_header_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_tile_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_selection_actions.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_shortcut_tile_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_text_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_layout_util.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/suggested_content.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_utils.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_controlling.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_synchronizing.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_menu_provider.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller_audience.h"
-#import "ios/chrome/browser/ui/content_suggestions/identifier/content_suggestions_section_information.h"
-#import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h"
-#import "ios/chrome/browser/ui/list_model/list_item+Controller.h"
-#import "ios/chrome/browser/ui/ntp/new_tab_page_header_constants.h"
-#import "ios/chrome/browser/ui/start_surface/start_surface_features.h"
-#import "ios/chrome/browser/ui/toolbar/public/toolbar_utils.h"
-#import "ios/chrome/browser/ui/ui_feature_flags.h"
-#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
-#import "ios/chrome/common/material_timing.h"
-#import "ios/chrome/common/ui/colors/semantic_color_names.h"
-#import "ios/chrome/common/ui/util/constraints_ui_util.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "url/gurl.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-namespace {
-const CGFloat kCardBorderRadius = 11;
-}  // namespace
-
-@interface ContentSuggestionsCollectionViewController () <
-    UIGestureRecognizerDelegate,
-    ContentSuggestionsSelectionActions>
-
-// The layout of the content suggestions collection view.
-@property(nonatomic, strong) ContentSuggestionsLayout* layout;
-
-// Dictionary keyed by SectionIdentifier containing section configuration
-// information.
-@property(nonatomic, strong)
-    NSMutableDictionary<NSNumber*, ContentSuggestionsSectionInformation*>*
-        sectionInfoBySectionIdentifier;
-
-// Ordered list of sections being shown.
-@property(nonatomic, strong)
-    NSMutableArray<ContentSuggestionsSectionInformation*>* orderedSectionsInfo;
-// Whether an item of type ItemTypePromo has already been added to the model.
-@property(nonatomic, assign) BOOL promoAdded;
-
-@end
-
-@implementation ContentSuggestionsCollectionViewController
-
-@dynamic collectionViewModel;
-
-#pragma mark - Lifecycle
-
-- (instancetype)initWithStyle:(CollectionViewControllerStyle)style {
-  _layout = [[ContentSuggestionsLayout alloc] init];
-  self = [super initWithLayout:_layout style:style];
-  return self;
-}
-
-#pragma mark - Public
-
-// Removes the `section`.
-- (void)dismissSection:(NSInteger)section {
-  if (section >= [self numberOfSectionsInCollectionView:self.collectionView]) {
-    return;
-  }
-
-  NSInteger sectionIdentifier =
-      [self.collectionViewModel sectionIdentifierForSectionIndex:section];
-
-  [self.collectionView
-      performBatchUpdates:^{
-        [self.collectionViewModel
-            removeSectionWithIdentifier:sectionIdentifier];
-        [self.collectionView
-            deleteSections:[NSIndexSet indexSetWithIndex:section]];
-      }
-               completion:nil];
-}
-
-#pragma mark - UIViewController
-
-- (void)viewDidLoad {
-  [super viewDidLoad];
-
-  self.collectionView.prefetchingEnabled = NO;
-  // Overscroll action does not work well with content offset, so set this
-  // to never and internally offset the UI to account for safe area insets.
-  self.collectionView.contentInsetAdjustmentBehavior =
-      UIScrollViewContentInsetAdjustmentNever;
-
-  self.collectionView.delegate = self;
-  self.collectionView.backgroundColor = ntp_home::kNTPBackgroundColor();
-  self.styler.cellStyle = MDCCollectionViewCellStyleCard;
-  self.styler.cardBorderRadius = kCardBorderRadius;
-  self.styler.separatorColor = [UIColor clearColor];
-  self.collectionView.translatesAutoresizingMaskIntoConstraints = NO;
-
-  ApplyVisualConstraints(@[ @"V:|[collection]|", @"H:|[collection]|" ],
-                         @{@"collection" : self.collectionView});
-}
-
-- (void)viewDidDisappear:(BOOL)animated {
-  [super viewDidDisappear:animated];
-  if (ShouldShowReturnToMostRecentTabForStartSurface()) {
-    [self.audience viewDidDisappear];
-  }
-}
-
-#pragma mark - UICollectionViewDelegate
-
-- (void)collectionView:(UICollectionView*)collectionView
-    didSelectItemAtIndexPath:(NSIndexPath*)indexPath {
-  [super collectionView:collectionView didSelectItemAtIndexPath:indexPath];
-
-  CollectionViewItem* item =
-      [self.collectionViewModel itemAtIndexPath:indexPath];
-  switch ([self contentSuggestionTypeForItem:item]) {
-    case ContentSuggestionTypeMostVisited:
-      [self.suggestionCommandHandler openMostVisitedItem:item
-                                                 atIndex:indexPath.item];
-      break;
-    case ContentSuggestionTypeReturnToRecentTab:
-      [self.suggestionCommandHandler openMostRecentTab];
-      break;
-    case ContentSuggestionTypePromo:
-      [self dismissSection:indexPath.section];
-      [self.suggestionCommandHandler handlePromoTapped];
-      [self.collectionViewLayout invalidateLayout];
-      break;
-    case ContentSuggestionTypeEmpty:
-      break;
-  }
-}
-
-- (UICollectionViewCell*)collectionView:(UICollectionView*)collectionView
-                 cellForItemAtIndexPath:(NSIndexPath*)indexPath {
-  UICollectionViewCell* cell = [super collectionView:collectionView
-                              cellForItemAtIndexPath:indexPath];
-  if ([self isMostVisitedSection:indexPath.section]) {
-    cell.accessibilityIdentifier = [NSString
-        stringWithFormat:
-            @"%@%li",
-            kContentSuggestionsMostVisitedAccessibilityIdentifierPrefix,
-            indexPath.row];
-    // Apple doesn't handle the transparency of the background during animations
-    // linked to context menus. To prevent the cell from turning black during
-    // animations, its background is set to be the same as the NTP background.
-    // See: crbug.com/1120321.
-    cell.backgroundColor = ntp_home::kNTPBackgroundColor();
-    [self.collectionViewModel itemAtIndexPath:indexPath]
-        .accessibilityIdentifier = cell.accessibilityIdentifier;
-  }
-
-  return cell;
-}
-
-- (UIContextMenuConfiguration*)collectionView:(UICollectionView*)collectionView
-    contextMenuConfigurationForItemAtIndexPath:(NSIndexPath*)indexPath
-                                         point:(CGPoint)point {
-  CollectionViewItem* item =
-      [self.collectionViewModel itemAtIndexPath:indexPath];
-
-  if (![item isKindOfClass:[ContentSuggestionsMostVisitedItem class]])
-    return nil;
-
-  ContentSuggestionsMostVisitedItem* contentSuggestionsItem =
-      base::mac::ObjCCastStrict<ContentSuggestionsMostVisitedItem>(item);
-
-  return [self.menuProvider
-      contextMenuConfigurationForItem:contentSuggestionsItem
-                             fromView:[self.collectionView
-                                          cellForItemAtIndexPath:indexPath]];
-}
-
-#pragma mark - UICollectionViewDelegateFlowLayout
-
-- (CGSize)collectionView:(UICollectionView*)collectionView
-                    layout:(UICollectionViewLayout*)collectionViewLayout
-    sizeForItemAtIndexPath:(NSIndexPath*)indexPath {
-  if ([self isMostVisitedSection:indexPath.section]) {
-    return [ContentSuggestionsMostVisitedCell defaultSize];
-  }
-  CGSize size = [super collectionView:collectionView
-                               layout:collectionViewLayout
-               sizeForItemAtIndexPath:indexPath];
-  return size;
-}
-
-- (UIEdgeInsets)collectionView:(UICollectionView*)collectionView
-                        layout:(UICollectionViewLayout*)collectionViewLayout
-        insetForSectionAtIndex:(NSInteger)section {
-  UIEdgeInsets parentInset = [super collectionView:collectionView
-                                            layout:collectionViewLayout
-                            insetForSectionAtIndex:section];
-  if ([self isHeaderSection:section] || [self isSingleCellSection:section]) {
-    parentInset.top = 0;
-    parentInset.left = 0;
-    parentInset.right = 0;
-  } else if ([self isReturnToRecentTabSection:section]) {
-    CGFloat collectionWidth = collectionView.bounds.size.width;
-    CGFloat maxCardWidth = content_suggestions::searchFieldWidth(
-        collectionWidth, self.traitCollection);
-    CGFloat margin =
-        MAX(0, (collectionView.frame.size.width - maxCardWidth) / 2);
-    parentInset.left = margin;
-    parentInset.right = margin;
-    parentInset.bottom =
-        content_suggestions::kReturnToRecentTabSectionBottomMargin;
-  } else if ([self isMostVisitedSection:section] ||
-             [self isPromoSection:section]) {
-    CGFloat margin = CenteredTilesMarginForWidth(
-        self.traitCollection, collectionView.frame.size.width);
-    parentInset.left = margin;
-    parentInset.right = margin;
-    if ([self isMostVisitedSection:section]) {
-      parentInset.bottom = kMostVisitedBottomMargin;
-    }
-  }
-  return parentInset;
-}
-
-- (CGFloat)collectionView:(UICollectionView*)collectionView
-                                 layout:(UICollectionViewLayout*)
-                                            collectionViewLayout
-    minimumLineSpacingForSectionAtIndex:(NSInteger)section {
-  if ([self isMostVisitedSection:section]) {
-    return kContentSuggestionsTilesVerticalSpacing;
-  }
-  return [super collectionView:collectionView
-                                   layout:collectionViewLayout
-      minimumLineSpacingForSectionAtIndex:section];
-}
-
-#pragma mark - MDCCollectionViewStylingDelegate
-
-- (BOOL)collectionView:(UICollectionView*)collectionView
-    hidesInkViewAtIndexPath:(NSIndexPath*)indexPath {
-  return YES;
-}
-
-- (UIColor*)collectionView:(nonnull UICollectionView*)collectionView
-    cellBackgroundColorAtIndexPath:(nonnull NSIndexPath*)indexPath {
-  if ([self shouldUseCustomStyleForSection:indexPath.section]) {
-    return UIColor.clearColor;
-  }
-  return ntp_home::kNTPBackgroundColor();
-}
-
-- (CGSize)collectionView:(UICollectionView*)collectionView
-                             layout:
-                                 (UICollectionViewLayout*)collectionViewLayout
-    referenceSizeForHeaderInSection:(NSInteger)section {
-  if ([self isHeaderSection:section]) {
-    DCHECK(!IsContentSuggestionsHeaderMigrationEnabled());
-    return CGSizeMake(0, [self.headerProvider headerHeight]);
-  }
-  CGSize defaultSize = [super collectionView:collectionView
-                                      layout:collectionViewLayout
-             referenceSizeForHeaderInSection:section];
-  if (UIContentSizeCategoryIsAccessibilityCategory(
-          self.traitCollection.preferredContentSizeCategory)) {
-    // Double the size of the header as it is now on two lines.
-    defaultSize.height *= 2;
-  }
-  return defaultSize;
-}
-
-- (BOOL)collectionView:(nonnull UICollectionView*)collectionView
-    shouldHideItemBackgroundAtIndexPath:(nonnull NSIndexPath*)indexPath {
-  return [self shouldUseCustomStyleForSection:indexPath.section];
-}
-
-- (BOOL)collectionView:(UICollectionView*)collectionView
-    shouldHideHeaderBackgroundForSection:(NSInteger)section {
-  return [self shouldUseCustomStyleForSection:section];
-}
-
-- (CGFloat)collectionView:(UICollectionView*)collectionView
-    cellHeightAtIndexPath:(NSIndexPath*)indexPath {
-  CSCollectionViewItem* item =
-      [self.collectionViewModel itemAtIndexPath:indexPath];
-  UIEdgeInsets inset = [self collectionView:collectionView
-                                     layout:collectionView.collectionViewLayout
-                     insetForSectionAtIndex:indexPath.section];
-  CGFloat width =
-      CGRectGetWidth(collectionView.bounds) - inset.left - inset.right;
-
-  return [item cellHeightForWidth:width];
-}
-
-- (BOOL)collectionView:(UICollectionView*)collectionView
-    shouldHideHeaderSeparatorForSection:(NSInteger)section {
-  return [self shouldUseCustomStyleForSection:section];
-}
-
-#pragma mark - UIGestureRecognizerDelegate
-
-- (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer
-       shouldReceiveTouch:(UITouch*)touch {
-  return touch.view.accessibilityIdentifier !=
-             ntp_home::FakeOmniboxAccessibilityID() &&
-         touch.view.superview.accessibilityIdentifier !=
-             ntp_home::FakeOmniboxAccessibilityID();
-}
-
-#pragma mark - ContentSuggestionsCollectionConsumer
-
-- (void)reloadDataWithSections:
-            (NSArray<ContentSuggestionsSectionInformation*>*)sections
-                      andItems:
-                          (NSMutableDictionary<NSNumber*, NSArray*>*)items {
-  [self resetModels];
-  self.orderedSectionsInfo = [sections mutableCopy];
-
-  // The data is reset, add the new data directly in the model then reload the
-  // collection.
-  [self addSectionsForSectionInfoToModel:sections withItems:items];
-  for (ContentSuggestionsSectionInformation* sectionInfo in sections) {
-    if (sectionInfo.sectionID == ContentSuggestionsSectionSingleCell) {
-      DCHECK(IsSingleCellContentSuggestionsEnabled());
-      DCHECK_EQ(1.0, [items[@(sectionInfo.sectionID)] count]);
-      ContentSuggestionsParentItem* item =
-          static_cast<ContentSuggestionsParentItem*>(
-              items[@(sectionInfo.sectionID)][0]);
-      item.tapTarget = self;
-      item.menuProvider = self.menuProvider;
-    }
-    [self addSuggestionsToModel:items[@(sectionInfo.sectionID)]
-                withSectionInfo:sectionInfo];
-  }
-  [self.collectionView reloadData];
-}
-
-- (void)addSection:(ContentSuggestionsSectionInformation*)sectionInfo
-         withItems:(NSArray<CSCollectionViewItem*>*)items
-        completion:(void (^)(void))completion {
-  SectionIdentifier sectionIdentifier =
-      [self sectionIdentifierForInfo:sectionInfo];
-  CSCollectionViewModel* model = self.collectionViewModel;
-
-  if ([model hasSectionForSectionIdentifier:sectionIdentifier])
-    return;
-
-  auto addSectionBlock = ^{
-    NSIndexSet* addedSection = [self
-        addSectionsForSectionInfoToModel:@[ sectionInfo ]
-                               withItems:@{@(sectionInfo.sectionID) : items}];
-    [self.collectionView insertSections:addedSection];
-    NSArray<NSIndexPath*>* addedItems =
-        [self addSuggestionsToModel:items withSectionInfo:sectionInfo];
-    [self.collectionView insertItemsAtIndexPaths:addedItems];
-  };
-
-  [UIView performWithoutAnimation:^{
-    [self.collectionView performBatchUpdates:addSectionBlock
-                                  completion:^(BOOL finished) {
-                                    completion();
-                                  }];
-  }];
-}
-
-- (void)clearSection:(ContentSuggestionsSectionInformation*)sectionInfo {
-  SectionIdentifier sectionIdentifier =
-      [self sectionIdentifierForInfo:sectionInfo];
-  CSCollectionViewModel* model = self.collectionViewModel;
-
-  if (![model hasSectionForSectionIdentifier:sectionIdentifier])
-    return;
-
-  NSInteger section = [model sectionForSectionIdentifier:sectionIdentifier];
-
-  [self dismissSection:section];
-}
-
-- (void)itemHasChanged:(CollectionViewItem<SuggestedContent>*)item {
-  if (![self.collectionViewModel hasItem:item]) {
-    return;
-  }
-  if (IsSingleCellContentSuggestionsEnabled()) {
-    ContentSuggestionsParentItem* parentItem =
-        static_cast<ContentSuggestionsParentItem*>(item);
-    parentItem.tapTarget = self;
-  }
-  [self reconfigureCellsForItems:@[ item ]];
-}
-
-#pragma mark - UIAccessibilityAction
-
-- (BOOL)accessibilityScroll:(UIAccessibilityScrollDirection)direction {
-  CGFloat toolbarHeight =
-      ToolbarExpandedHeight(self.traitCollection.preferredContentSizeCategory);
-  // The collection displays the fake omnibox on the top of the other elements.
-  // The default scrolling action scrolls for the full height of the collection,
-  // hiding elements behing the fake omnibox. This reduces the scrolling by the
-  // height of the fake omnibox.
-  if (direction == UIAccessibilityScrollDirectionDown) {
-    CGFloat newYOffset = self.collectionView.contentOffset.y +
-                         self.collectionView.bounds.size.height - toolbarHeight;
-    newYOffset = MIN(self.collectionView.contentSize.height -
-                         self.collectionView.bounds.size.height,
-                     newYOffset);
-    self.collectionView.contentOffset =
-        CGPointMake(self.collectionView.contentOffset.x, newYOffset);
-  } else if (direction == UIAccessibilityScrollDirectionUp) {
-    CGFloat newYOffset = self.collectionView.contentOffset.y -
-                         self.collectionView.bounds.size.height + toolbarHeight;
-    newYOffset = MAX(0, newYOffset);
-    self.collectionView.contentOffset =
-        CGPointMake(self.collectionView.contentOffset.x, newYOffset);
-  } else {
-    return NO;
-  }
-  return YES;
-}
-
-#pragma mark - ContentSuggestionsSelectionActions
-
-- (void)contentSuggestionsElementTapped:(UIGestureRecognizer*)sender {
-  if ([sender.view
-          isKindOfClass:[ContentSuggestionsMostVisitedTileView class]]) {
-    ContentSuggestionsMostVisitedTileView* mostVisitedView =
-        static_cast<ContentSuggestionsMostVisitedTileView*>(sender.view);
-    [self.suggestionCommandHandler
-        openMostVisitedItem:mostVisitedView.config
-                    atIndex:mostVisitedView.config.index];
-  } else if ([sender.view
-                 isKindOfClass:[ContentSuggestionsShortcutTileView class]]) {
-    ContentSuggestionsShortcutTileView* shortcutView =
-        static_cast<ContentSuggestionsShortcutTileView*>(sender.view);
-    int index = static_cast<int>(shortcutView.config.index);
-    [self.suggestionCommandHandler openMostVisitedItem:shortcutView.config
-                                               atIndex:index];
-  } else if ([sender.view isKindOfClass:[ContentSuggestionsReturnToRecentTabView
-                                            class]]) {
-    ContentSuggestionsReturnToRecentTabView* returnToRecentTabView =
-        static_cast<ContentSuggestionsReturnToRecentTabView*>(sender.view);
-    __weak ContentSuggestionsReturnToRecentTabView* weakRecentTabView =
-        returnToRecentTabView;
-    UIGestureRecognizerState state = sender.state;
-    if (state == UIGestureRecognizerStateChanged ||
-        state == UIGestureRecognizerStateCancelled) {
-      // Do nothing if isn't a gesture start or end.
-      // If the gesture was cancelled by the system, then reset the background
-      // color since UIGestureRecognizerStateEnded will not be received.
-      if (state == UIGestureRecognizerStateCancelled) {
-        returnToRecentTabView.backgroundColor = [UIColor clearColor];
-      }
-      return;
-    }
-    BOOL touchBegan = state == UIGestureRecognizerStateBegan;
-    [UIView transitionWithView:returnToRecentTabView
-                      duration:ios::material::kDuration8
-                       options:UIViewAnimationOptionCurveEaseInOut
-                    animations:^{
-                      weakRecentTabView.backgroundColor =
-                          touchBegan ? [UIColor colorNamed:kGrey100Color]
-                                     : [UIColor clearColor];
-                    }
-                    completion:nil];
-    if (state == UIGestureRecognizerStateEnded) {
-      CGPoint point = [sender locationInView:returnToRecentTabView];
-      if (point.x < 0 || point.y < 0 ||
-          point.x > kReturnToRecentTabSize.width ||
-          point.y > kReturnToRecentTabSize.height) {
-        // Reset the highlighted state and do nothing if the gesture ended
-        // outside of the tile.
-        returnToRecentTabView.backgroundColor = [UIColor clearColor];
-        return;
-      }
-      [self.suggestionCommandHandler openMostRecentTab];
-    }
-  } else if ([sender.view
-                 isKindOfClass:[ContentSuggestionsWhatsNewView class]]) {
-    [self.suggestionCommandHandler handlePromoTapped];
-  }
-}
-
-#pragma mark - Private
-
-// Checks if the `section` is empty and add an empty element if it is the case.
-// Must be called from inside a performBatchUpdates: block.
-- (void)addEmptySectionPlaceholderIfNeeded:(NSInteger)section {
-  if ([self.collectionViewModel numberOfItemsInSection:section] > 0)
-    return;
-
-  NSIndexPath* emptyItem = [self addEmptyItemForSection:section];
-  if (emptyItem)
-    [self.collectionView insertItemsAtIndexPaths:@[ emptyItem ]];
-}
-
-// Returns the ContentSuggestionType associated with an ItemType `type`.
-- (ContentSuggestionType)contentSuggestionTypeForItemType:(NSInteger)type {
-  switch (type) {
-    case ItemTypeEmpty:
-      return ContentSuggestionTypeEmpty;
-    case ItemTypeReturnToRecentTab:
-      return ContentSuggestionTypeReturnToRecentTab;
-    case ItemTypeMostVisited:
-      return ContentSuggestionTypeMostVisited;
-    case ItemTypePromo:
-      return ContentSuggestionTypePromo;
-    default:
-      return ContentSuggestionTypeEmpty;
-  }
-}
-
-// Returns the item type corresponding to the section `info`.
-- (ItemType)itemTypeForInfo:(ContentSuggestionsSectionInformation*)info {
-  switch (info.sectionID) {
-    case ContentSuggestionsSectionReturnToRecentTab:
-      return ItemTypeReturnToRecentTab;
-    case ContentSuggestionsSectionMostVisited:
-      return ItemTypeMostVisited;
-    case ContentSuggestionsSectionPromo:
-      return ItemTypePromo;
-    case ContentSuggestionsSectionSingleCell:
-      return ItemTypeSingleCell;
-    case ContentSuggestionsSectionLogo:
-    case ContentSuggestionsSectionUnknown:
-      return ItemTypeUnknown;
-  }
-}
-
-// Returns the section identifier corresponding to the section `info`.
-- (SectionIdentifier)sectionIdentifierForInfo:
-    (ContentSuggestionsSectionInformation*)info {
-  switch (info.sectionID) {
-    case ContentSuggestionsSectionMostVisited:
-      return SectionIdentifierMostVisited;
-    case ContentSuggestionsSectionLogo:
-      return SectionIdentifierLogo;
-    case ContentSuggestionsSectionReturnToRecentTab:
-      return SectionIdentifierReturnToRecentTab;
-    case ContentSuggestionsSectionPromo:
-      return SectionIdentifierPromo;
-    case ContentSuggestionsSectionSingleCell:
-      return SectionIdentifierSingleCell;
-    case ContentSuggestionsSectionUnknown:
-      return SectionIdentifierDefault;
-  }
-}
-
-- (BOOL)shouldUseCustomStyleForSection:(NSInteger)section {
-  NSNumber* identifier =
-      @([self.collectionViewModel sectionIdentifierForSectionIndex:section]);
-  ContentSuggestionsSectionInformation* sectionInformation =
-      self.sectionInfoBySectionIdentifier[identifier];
-  return sectionInformation.layout == ContentSuggestionsSectionLayoutCustom;
-}
-
-- (ContentSuggestionType)contentSuggestionTypeForItem:
-    (CollectionViewItem*)item {
-  return [self contentSuggestionTypeForItemType:item.type];
-}
-
-- (NSArray<NSIndexPath*>*)
-    addSuggestionsToModel:(NSArray<CSCollectionViewItem*>*)suggestions
-          withSectionInfo:(ContentSuggestionsSectionInformation*)sectionInfo {
-  NSMutableArray<NSIndexPath*>* indexPaths = [NSMutableArray array];
-
-  CSCollectionViewModel* model = self.collectionViewModel;
-  NSInteger sectionIdentifier = [self sectionIdentifierForInfo:sectionInfo];
-
-  if (suggestions.count == 0) {
-    // No suggestions for this section. Add the item signaling this section is
-    // empty if there is currently no item in it.
-    if ([model hasSectionForSectionIdentifier:sectionIdentifier] &&
-        [model numberOfItemsInSection:[model sectionForSectionIdentifier:
-                                                 sectionIdentifier]] == 0) {
-      NSIndexPath* emptyItemIndexPath =
-          [self addEmptyItemForSection:
-                    [model sectionForSectionIdentifier:sectionIdentifier]];
-      if (emptyItemIndexPath) {
-        [indexPaths addObject:emptyItemIndexPath];
-      }
-    }
-    return indexPaths;
-  }
-
-  // Add the items from this section.
-  [suggestions enumerateObjectsUsingBlock:^(CSCollectionViewItem* item,
-                                            NSUInteger index, BOOL* stop) {
-    ItemType type = [self itemTypeForInfo:sectionInfo];
-    if (type == ItemTypePromo && !self.promoAdded) {
-      self.promoAdded = YES;
-      [self.audience promoShown];
-    }
-    item.type = type;
-    NSIndexPath* addedIndexPath = [self addItem:item
-                        toSectionWithIdentifier:sectionIdentifier];
-
-    [indexPaths addObject:addedIndexPath];
-  }];
-
-  return indexPaths;
-}
-
-- (NSIndexSet*)
-    addSectionsForSectionInfoToModel:
-        (NSArray<ContentSuggestionsSectionInformation*>*)sectionsInfo
-                           withItems:(NSDictionary<NSNumber*, NSArray*>*)items {
-  NSMutableIndexSet* addedSectionIdentifiers = [NSMutableIndexSet indexSet];
-
-  CSCollectionViewModel* model = self.collectionViewModel;
-  for (ContentSuggestionsSectionInformation* sectionInfo in sectionsInfo) {
-    NSInteger sectionIdentifier = [self sectionIdentifierForInfo:sectionInfo];
-    NSArray* itemsArray = items[@(sectionInfo.sectionID)];
-    if ([model hasSectionForSectionIdentifier:sectionIdentifier] ||
-        (!sectionInfo.showIfEmpty && [itemsArray count] == 0)) {
-      continue;
-    }
-
-    NSUInteger sectionIndex = 0;
-    for (ContentSuggestionsSectionInformation* orderedSectionInfo in self
-             .orderedSectionsInfo) {
-      NSInteger orderedSectionIdentifier =
-          [self sectionIdentifierForInfo:orderedSectionInfo];
-      if (orderedSectionIdentifier == sectionIdentifier) {
-        break;
-      }
-      if ([model hasSectionForSectionIdentifier:orderedSectionIdentifier]) {
-        sectionIndex++;
-      }
-    }
-    [model insertSectionWithIdentifier:sectionIdentifier atIndex:sectionIndex];
-
-    self.sectionInfoBySectionIdentifier[@(sectionIdentifier)] = sectionInfo;
-    [addedSectionIdentifiers addIndex:sectionIdentifier];
-
-    if (sectionIdentifier == SectionIdentifierLogo) {
-      [self addLogoHeaderIfNeeded];
-    }
-  }
-
-  NSMutableIndexSet* indexSet = [NSMutableIndexSet indexSet];
-  [addedSectionIdentifiers enumerateIndexesUsingBlock:^(
-                               NSUInteger sectionIdentifier, BOOL* stop) {
-    [indexSet addIndex:[model sectionForSectionIdentifier:sectionIdentifier]];
-  }];
-  return indexSet;
-}
-
-- (NSIndexPath*)addEmptyItemForSection:(NSInteger)section {
-  CSCollectionViewModel* model = self.collectionViewModel;
-  NSInteger sectionIdentifier =
-      [model sectionIdentifierForSectionIndex:section];
-  ContentSuggestionsSectionInformation* sectionInfo =
-      self.sectionInfoBySectionIdentifier[@(sectionIdentifier)];
-
-  CSCollectionViewItem* item = [self emptyItemForSectionInfo:sectionInfo];
-  if (!item) {
-    return nil;
-  }
-  return [self addItem:item toSectionWithIdentifier:sectionIdentifier];
-}
-
-- (BOOL)isReturnToRecentTabSection:(NSInteger)section {
-  return [self.collectionViewModel sectionIdentifierForSectionIndex:section] ==
-         SectionIdentifierReturnToRecentTab;
-}
-
-- (BOOL)isMostVisitedSection:(NSInteger)section {
-  return [self.collectionViewModel sectionIdentifierForSectionIndex:section] ==
-         SectionIdentifierMostVisited;
-}
-
-- (BOOL)isHeaderSection:(NSInteger)section {
-  return [self.collectionViewModel sectionIdentifierForSectionIndex:section] ==
-         SectionIdentifierLogo;
-}
-
-- (BOOL)isPromoSection:(NSInteger)section {
-  return [self.collectionViewModel sectionIdentifierForSectionIndex:section] ==
-         SectionIdentifierPromo;
-}
-
-- (BOOL)isSingleCellSection:(NSInteger)section {
-  return [self.collectionViewModel sectionIdentifierForSectionIndex:section] ==
-         SectionIdentifierSingleCell;
-}
-
-// Adds the header for the first section, containing the logo and the omnibox,
-// if there is no header for the section.
-- (void)addLogoHeaderIfNeeded {
-  DCHECK(!IsContentSuggestionsHeaderMigrationEnabled());
-  if (![self.collectionViewModel
-          headerForSectionWithIdentifier:SectionIdentifierLogo]) {
-    ContentSuggestionsHeaderItem* header =
-        [[ContentSuggestionsHeaderItem alloc] initWithType:ItemTypeHeader];
-    header.view =
-        [self headerViewForWidth:self.collectionView.bounds.size.width];
-    [self.collectionViewModel setHeader:header
-               forSectionWithIdentifier:SectionIdentifierLogo];
-  }
-}
-
-- (UIView*)headerViewForWidth:(CGFloat)width {
-  return [self.headerProvider
-      headerForWidth:width
-      safeAreaInsets:[self.audience safeAreaInsetsForDiscoverFeed]];
-}
-
-// Resets the models, removing the current CollectionViewItem and the
-// SectionInfo.
-- (void)resetModels {
-  [self loadModel];
-  self.sectionInfoBySectionIdentifier = [[NSMutableDictionary alloc] init];
-}
-
-// Returns a item to be displayed when the section identified by `sectionInfo`
-// is empty.
-// Returns nil if there is no empty item for this section info.
-- (CSCollectionViewItem*)emptyItemForSectionInfo:
-    (ContentSuggestionsSectionInformation*)sectionInfo {
-  if (!sectionInfo.emptyText || !sectionInfo.expanded)
-    return nil;
-  ContentSuggestionsTextItem* item =
-      [[ContentSuggestionsTextItem alloc] initWithType:ItemTypeEmpty];
-  item.text = l10n_util::GetNSString(IDS_NTP_TITLE_NO_SUGGESTIONS);
-  item.detailText = sectionInfo.emptyText;
-
-  return item;
-}
-
-// Adds `item` to `sectionIdentifier` section of the model of the
-// CollectionView. Returns the IndexPath of the newly added item.
-- (NSIndexPath*)addItem:(CSCollectionViewItem*)item
-    toSectionWithIdentifier:(NSInteger)sectionIdentifier {
-  CSCollectionViewModel* model = self.collectionViewModel;
-  NSInteger section = [model sectionForSectionIdentifier:sectionIdentifier];
-  NSInteger itemNumber = [model numberOfItemsInSection:section];
-  [model addItem:item toSectionWithIdentifier:sectionIdentifier];
-
-  return [NSIndexPath indexPathForItem:itemNumber inSection:section];
-}
-
-@end
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h
index 6fa389e..5385567 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h
@@ -13,8 +13,7 @@
 @protocol ContentSuggestionsCommands
 
 // Opens the Most Visited associated with this `item` at the `mostVisitedItem`.
-- (void)openMostVisitedItem:(CollectionViewItem*)item
-                    atIndex:(NSInteger)mostVisitedIndex;
+- (void)openMostVisitedItem:(NSObject*)item atIndex:(NSInteger)mostVisitedIndex;
 // Handles the actions tapping the "Return to Recent Tab" item that returns the
 // user to the last opened tab.
 - (void)openMostRecentTab;
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.h
index ad413b4..4bcd486 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.h
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.h
@@ -33,17 +33,7 @@
 // YES if the coordinator has started. If YES, start is a no-op.
 @property(nonatomic, readonly) BOOL started;
 
-@property(nonatomic, strong, readonly)
-    ContentSuggestionsHeaderViewController* headerController;
-
-// The CollectionView that this coordinator manages.
-@property(nonatomic, strong, readonly)
-    UICollectionViewController* contentSuggestionsCollectionViewController;
-
-// The ViewController that this coordinator managers if
-// kContentSuggestionsUIViewControllerMigration is enabled.
-// TODO(crbug.com/1285378): remove `contentSuggestionsCollectionViewController`
-// once migration is finished.
+// The ViewController that this coordinator managers.
 @property(nonatomic, strong, readonly)
     ContentSuggestionsViewController* viewController;
 
@@ -63,13 +53,6 @@
 // Delegate used to communicate to communicate events to the feed.
 @property(nonatomic, weak) id<FeedDelegate> feedDelegate;
 
-// Stop any scrolling in the scroll view.
-- (void)stopScrolling;
-
-// The content inset and offset of the scroll view.
-- (UIEdgeInsets)contentInset;
-- (CGPoint)contentOffset;
-
 // Reloads the suggestions.
 - (void)reload;
 
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.mm
index cdd114e..622ec0e 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_coordinator.mm
@@ -37,7 +37,6 @@
 #import "ios/chrome/browser/ui/commands/omnibox_commands.h"
 #import "ios/chrome/browser/ui/commands/open_new_tab_command.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_constants.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_commands.h"
@@ -78,7 +77,6 @@
 #endif
 
 @interface ContentSuggestionsCoordinator () <
-    AppStateObserver,
     ContentSuggestionsHeaderCommands,
     ContentSuggestionsMenuProvider,
     ContentSuggestionsViewControllerAudience,
@@ -87,9 +85,6 @@
   // StartSurfaceRecentTabObserverBridge.
   std::unique_ptr<StartSurfaceRecentTabObserverBridge> _startSurfaceObserver;
 }
-
-@property(nonatomic, strong)
-    ContentSuggestionsCollectionViewController* collectionViewController;
 @property(nonatomic, strong)
     ContentSuggestionsViewController* contentSuggestionsViewController;
 @property(nonatomic, strong)
@@ -98,9 +93,6 @@
     ContentSuggestionsHeaderSynchronizer* headerCollectionInteractionHandler;
 @property(nonatomic, strong) URLDragDropHandler* dragDropHandler;
 @property(nonatomic, strong) ActionSheetCoordinator* alertCoordinator;
-// Redefined as readwrite.
-@property(nonatomic, strong, readwrite)
-    ContentSuggestionsHeaderViewController* headerController;
 @property(nonatomic, assign) BOOL contentSuggestionsEnabled;
 // Authentication Service for the user's signed-in state.
 @property(nonatomic, assign) AuthenticationService* authService;
@@ -138,37 +130,6 @@
       prefs->GetBoolean(prefs::kArticlesForYouEnabled) &&
       prefs->GetBoolean(prefs::kNTPContentSuggestionsEnabled);
 
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.headerController =
-        [[ContentSuggestionsHeaderViewController alloc] init];
-    // TODO(crbug.com/1045047): Use HandlerForProtocol after commands protocol
-    // clean up.
-    self.headerController.dispatcher =
-        static_cast<id<ApplicationCommands, BrowserCommands, OmniboxCommands,
-                       FakeboxFocuser>>(self.browser->GetCommandDispatcher());
-    self.headerController.commandHandler = self;
-    self.headerController.delegate = self.ntpMediator;
-
-    self.headerController.readingListModel =
-        ReadingListModelFactory::GetForBrowserState(
-            self.browser->GetBrowserState());
-    self.headerController.toolbarDelegate = self.toolbarDelegate;
-
-    // Only handle app state for the new First Run UI.
-    if (base::FeatureList::IsEnabled(kEnableFREUIModuleIOS)) {
-      SceneState* sceneState =
-          SceneStateBrowserAgent::FromBrowser(self.browser)->GetSceneState();
-      AppState* appState = sceneState.appState;
-      [appState addObserver:self];
-
-      // Do not focus on omnibox for voice over if there are other screens to
-      // show.
-      if (appState.initStage < InitStageFinal) {
-        self.headerController.focusOmniboxWhenViewAppears = NO;
-      }
-    }
-  }
-
   favicon::LargeIconService* largeIconService =
       IOSChromeLargeIconServiceFactory::GetForBrowserState(
           self.browser->GetBrowserState());
@@ -204,83 +165,24 @@
   self.contentSuggestionsMediator.webState = self.webState;
   [self configureStartSurfaceIfNeeded];
 
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.headerController.promoCanShow =
-        [self.contentSuggestionsMediator notificationPromo]->CanShow();
-  }
-
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
     self.contentSuggestionsViewController =
         [[ContentSuggestionsViewController alloc] init];
     self.contentSuggestionsViewController.suggestionCommandHandler =
         self.contentSuggestionsMediator;
     self.contentSuggestionsViewController.audience = self;
     self.contentSuggestionsViewController.menuProvider = self;
-  } else {
-    self.collectionViewController =
-        [[ContentSuggestionsCollectionViewController alloc]
-            initWithStyle:CollectionViewControllerStyleDefault];
-    self.collectionViewController.suggestionCommandHandler =
-        self.contentSuggestionsMediator;
-    self.collectionViewController.audience = self;
-    self.collectionViewController.contentSuggestionsEnabled =
-        self.contentSuggestionsEnabled;
-    self.collectionViewController.menuProvider = self;
-  }
 
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-      self.contentSuggestionsMediator.consumer =
-          self.contentSuggestionsViewController;
-    } else {
-      self.contentSuggestionsMediator.collectionConsumer =
-          self.collectionViewController;
-    }
-  }
+    self.contentSuggestionsMediator.consumer =
+        self.contentSuggestionsViewController;
 
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.ntpMediator.consumer = self.headerController;
-  }
-  // IsContentSuggestionsUIViewControllerMigrationEnabled() doesn't need to set
-  // the suggestionsViewController since it won't be retrieving an item's index
-  // from the CollectionView model.
-  if (!IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    self.ntpMediator.suggestionsViewController = self.collectionViewController;
-  }
-  self.ntpMediator.suggestionsMediator = self.contentSuggestionsMediator;
-  [self.ntpMediator setUp];
+    self.ntpMediator.suggestionsMediator = self.contentSuggestionsMediator;
+    [self.ntpMediator setUp];
 
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    [self.collectionViewController
-        addChildViewController:self.headerController];
-    [self.headerController
-        didMoveToParentViewController:self.collectionViewController];
-
-    // TODO(crbug.com/1114792): Remove header provider and use refactored
-    // header synchronizer instead.
-    self.collectionViewController.headerProvider = self.headerController;
-
-    // Set consumer after configuring the header to ensure that view
-    // controller has access to it when configuring its elements.
-    DCHECK(self.collectionViewController.headerProvider);
-    self.contentSuggestionsMediator.collectionConsumer =
-        self.collectionViewController;
-
-    self.collectionViewController.collectionView.accessibilityIdentifier =
-        kContentSuggestionsCollectionIdentifier;
-  }
-
-  self.dragDropHandler = [[URLDragDropHandler alloc] init];
-  self.dragDropHandler.dropDelegate = self;
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
+    self.dragDropHandler = [[URLDragDropHandler alloc] init];
+    self.dragDropHandler.dropDelegate = self;
     [self.contentSuggestionsViewController.view
         addInteraction:[[UIDropInteraction alloc]
                            initWithDelegate:self.dragDropHandler]];
-  } else {
-    [self.collectionViewController.collectionView
-        addInteraction:[[UIDropInteraction alloc]
-                           initWithDelegate:self.dragDropHandler]];
-  }
 }
 
 - (void)stop {
@@ -295,27 +197,16 @@
   }
   [self.contentSuggestionsMediator disconnect];
   self.contentSuggestionsMediator = nil;
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    self.contentSuggestionsViewController = nil;
-  } else {
-    self.collectionViewController = nil;
-  }
+  self.contentSuggestionsViewController = nil;
   [self.sharingCoordinator stop];
   self.sharingCoordinator = nil;
-  self.headerController = nil;
   _started = NO;
 }
 
 - (UIViewController*)viewController {
-  DCHECK(IsContentSuggestionsUIViewControllerMigrationEnabled());
   return self.contentSuggestionsViewController;
 }
 
-- (UICollectionViewController*)contentSuggestionsCollectionViewController {
-  DCHECK(!IsContentSuggestionsUIViewControllerMigrationEnabled());
-  return self.collectionViewController;
-}
-
 #pragma mark - Setters
 
 - (void)setWebState:(web::WebState*)webState {
@@ -329,7 +220,6 @@
   NotificationPromoWhatsNew* notificationPromo =
       [self.contentSuggestionsMediator notificationPromo];
   notificationPromo->HandleViewed();
-  [self.headerController setPromoCanShow:notificationPromo->CanShow()];
 }
 
 - (void)viewDidDisappear {
@@ -378,26 +268,7 @@
 #pragma mark - Public methods
 
 - (UIView*)view {
-  return IsContentSuggestionsUIViewControllerMigrationEnabled()
-             ? self.contentSuggestionsViewController.view
-             : self.collectionViewController.view;
-}
-
-- (void)stopScrolling {
-  UIScrollView* scrollView = self.collectionViewController.collectionView;
-  [scrollView setContentOffset:scrollView.contentOffset animated:NO];
-}
-
-- (UIEdgeInsets)contentInset {
-  return self.collectionViewController.collectionView.contentInset;
-}
-
-- (CGPoint)contentOffset {
-  CGPoint collectionOffset =
-      self.collectionViewController.collectionView.contentOffset;
-  collectionOffset.y -=
-      self.headerCollectionInteractionHandler.collectionShiftingOffset;
-  return collectionOffset;
+  return self.contentSuggestionsViewController.view;
 }
 
 - (void)reload {
@@ -442,12 +313,6 @@
         NSMutableArray<UIMenuElement*>* menuElements =
             [[NSMutableArray alloc] init];
 
-        NSInteger index =
-            IsSingleCellContentSuggestionsEnabled()
-                ? item.index
-                : [self.collectionViewController.collectionViewModel
-                      indexPathForItem:item]
-                      .item;
         CGPoint centerPoint = [view.superview convertPoint:view.center
                                                     toView:nil];
 
@@ -455,7 +320,7 @@
                         [weakSelf.contentSuggestionsMediator
                             openNewTabWithMostVisitedItem:item
                                                 incognito:NO
-                                                  atIndex:index
+                                                  atIndex:item.index
                                                 fromPoint:centerPoint];
                       }]];
 
@@ -464,7 +329,7 @@
               [weakSelf.contentSuggestionsMediator
                   openNewTabWithMostVisitedItem:item
                                       incognito:YES
-                                        atIndex:index
+                                        atIndex:item.index
                                       fromPoint:centerPoint];
             }];
 
@@ -568,30 +433,12 @@
       [[ActivityParams alloc] initWithURL:URL
                                     title:title
                                  scenario:ActivityScenario::MostVisitedEntry];
-  UIViewController* contentSuggestionsVC =
-      IsContentSuggestionsUIViewControllerMigrationEnabled()
-          ? self.contentSuggestionsViewController
-          : self.collectionViewController;
   self.sharingCoordinator = [[SharingCoordinator alloc]
-      initWithBaseViewController:contentSuggestionsVC
+      initWithBaseViewController:self.contentSuggestionsViewController
                          browser:self.browser
                           params:params
                       originView:view];
   [self.sharingCoordinator start];
 }
 
-#pragma mark - AppStateObserver
-
-- (void)appState:(AppState*)appState
-    didTransitionFromInitStage:(InitStage)previousInitStage {
-  if (base::FeatureList::IsEnabled(kEnableFREUIModuleIOS)) {
-    if (previousInitStage == InitStageFirstRun) {
-      self.headerController.focusOmniboxWhenViewAppears = YES;
-      [self.headerController focusAccessibilityOnOmnibox];
-
-      [appState removeObserver:self];
-    }
-  }
-}
-
 @end
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_mediator.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_mediator.h
index 1fd7752..efb51ba 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_mediator.h
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_mediator.h
@@ -16,7 +16,6 @@
 @protocol ContentSuggestionsCollectionConsumer;
 @protocol ContentSuggestionsConsumer;
 @class ContentSuggestionsMostVisitedItem;
-@class ContentSuggestionsParentItem;
 @class FaviconAttributesProvider;
 class LargeIconCache;
 
@@ -33,12 +32,6 @@
 
 - (instancetype)init NS_UNAVAILABLE;
 
-// The consumer that will be notified when the data change. `consumer` is used
-// if kContentSuggestionsUIViewControllerMigration is enabled.
-// TODO(crbug.com/1285378): remove after completion of UIViewController
-// migration.
-@property(nonatomic, weak) id<ContentSuggestionsCollectionConsumer>
-    collectionConsumer;
 @property(nonatomic, weak) id<ContentSuggestionsConsumer> consumer;
 
 // FaviconAttributesProvider to fetch the favicon for the most visited tiles.
@@ -51,11 +44,6 @@
 
 // Fetches the favicon for this `item`.
 - (void)fetchFaviconForMostVisited:(ContentSuggestionsMostVisitedItem*)item;
-// Fetches the favicon for `item` within `parentItem`.
-// TODO(crbug.com/1285378): Remove this after fully migrating ContentSuggestions
-// to UIViewController.
-- (void)fetchFaviconForMostVisited:(ContentSuggestionsMostVisitedItem*)item
-                        parentItem:(ContentSuggestionsParentItem*)parentItem;
 
 @end
 
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_mediator.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_mediator.mm
index 28cba5627..eefa6751 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_mediator.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_mediator.mm
@@ -8,8 +8,6 @@
 #include "components/favicon/core/large_icon_service.h"
 #include "ios/chrome/browser/application_context.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_consumer.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_consumer.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h"
 #import "ios/chrome/browser/ui/content_suggestions/identifier/content_suggestions_section_information.h"
@@ -71,39 +69,6 @@
   _mostVisitedDataForLogging = mostVisitedData;
 }
 
-- (void)fetchFaviconForMostVisited:(ContentSuggestionsMostVisitedItem*)item
-                        parentItem:(ContentSuggestionsParentItem*)parentItem {
-  DCHECK(IsSingleCellContentSuggestionsEnabled());
-  __weak ContentSuggestionsFaviconMediator* weakSelf = self;
-  __weak ContentSuggestionsMostVisitedItem* weakItem = item;
-  __weak ContentSuggestionsParentItem* weakParentItem = parentItem;
-
-  void (^completion)(FaviconAttributes*) = ^(FaviconAttributes* attributes) {
-    ContentSuggestionsFaviconMediator* strongSelf = weakSelf;
-    ContentSuggestionsMostVisitedItem* strongItem = weakItem;
-    ContentSuggestionsParentItem* strongParentItem = weakParentItem;
-    if (!strongSelf || !strongItem) {
-      return;
-    }
-
-    strongItem.attributes = attributes;
-    if (!parentItem) {
-      return;
-    }
-    for (__strong ContentSuggestionsMostVisitedItem* mvtItem in strongParentItem
-             .mostVisitedItems) {
-      if (mvtItem.index == strongItem.index) {
-        mvtItem = strongItem;
-      }
-    }
-    [strongSelf logFaviconFetchedForItem:strongItem];
-    [strongSelf.collectionConsumer itemHasChanged:strongParentItem];
-  };
-
-  [self.mostVisitedAttributesProvider fetchFaviconAttributesForURL:item.URL
-                                                        completion:completion];
-}
-
 - (void)fetchFaviconForMostVisited:(ContentSuggestionsMostVisitedItem*)item {
   __weak ContentSuggestionsFaviconMediator* weakSelf = self;
   __weak ContentSuggestionsMostVisitedItem* weakItem = item;
@@ -116,11 +81,7 @@
 
     strongItem.attributes = attributes;
     [strongSelf logFaviconFetchedForItem:strongItem];
-    if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-      [strongSelf.consumer updateMostVisitedTileConfig:strongItem];
-    } else {
-      [strongSelf.collectionConsumer itemHasChanged:strongItem];
-    }
+    [strongSelf.consumer updateMostVisitedTileConfig:strongItem];
   };
 
   [self.mostVisitedAttributesProvider fetchFaviconAttributesForURL:item.URL
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h
index fe998d3..60e3595 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h
@@ -15,16 +15,6 @@
 // Feature to use one NTP for all tabs in a Browser.
 extern const base::Feature kSingleNtp;
 
-// Feature to use one cell for Content Suggestions
-extern const base::Feature kSingleCellContentSuggestions;
-
-// Feature to move the Content Suggestions header view into the Discover
-// ScrollView.
-extern const base::Feature kContentSuggestionsHeaderMigration;
-
-// Feature to move the Content Suggestions ViewController to a UIViewController.
-extern const base::Feature kContentSuggestionsUIViewControllerMigration;
-
 // Feature to section the Content Suggestions into modules.
 extern const base::Feature kContentSuggestionsUIModuleRefresh;
 
@@ -43,16 +33,6 @@
 // Whether the Discover feed is enabled instead of the Zine feed.
 bool IsDiscoverFeedEnabled();
 
-// Whether the single cell content suggestions feature is enabled.
-bool IsSingleCellContentSuggestionsEnabled();
-
-// Whether the Content Suggestions header migration feature is enabled.
-bool IsContentSuggestionsHeaderMigrationEnabled();
-
-// Whether the Content Suggestions UIViewController migration feature is
-// enabled.
-bool IsContentSuggestionsUIViewControllerMigrationEnabled();
-
 // Whether the Content Suggestions UI Module Refresh feature is enabled.
 bool IsContentSuggestionsUIModuleRefreshEnabled();
 
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.mm
index f3fb458..8f8f503 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.mm
@@ -18,19 +18,6 @@
 const base::Feature kSingleNtp{"SingleNTP", base::FEATURE_ENABLED_BY_DEFAULT};
 
 // Feature disabled by default.
-const base::Feature kSingleCellContentSuggestions{
-    "SingleCellContentSuggestions", base::FEATURE_ENABLED_BY_DEFAULT};
-
-// Feature disabled by default.
-const base::Feature kContentSuggestionsHeaderMigration{
-    "ContentSuggestionsHeaderMigration", base::FEATURE_ENABLED_BY_DEFAULT};
-
-// Feature disabled by default.
-const base::Feature kContentSuggestionsUIViewControllerMigration{
-    "ContentSuggestionsUIViewControllerMigration",
-    base::FEATURE_ENABLED_BY_DEFAULT};
-
-// Feature disabled by default.
 const base::Feature kContentSuggestionsUIModuleRefresh{
     "ContentSuggestionsUIModuleRefresh", base::FEATURE_DISABLED_BY_DEFAULT};
 
@@ -50,19 +37,6 @@
   return base::FeatureList::IsEnabled(kDiscoverFeedInNtp);
 }
 
-bool IsSingleCellContentSuggestionsEnabled() {
-  return base::FeatureList::IsEnabled(kSingleCellContentSuggestions);
-}
-
-bool IsContentSuggestionsHeaderMigrationEnabled() {
-  return base::FeatureList::IsEnabled(kContentSuggestionsHeaderMigration);
-}
-
-bool IsContentSuggestionsUIViewControllerMigrationEnabled() {
-  return base::FeatureList::IsEnabled(
-      kContentSuggestionsUIViewControllerMigration);
-}
-
 bool IsContentSuggestionsUIModuleRefreshEnabled() {
   return base::FeatureList::IsEnabled(kContentSuggestionsUIModuleRefresh);
 }
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_controlling.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_controlling.h
index 1dfa011..0db1294 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_controlling.h
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_controlling.h
@@ -21,10 +21,6 @@
 // ignored.
 @property(nonatomic, assign, getter=isShowing) BOOL showing;
 
-// Returns the header view containing the logo and omnibox to be displayed.
-- (UIView*)headerForWidth:(CGFloat)width
-           safeAreaInsets:(UIEdgeInsets)safeAreaInsets;
-
 // Updates the iPhone fakebox's frame based on the current scroll view `offset`
 // and `width`. `width` is the width of the screen, including the space outside
 // the safe area. The `safeAreaInsets` is relative to the view used to calculate
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_provider.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_provider.h
deleted file mode 100644
index 1952fc6e..0000000
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_provider.h
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_HEADER_PROVIDER_H_
-#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_HEADER_PROVIDER_H_
-
-// Object providing a header view for the content suggestions.
-@protocol ContentSuggestionsHeaderProvider
-
-- (nullable UIView*)headerForWidth:(CGFloat)width
-                    safeAreaInsets:(UIEdgeInsets)safeAreaInsets;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_HEADER_PROVIDER_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_synchronizer.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_synchronizer.mm
index c695ecba..34cb0c8b 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_synchronizer.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_synchronizer.mm
@@ -6,11 +6,8 @@
 
 #include "base/ios/ios_util.h"
 #import "base/mac/foundation_util.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_cell.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_cell.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_controlling.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_utils.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_controlling.h"
 #import "ios/chrome/browser/ui/util/uikit_ui_util.h"
 
@@ -271,17 +268,6 @@
 
 #pragma mark - UIGestureRecognizerDelegate
 
-- (BOOL)gestureRecognizer:(UIGestureRecognizer*)gestureRecognizer
-       shouldReceiveTouch:(UITouch*)touch {
-  BOOL isMostVisitedCell =
-      content_suggestions::nearestAncestor(
-          touch.view, [ContentSuggestionsMostVisitedCell class]) != nil;
-  BOOL isMostVisitedActionCell =
-      content_suggestions::nearestAncestor(
-          touch.view, [ContentSuggestionsMostVisitedActionCell class]) != nil;
-  return !isMostVisitedCell && !isMostVisitedActionCell;
-}
-
 - (UIView*)nearestAncestorOfView:(UIView*)view withClass:(Class)aClass {
   if (!view) {
     return nil;
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.h
index 4c11bcf..c10500a 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.h
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.h
@@ -8,7 +8,6 @@
 #import <UIKit/UIKit.h>
 
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_controlling.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_provider.h"
 #import "ios/chrome/browser/ui/content_suggestions/ntp_home_consumer.h"
 #import "ios/chrome/browser/ui/ntp/logo_animation_controller.h"
 
@@ -28,10 +27,9 @@
 // the interactions between the header and the collection, and the rest of the
 // application.
 @interface ContentSuggestionsHeaderViewController
-    : UIViewController<ContentSuggestionsHeaderControlling,
-                       ContentSuggestionsHeaderProvider,
-                       NTPHomeConsumer,
-                       LogoAnimationControllerOwnerOwner>
+    : UIViewController <ContentSuggestionsHeaderControlling,
+                        NTPHomeConsumer,
+                        LogoAnimationControllerOwnerOwner>
 
 - (instancetype)init NS_DESIGNATED_INITIALIZER;
 - (instancetype)initWithNibName:(NSString*)nibNameOrNil
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.mm
index 9ee491a..4548124 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.mm
@@ -215,14 +215,6 @@
   return AlignValueToPixel(offsetY);
 }
 
-- (void)loadView {
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    [super loadView];
-  } else {
-    self.view = [[ContentSuggestionsHeaderView alloc] init];
-  }
-}
-
 - (void)viewDidAppear:(BOOL)animated {
   [super viewDidAppear:animated];
 
@@ -240,7 +232,7 @@
 - (void)viewDidLoad {
   [super viewDidLoad];
 
-  if (IsContentSuggestionsHeaderMigrationEnabled() && !self.headerView) {
+  if (!self.headerView) {
     CGFloat width = self.view.frame.size.width;
 
     self.headerView = [[ContentSuggestionsHeaderView alloc] init];
@@ -280,56 +272,6 @@
   }
 }
 
-#pragma mark - ContentSuggestionsHeaderProvider
-
-- (UIView*)headerForWidth:(CGFloat)width
-           safeAreaInsets:(UIEdgeInsets)safeAreaInsets {
-  DCHECK(!IsContentSuggestionsHeaderMigrationEnabled());
-  if (!self.headerView) {
-    self.headerView =
-        base::mac::ObjCCastStrict<ContentSuggestionsHeaderView>(self.view);
-    [self addFakeOmnibox];
-
-    [self.headerView addSubview:self.logoVendor.view];
-    // Fake Tap View has identity disc, which should render above the doodle.
-    [self addFakeTapView];
-    [self.headerView addSubview:self.fakeOmnibox];
-    self.logoVendor.view.translatesAutoresizingMaskIntoConstraints = NO;
-    self.logoVendor.view.accessibilityIdentifier =
-        ntp_home::NTPLogoAccessibilityID();
-    self.fakeOmnibox.translatesAutoresizingMaskIntoConstraints = NO;
-
-    [self.headerView addSeparatorToSearchField:self.fakeOmnibox];
-
-    // Identity disc needs to be added after the Google logo/doodle since it
-    // needs to respond to user taps first.
-    [self addIdentityDisc];
-
-    // -headerForView is regularly called before self.headerView has been added
-    // to the view hierarchy, so there's no simple way to get the correct
-    // safeAreaInsets.  Since this situation is universally called for the full
-    // screen new tab animation, it's safe to check the rootViewController's
-    // view instead.
-    // TODO(crbug.com/791784) : Remove use of rootViewController.
-    if (self.headerView.window) {
-      safeAreaInsets =
-          self.headerView.window.rootViewController.view.safeAreaInsets;
-    }
-    width = std::max<CGFloat>(
-        0, width - safeAreaInsets.left - safeAreaInsets.right);
-
-    self.fakeOmniboxWidthConstraint = [self.fakeOmnibox.widthAnchor
-        constraintEqualToConstant:content_suggestions::searchFieldWidth(
-                                      width, self.traitCollection)];
-    [self addConstraintsForLogoView:self.logoVendor.view
-                        fakeOmnibox:self.fakeOmnibox
-                      andHeaderView:self.headerView];
-
-    [self.logoVendor fetchDoodle];
-  }
-  return self.headerView;
-}
-
 #pragma mark - Private
 
 // Initialize and add a search field tap target and a voice search button.
@@ -511,15 +453,11 @@
                       self.logoVendor.isShowingDoodle, self.traitCollection)];
   self.fakeOmnibox.hidden =
       IsRegularXRegularSizeClass(self) && !self.logoIsShowing;
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    [self.headerView layoutIfNeeded];
-    self.headerViewHeightConstraint.constant =
-        content_suggestions::heightForLogoHeader(
-            self.logoIsShowing, self.logoVendor.isShowingDoodle,
-            self.promoCanShow, YES, [self topInset], self.traitCollection);
-  } else {
-    [self.collectionSynchronizer invalidateLayout];
-  }
+  [self.headerView layoutIfNeeded];
+  self.headerViewHeightConstraint.constant =
+      content_suggestions::heightForLogoHeader(
+          self.logoIsShowing, self.logoVendor.isShowingDoodle,
+          self.promoCanShow, YES, [self topInset], self.traitCollection);
 }
 
 // If Google is not the default search engine, hides the logo, doodle and
@@ -561,11 +499,9 @@
   self.fakeOmniboxTopMarginConstraint = [logoView.bottomAnchor
       constraintEqualToAnchor:fakeOmnibox.topAnchor
                      constant:-content_suggestions::searchFieldTopMargin()];
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.headerViewHeightConstraint =
-        [headerView.heightAnchor constraintEqualToConstant:[self headerHeight]];
-    self.headerViewHeightConstraint.active = YES;
-  }
+  self.headerViewHeightConstraint =
+      [headerView.heightAnchor constraintEqualToConstant:[self headerHeight]];
+  self.headerViewHeightConstraint.active = YES;
   self.doodleTopMarginConstraint.active = YES;
   self.doodleHeightConstraint.active = YES;
   self.fakeOmniboxWidthConstraint.active = YES;
@@ -660,9 +596,7 @@
 }
 
 - (CGFloat)topInset {
-  return IsContentSuggestionsHeaderMigrationEnabled()
-             ? 0
-             : self.parentViewController.view.safeAreaInsets.top;
+  return 0;
 }
 
 #pragma mark - UIIndirectScribbleInteractionDelegate
@@ -738,12 +672,10 @@
       setConstant:content_suggestions::doodleHeight(self.logoVendor.showingLogo,
                                                     doodleShowing,
                                                     self.traitCollection)];
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.headerViewHeightConstraint.constant =
-        content_suggestions::heightForLogoHeader(
-            self.logoIsShowing, self.logoVendor.isShowingDoodle,
-            self.promoCanShow, YES, [self topInset], self.traitCollection);
-  }
+  self.headerViewHeightConstraint.constant =
+      content_suggestions::heightForLogoHeader(
+          self.logoIsShowing, self.logoVendor.isShowingDoodle,
+          self.promoCanShow, YES, [self topInset], self.traitCollection);
   [self.commandHandler updateForHeaderSizeChange];
 }
 
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.h
deleted file mode 100644
index 7ccb1fe..0000000
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_LAYOUT_H_
-#define IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_LAYOUT_H_
-
-#import <MaterialComponents/MDCCollectionViewFlowLayout.h>
-
-@protocol NewTabPageOmniboxPositioning;
-
-// Layout used for ContentSuggestions. It makes sure the collection is high
-// enough to be scrolled up to the point the fake omnibox is hidden. For size
-// classes other than RegularXRegular, this layout makes sure the fake omnibox
-// is pinned to the top of the collection.
-@interface ContentSuggestionsLayout : MDCCollectionViewFlowLayout
-
-// The parent collection view that contains the content suggestions collection
-// view.
-@property(nonatomic, weak) UICollectionView* parentCollectionView;
-
-// Provides information relating to the fake omnibox size.
-@property(nonatomic, weak) id<NewTabPageOmniboxPositioning> omniboxPositioner;
-
-// Whether or not the user has scrolled into the feed, transferring ownership of
-// the omnibox to allow it to stick to the top of the NTP.
-@property(nonatomic, assign) BOOL isScrolledIntoFeed;
-
-// Minimum height of the NTP scroll view to allow for scrolling to omnibox.
-- (CGFloat)minimumNTPHeight;
-
-@end
-
-#endif  // IOS_CHROME_BROWSER_UI_CONTENT_SUGGESTIONS_CONTENT_SUGGESTIONS_LAYOUT_H_
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.mm
deleted file mode 100644
index f726232..0000000
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.mm
+++ /dev/null
@@ -1,195 +0,0 @@
-// Copyright 2017 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.h"
-
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_utils.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h"
-#import "ios/chrome/browser/ui/ntp/new_tab_page_header_constants.h"
-#import "ios/chrome/browser/ui/ntp/new_tab_page_omnibox_positioning.h"
-#import "ios/chrome/browser/ui/toolbar/public/toolbar_utils.h"
-#import "ios/chrome/browser/ui/util/ui_util.h"
-#import "ios/chrome/browser/ui/util/uikit_ui_util.h"
-
-#if !defined(__has_feature) || !__has_feature(objc_arc)
-#error "This file requires ARC support."
-#endif
-
-@implementation ContentSuggestionsLayout
-
-- (CGFloat)minimumNTPHeight {
-  CGFloat collectionViewHeight = self.parentCollectionView.bounds.size.height;
-  CGFloat headerHeight = [self firstHeaderHeight];
-
-  // The minimum height for the collection view content should be the height of
-  // the header plus the height of the collection view minus the height of the
-  // NTP bottom bar. This allows the Most Visited cells to be scrolled up to the
-  // top of the screen. Also computes the total NTP scrolling height for
-  // Discover infinite feed.
-  CGFloat ntpHeight = collectionViewHeight + headerHeight;
-  CGFloat minimumHeight =
-      ntpHeight - ntp_header::kScrolledToTopOmniboxBottomMargin;
-  if (!IsRegularXRegularSizeClass(self.collectionView)) {
-    CGFloat toolbarHeight =
-        IsSplitToolbarMode(self.collectionView)
-            ? ToolbarExpandedHeight([UIApplication sharedApplication]
-                                        .preferredContentSizeCategory)
-            : 0;
-    CGFloat additionalHeight =
-        toolbarHeight + self.collectionView.contentInset.bottom;
-    minimumHeight -= additionalHeight;
-  }
-
-  return minimumHeight;
-}
-
-- (NSArray*)layoutAttributesForElementsInRect:(CGRect)rect {
-  if (IsRegularXRegularSizeClass(self.collectionView) ||
-      IsContentSuggestionsHeaderMigrationEnabled())
-    return [super layoutAttributesForElementsInRect:rect];
-
-  NSMutableArray* layoutAttributes =
-      [[super layoutAttributesForElementsInRect:rect] mutableCopy];
-  UICollectionViewLayoutAttributes* fixedHeaderAttributes = nil;
-  NSIndexPath* fixedHeaderIndexPath =
-      [NSIndexPath indexPathForItem:0 inSection:0];
-
-  for (UICollectionViewLayoutAttributes* attributes in layoutAttributes) {
-    if ([attributes.representedElementKind
-            isEqualToString:UICollectionElementKindSectionHeader] &&
-        attributes.indexPath.section == fixedHeaderIndexPath.section) {
-      fixedHeaderAttributes = [self
-          layoutAttributesForSupplementaryViewOfKind:
-              UICollectionElementKindSectionHeader
-                                         atIndexPath:fixedHeaderIndexPath];
-      attributes.zIndex = fixedHeaderAttributes.zIndex;
-      attributes.frame = fixedHeaderAttributes.frame;
-    }
-  }
-
-  // The fixed header's attributes are not updated if the header's default frame
-  // is far enough away from `rect`, which can occur when the NTP is scrolled
-  // up.
-  if (!fixedHeaderAttributes) {
-    UICollectionViewLayoutAttributes* fixedHeaderAttributes =
-        [self layoutAttributesForSupplementaryViewOfKind:
-                  UICollectionElementKindSectionHeader
-                                             atIndexPath:fixedHeaderIndexPath];
-    [layoutAttributes addObject:fixedHeaderAttributes];
-  }
-
-  return layoutAttributes;
-}
-
-- (UICollectionViewLayoutAttributes*)
-layoutAttributesForSupplementaryViewOfKind:(NSString*)kind
-                               atIndexPath:(NSIndexPath*)indexPath {
-  UICollectionViewLayoutAttributes* attributes =
-      [super layoutAttributesForSupplementaryViewOfKind:kind
-                                            atIndexPath:indexPath];
-  if (!IsSplitToolbarMode(self.collectionView) ||
-      IsContentSuggestionsHeaderMigrationEnabled())
-    return attributes;
-
-  if ([kind isEqualToString:UICollectionElementKindSectionHeader] &&
-      indexPath.section == 0) {
-    CGFloat contentOffset = self.parentCollectionView.contentOffset.y +
-                            self.collectionView.contentSize.height;
-
-    CGFloat headerHeight = CGRectGetHeight(attributes.frame);
-    CGPoint origin = attributes.frame.origin;
-
-    // Keep the header in front of all other views.
-    attributes.zIndex = NSIntegerMax;
-
-    // TODO(crbug.com/1114792): Remove this and only use omniboxPositioner after
-    // refactoring is complete.
-    CGFloat minY =
-        headerHeight - ntp_header::kFakeOmniboxScrolledToTopMargin -
-        ToolbarExpandedHeight(
-            [UIApplication sharedApplication].preferredContentSizeCategory) -
-        self.collectionView.safeAreaInsets.top;
-
-    minY = [self.omniboxPositioner stickyOmniboxHeight];
-    // TODO(crbug.com/1114792): Remove mentioned of "refactored" from the
-    // variable name once this launches.
-    BOOL hasScrolledIntoRefactoredDiscoverFeed = self.isScrolledIntoFeed;
-    if (contentOffset > minY && !hasScrolledIntoRefactoredDiscoverFeed) {
-      origin.y = contentOffset - minY;
-    }
-    attributes.frame = {origin, attributes.frame.size};
-  }
-  return attributes;
-}
-
-- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBound {
-  if (IsRegularXRegularSizeClass(self.collectionView))
-    return [super shouldInvalidateLayoutForBoundsChange:newBound];
-  return YES;
-}
-
-#pragma mark - MDCCollectionViewFlowLayout overrides
-// This section contains overrides of methods to avoid ugly effects during
-// rotation due to the default behavior of the MDCCollectionViewFlowLayout. See
-// http://crbug.com/949659 .
-
-- (UICollectionViewLayoutAttributes*)
-    initialLayoutAttributesForAppearingItemAtIndexPath:
-        (NSIndexPath*)itemIndexPath {
-  UICollectionViewLayoutAttributes* attribute =
-      [super initialLayoutAttributesForAppearingItemAtIndexPath:itemIndexPath];
-  attribute.alpha = 0;
-  return attribute;
-}
-
-- (UICollectionViewLayoutAttributes*)
-    initialLayoutAttributesForAppearingSupplementaryElementOfKind:
-        (NSString*)elementKind
-                                                      atIndexPath:
-                                                          (NSIndexPath*)
-                                                              elementIndexPath {
-  UICollectionViewLayoutAttributes* attribute = [super
-      initialLayoutAttributesForAppearingSupplementaryElementOfKind:elementKind
-                                                        atIndexPath:
-                                                            elementIndexPath];
-  attribute.alpha = 0;
-  return attribute;
-}
-
-- (UICollectionViewLayoutAttributes*)
-    finalLayoutAttributesForDisappearingItemAtIndexPath:
-        (NSIndexPath*)itemIndexPath {
-  UICollectionViewLayoutAttributes* attribute =
-      [super finalLayoutAttributesForDisappearingItemAtIndexPath:itemIndexPath];
-  attribute.alpha = 0;
-  return attribute;
-}
-
-- (UICollectionViewLayoutAttributes*)
-    finalLayoutAttributesForDisappearingSupplementaryElementOfKind:
-        (NSString*)elementKind
-                                                       atIndexPath:
-                                                           (NSIndexPath*)
-                                                               indexPath {
-  UICollectionViewLayoutAttributes* attribute = [super
-      finalLayoutAttributesForDisappearingSupplementaryElementOfKind:elementKind
-                                                         atIndexPath:indexPath];
-  attribute.alpha = 0;
-  return attribute;
-}
-
-#pragma mark - Private.
-
-// Returns the height of the header of the first section.
-- (CGFloat)firstHeaderHeight {
-  id<UICollectionViewDelegateFlowLayout> delegate =
-      static_cast<id<UICollectionViewDelegateFlowLayout>>(
-          self.collectionView.delegate);
-  return [delegate collectionView:self.collectionView
-                                      layout:self
-             referenceSizeForHeaderInSection:0]
-      .height;
-}
-
-@end
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.h b/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.h
index dc571ce9..9359d77 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.h
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.h
@@ -11,7 +11,6 @@
 
 #include "components/prefs/pref_service.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_gesture_commands.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_consumer.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_commands.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_consumer.h"
 #import "ios/chrome/browser/ui/content_suggestions/start_suggest_service_response_bridge.h"
@@ -32,7 +31,6 @@
 @protocol ApplicationCommands;
 class Browser;
 @protocol BrowserCoordinatorCommands;
-@protocol ContentSuggestionsCollectionConsumer;
 @protocol FeedDelegate;
 class GURL;
 class LargeIconCache;
@@ -78,8 +76,6 @@
 @property(nonatomic, weak) id<FeedDelegate> feedDelegate;
 
 // The consumer that will be notified when the data change.
-@property(nonatomic, weak) id<ContentSuggestionsCollectionConsumer>
-    collectionConsumer;
 @property(nonatomic, weak) id<ContentSuggestionsConsumer> consumer;
 
 // YES if the Start Surface is being shown.
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.mm
index b077fadd..4da3721 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.mm
@@ -40,7 +40,6 @@
 #import "ios/chrome/browser/ui/commands/snackbar_commands.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_tile_constants.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_whats_new_item.h"
@@ -131,17 +130,12 @@
 // Item for the "Return to Recent Tab" tile.
 @property(nonatomic, strong)
     ContentSuggestionsReturnToRecentTabItem* returnToRecentTabItem;
-// Parent Item for single cell layout.
-@property(nonatomic, strong) ContentSuggestionsParentItem* parentItem;
 // Section Info for the What's New promo section.
 @property(nonatomic, strong)
     ContentSuggestionsSectionInformation* promoSectionInfo;
 // Section Info for the Most Visited section.
 @property(nonatomic, strong)
     ContentSuggestionsSectionInformation* mostVisitedSectionInfo;
-// Section Info for the single cell parent item section.
-@property(nonatomic, strong)
-    ContentSuggestionsSectionInformation* singleCellSectionInfo;
 // Whether the page impression has been recorded.
 @property(nonatomic, assign) BOOL recordedPageImpression;
 // Map the section information created to the relevant category.
@@ -203,12 +197,8 @@
                   largeIconCache:largeIconCache];
 
     _logoSectionInfo = LogoSectionInformation();
-    if (IsSingleCellContentSuggestionsEnabled()) {
-      _singleCellSectionInfo = SingleCellSectionInformation();
-    } else {
-      _promoSectionInfo = PromoSectionInformation();
-      _mostVisitedSectionInfo = MostVisitedSectionInformation();
-    }
+    _promoSectionInfo = PromoSectionInformation();
+    _mostVisitedSectionInfo = MostVisitedSectionInformation();
 
     _notificationPromo = std::make_unique<NotificationPromoWhatsNew>(
         GetApplicationContext()->GetLocalState());
@@ -253,40 +243,29 @@
 }
 
 - (void)reloadAllData {
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    if (!self.consumer) {
-      return;
-    }
-    if (_notificationPromo->CanShow()) {
-      ContentSuggestionsWhatsNewItem* item =
-          [[ContentSuggestionsWhatsNewItem alloc] initWithType:0];
-      item.icon = _notificationPromo->GetIcon();
-      item.text = base::SysUTF8ToNSString(_notificationPromo->promo_text());
-      [self.consumer showWhatsNewViewWithConfig:item];
-    }
-    if (self.returnToRecentTabItem) {
-      [self.consumer
-          showReturnToRecentTabTileWithConfig:self.returnToRecentTabItem];
-    }
-    if ([self.mostVisitedItems count]) {
-      [self.consumer setMostVisitedTilesWithConfigs:self.mostVisitedItems];
-    }
-    if (!ShouldHideShortcutsForTrendingQueries()) {
-      [self.consumer setShortcutTilesWithConfigs:self.actionButtonItems];
-    }
-    if (IsTrendingQueriesModuleEnabled()) {
-      [self fetchTrendingQueriesIfApplicable];
-    }
+  if (!self.consumer) {
     return;
   }
-  NSArray<ContentSuggestionsSectionInformation*>* sections =
-      [self sectionsInfo];
-  NSMutableDictionary<NSNumber*, NSArray*>* items =
-      [[NSMutableDictionary alloc] init];
-  for (ContentSuggestionsSectionInformation* section in sections) {
-    items[@(section.sectionID)] = [self itemsForSectionInfo:section];
+  if (_notificationPromo->CanShow()) {
+    ContentSuggestionsWhatsNewItem* item =
+        [[ContentSuggestionsWhatsNewItem alloc] init];
+    item.icon = _notificationPromo->GetIcon();
+    item.text = base::SysUTF8ToNSString(_notificationPromo->promo_text());
+    [self.consumer showWhatsNewViewWithConfig:item];
   }
-  [self.collectionConsumer reloadDataWithSections:sections andItems:items];
+  if (self.returnToRecentTabItem) {
+    [self.consumer
+        showReturnToRecentTabTileWithConfig:self.returnToRecentTabItem];
+  }
+  if ([self.mostVisitedItems count]) {
+    [self.consumer setMostVisitedTilesWithConfigs:self.mostVisitedItems];
+  }
+  if (!ShouldHideShortcutsForTrendingQueries()) {
+    [self.consumer setShortcutTilesWithConfigs:self.actionButtonItems];
+  }
+  if (IsTrendingQueriesModuleEnabled()) {
+    [self fetchTrendingQueriesIfApplicable];
+  }
 }
 
 - (void)blockMostVisitedURL:(GURL)URL {
@@ -303,13 +282,6 @@
   return _notificationPromo.get();
 }
 
-- (void)setCollectionConsumer:
-    (id<ContentSuggestionsCollectionConsumer>)collectionConsumer {
-  _collectionConsumer = collectionConsumer;
-  self.faviconMediator.collectionConsumer = collectionConsumer;
-  [self reloadAllData];
-}
-
 - (void)setConsumer:(id<ContentSuggestionsConsumer>)consumer {
   _consumer = consumer;
   self.faviconMediator.consumer = consumer;
@@ -336,7 +308,7 @@
   self.returnToRecentTabSectionInfo = ReturnToRecentTabSectionInformation();
   if (!self.returnToRecentTabItem) {
     self.returnToRecentTabItem =
-        [[ContentSuggestionsReturnToRecentTabItem alloc] initWithType:0];
+        [[ContentSuggestionsReturnToRecentTabItem alloc] init];
   }
 
   // Retrieve favicon associated with the page.
@@ -359,18 +331,8 @@
                                                           webState->GetTitle())
                                            timeString:timeLabel];
   self.showMostRecentTabStartSurfaceTile = YES;
-  NSArray<CSCollectionViewItem*>* items =
-      [self itemsForSectionInfo:self.returnToRecentTabSectionInfo];
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    [self.consumer
-        showReturnToRecentTabTileWithConfig:self.returnToRecentTabItem];
-  } else {
-    [self.collectionConsumer addSection:self.returnToRecentTabSectionInfo
-                              withItems:items
-                             completion:^{
-                               [self.feedDelegate returnToRecentTabWasAdded];
-                             }];
-  }
+  [self.consumer
+      showReturnToRecentTabTileWithConfig:self.returnToRecentTabItem];
 }
 
 - (void)hideRecentTabTile {
@@ -378,33 +340,18 @@
   if (self.showMostRecentTabStartSurfaceTile) {
     self.showMostRecentTabStartSurfaceTile = NO;
     self.returnToRecentTabItem = nil;
-    if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-      [self.consumer hideReturnToRecentTabTile];
-    } else {
-      if (IsSingleCellContentSuggestionsEnabled()) {
-        [self reloadAllData];
-      } else {
-        [self.collectionConsumer
-            clearSection:self.returnToRecentTabSectionInfo];
-      }
-    }
+    [self.consumer hideReturnToRecentTabTile];
   }
 }
 
 - (void)hidePromo {
   self.shouldHidePromoAfterTap = YES;
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    [self.consumer hideWhatsNewView];
-  } else {
-    // By reloading data, checking `notificationPromo` will remove the promo
-    // view.
-    [self reloadAllData];
-  }
+  [self.consumer hideWhatsNewView];
 }
 
 #pragma mark - ContentSuggestionsCommands
 
-- (void)openMostVisitedItem:(CollectionViewItem*)item
+- (void)openMostVisitedItem:(NSObject*)item
                     atIndex:(NSInteger)mostVisitedIndex {
   NewTabPageTabHelper* NTPHelper =
       NewTabPageTabHelper::FromWebState(self.webState);
@@ -458,9 +405,6 @@
   DCHECK(notificationPromo);
   notificationPromo->HandleClosed();
   [self.NTPMetrics recordAction:new_tab_page_uma::ACTION_OPENED_PROMO];
-  if (IsSingleCellContentSuggestionsEnabled()) {
-    [self hidePromo];
-  }
 
   if (notificationPromo->IsURLPromo()) {
     UrlLoadParams params = UrlLoadParams::InNewTab(notificationPromo->url());
@@ -588,17 +532,8 @@
 - (void)mostRecentTabFaviconUpdatedWithImage:(UIImage*)image {
   if (self.returnToRecentTabItem) {
     self.returnToRecentTabItem.icon = image;
-    if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-      [self.consumer
-          updateReturnToRecentTabTileWithConfig:self.returnToRecentTabItem];
-    } else {
-      if (IsSingleCellContentSuggestionsEnabled()) {
-        self.parentItem.returnToRecentItem = self.returnToRecentTabItem;
-        [self.collectionConsumer itemHasChanged:self.parentItem];
-      } else {
-        [self.collectionConsumer itemHasChanged:self.returnToRecentTabItem];
-      }
-    }
+    [self.consumer
+        updateReturnToRecentTabTileWithConfig:self.returnToRecentTabItem];
   }
 }
 
@@ -634,13 +569,7 @@
     item.index = index;
     DCHECK(index < kShortcutMinimumIndex);
     index++;
-    if (!IsSingleCellContentSuggestionsEnabled() ||
-        IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-      [self.faviconMediator fetchFaviconForMostVisited:item];
-    } else {
-      [self.faviconMediator fetchFaviconForMostVisited:item
-                                            parentItem:self.parentItem];
-    }
+    [self.faviconMediator fetchFaviconForMostVisited:item];
     [self.freshMostVisitedItems addObject:item];
   }
 
@@ -661,13 +590,7 @@
 
   for (ContentSuggestionsMostVisitedItem* item in self.mostVisitedItems) {
     if (item.URL == siteURL) {
-      if (!IsSingleCellContentSuggestionsEnabled() ||
-          IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-        [self.faviconMediator fetchFaviconForMostVisited:item];
-      } else {
-        [self.faviconMediator fetchFaviconForMostVisited:item
-                                              parentItem:self.parentItem];
-      }
+      [self.faviconMediator fetchFaviconForMostVisited:item];
       return;
     }
   }
@@ -686,95 +609,11 @@
 // Replaces the Most Visited items currently displayed by the most recent ones.
 - (void)useFreshMostVisited {
   self.mostVisitedItems = self.freshMostVisitedItems;
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    [self.consumer setMostVisitedTilesWithConfigs:self.mostVisitedItems];
-  } else {
-    // All data needs to be reloaded in order to force a re-layout, this is
-    // cheaper since the Feed is not part of this ViewController when Discover
-    // is enabled.
-    [self reloadAllData];
-  }
+  [self.consumer setMostVisitedTilesWithConfigs:self.mostVisitedItems];
 
   [self.feedDelegate contentSuggestionsWasUpdated];
 }
 
-- (NSArray<ContentSuggestionsSectionInformation*>*)sectionsInfo {
-  NSMutableArray<ContentSuggestionsSectionInformation*>* sectionsInfo =
-      [NSMutableArray array];
-
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    [sectionsInfo addObject:self.logoSectionInfo];
-  }
-
-  if (IsSingleCellContentSuggestionsEnabled()) {
-    [sectionsInfo addObject:self.singleCellSectionInfo];
-  } else {
-    if (self.showMostRecentTabStartSurfaceTile) {
-      DCHECK(IsStartSurfaceEnabled());
-      [sectionsInfo addObject:self.returnToRecentTabSectionInfo];
-    }
-
-    if (_notificationPromo->CanShow()) {
-      [sectionsInfo addObject:self.promoSectionInfo];
-    }
-
-    [sectionsInfo addObject:self.mostVisitedSectionInfo];
-  }
-
-  return sectionsInfo;
-}
-
-- (NSArray<CSCollectionViewItem*>*)itemsForSectionInfo:
-    (ContentSuggestionsSectionInformation*)sectionInfo {
-  NSMutableArray<CSCollectionViewItem*>* convertedSuggestions =
-      [NSMutableArray array];
-
-  if (sectionInfo == self.logoSectionInfo) {
-    // Section empty on purpose.
-  } else if (sectionInfo == self.promoSectionInfo) {
-    if (_notificationPromo->CanShow()) {
-      ContentSuggestionsWhatsNewItem* item =
-          [[ContentSuggestionsWhatsNewItem alloc] initWithType:0];
-      item.icon = _notificationPromo->GetIcon();
-      item.text = base::SysUTF8ToNSString(_notificationPromo->promo_text());
-      [convertedSuggestions addObject:item];
-    }
-  } else if (sectionInfo == self.returnToRecentTabSectionInfo) {
-    DCHECK(IsStartSurfaceEnabled());
-    [convertedSuggestions addObject:self.returnToRecentTabItem];
-  } else if (sectionInfo == self.mostVisitedSectionInfo) {
-    [convertedSuggestions addObjectsFromArray:self.mostVisitedItems];
-    if (!ShouldHideShortcutsForStartSurface()) {
-      [convertedSuggestions addObjectsFromArray:self.actionButtonItems];
-    }
-  } else if (sectionInfo == self.singleCellSectionInfo) {
-    if (!self.parentItem) {
-      self.parentItem = [[ContentSuggestionsParentItem alloc] initWithType:0];
-    }
-    if (_notificationPromo->CanShow() && !self.shouldHidePromoAfterTap) {
-      ContentSuggestionsWhatsNewItem* item =
-          [[ContentSuggestionsWhatsNewItem alloc] initWithType:0];
-      item.icon = _notificationPromo->GetIcon();
-      item.text = base::SysUTF8ToNSString(_notificationPromo->promo_text());
-      self.parentItem.whatsNewItem = item;
-    } else {
-      self.parentItem.whatsNewItem = nil;
-    }
-    if (self.showMostRecentTabStartSurfaceTile) {
-      self.parentItem.returnToRecentItem = self.returnToRecentTabItem;
-    } else {
-      self.parentItem.returnToRecentItem = nil;
-    }
-    self.parentItem.mostVisitedItems = self.mostVisitedItems;
-    if (!ShouldHideShortcutsForStartSurface()) {
-      self.parentItem.shortcutsItems = self.actionButtonItems;
-    }
-    [convertedSuggestions addObject:self.parentItem];
-  }
-
-  return convertedSuggestions;
-}
-
 // Opens the `URL` in a new tab `incognito` or not. `originPoint` is the origin
 // of the new tab animation if the tab is opened in background, in window
 // coordinates.
@@ -913,11 +752,7 @@
   self.readingListUnreadCount = model->unread_size();
   if (self.readingListItem) {
     self.readingListItem.count = self.readingListUnreadCount;
-    if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-      [self.consumer updateReadingListCount:self.readingListUnreadCount];
-    } else {
-      [self.collectionConsumer itemHasChanged:self.readingListItem];
-    }
+    [self.consumer updateReadingListCount:self.readingListUnreadCount];
   }
 }
 
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator_unittest.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator_unittest.mm
index 4f279ea..16493728 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator_unittest.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator_unittest.mm
@@ -68,12 +68,6 @@
 class ContentSuggestionsMediatorTest : public PlatformTest {
  public:
   ContentSuggestionsMediatorTest() {
-    base::test::ScopedFeatureList scoped_feature_list;
-    scoped_feature_list.InitWithFeatures(
-        {kSingleCellContentSuggestions, kContentSuggestionsHeaderMigration,
-         kContentSuggestionsUIViewControllerMigration},
-        {});
-
     TestChromeBrowserState::Builder test_cbs_builder;
     test_cbs_builder.AddTestingFactory(
         IOSChromeLargeIconServiceFactory::GetInstance(),
@@ -186,7 +180,7 @@
 TEST_F(ContentSuggestionsMediatorTest, TestOpenMostVisited) {
   GURL url = GURL("http://chromium.org");
   ContentSuggestionsMostVisitedItem* item =
-      [[ContentSuggestionsMostVisitedItem alloc] initWithType:0];
+      [[ContentSuggestionsMostVisitedItem alloc] init];
   item.URL = url;
   histogram_tester_->ExpectUniqueSample(
       "IOS.ContentSuggestions.ActionOnNTP",
diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.mm
index 8c74b40c..0f3f7877 100644
--- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.mm
+++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.mm
@@ -13,7 +13,6 @@
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_action_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_tile_view.h"
-#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_parent_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_view.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_selection_actions.h"
@@ -89,6 +88,9 @@
 // The Return To Recent Tab view.
 @property(nonatomic, strong)
     ContentSuggestionsReturnToRecentTabView* returnToRecentTabTile;
+// Module container of |returnToRecentTabTile|.
+@property(nonatomic, strong)
+    ContentSuggestionsModuleContainer* returnToRecentTabContainer;
 // The WhatsNew view.
 @property(nonatomic, strong) ContentSuggestionsWhatsNewView* whatsNewView;
 // StackView holding all of `mostVisitedViews`.
@@ -116,6 +118,9 @@
 @property(nonatomic, strong)
     ContentSuggestionsModuleContainer* trendingQueriesModuleContainer;
 @property(nonatomic, strong) UIView* trendingQueriesContainingView;
+// Width Anchor of the Trending Queries module container.
+@property(nonatomic, strong)
+    NSLayoutConstraint* trendingQueriesContainerWidthAnchor;
 // List of all of the Trending Query views.
 @property(nonatomic, strong)
     NSMutableArray<QuerySuggestionView*>* trendingQueryViews;
@@ -178,13 +183,13 @@
   if (self.returnToRecentTabTile) {
     UIView* parentView = self.returnToRecentTabTile;
     if (IsContentSuggestionsUIModuleRefreshEnabled()) {
-      ContentSuggestionsModuleContainer* returnToRecentTabContainer =
-          [[ContentSuggestionsModuleContainer alloc]
-              initWithContentView:self.returnToRecentTabTile
-                       moduleType:
-                           ContentSuggestionsModuleTypeReturnToRecentTab];
-      parentView = returnToRecentTabContainer;
-      [self.verticalStackView addArrangedSubview:returnToRecentTabContainer];
+      self.returnToRecentTabContainer = [[ContentSuggestionsModuleContainer
+          alloc]
+          initWithContentView:self.returnToRecentTabTile
+                   moduleType:ContentSuggestionsModuleTypeReturnToRecentTab];
+      parentView = self.returnToRecentTabContainer;
+      [self.verticalStackView
+          addArrangedSubview:self.returnToRecentTabContainer];
     } else {
       [self addUIElement:self.returnToRecentTabTile
           withCustomBottomSpacing:content_suggestions::
@@ -283,10 +288,13 @@
     }
     [self.verticalStackView
         addArrangedSubview:self.trendingQueriesModuleContainer];
+    self.trendingQueriesContainerWidthAnchor =
+        [self.trendingQueriesModuleContainer.widthAnchor
+            constraintEqualToConstant:
+                GetModuleWidthForHorizontalTraitCollection(
+                    self.traitCollection)];
     [NSLayoutConstraint activateConstraints:@[
-      [self.trendingQueriesModuleContainer.widthAnchor
-          constraintEqualToConstant:GetModuleWidthForHorizontalTraitCollection(
-                                        self.traitCollection)],
+      self.trendingQueriesContainerWidthAnchor,
       [self.trendingQueriesModuleContainer.heightAnchor
           constraintEqualToConstant:[self.trendingQueriesModuleContainer
                                             calculateIntrinsicHeight]]
@@ -377,6 +385,10 @@
         GetModuleWidthForHorizontalTraitCollection(self.traitCollection);
     self.mostVisitedContainerWidthAnchor.constant =
         GetModuleWidthForHorizontalTraitCollection(self.traitCollection);
+    if (IsTrendingQueriesModuleEnabled()) {
+      self.trendingQueriesContainerWidthAnchor.constant =
+          GetModuleWidthForHorizontalTraitCollection(self.traitCollection);
+    }
   }
 }
 
@@ -384,6 +396,12 @@
 
 - (void)showReturnToRecentTabTileWithConfig:
     (ContentSuggestionsReturnToRecentTabItem*)config {
+  if (self.returnToRecentTabTile &&
+      IsContentSuggestionsUIModuleRefreshEnabled()) {
+    [self.returnToRecentTabTile removeFromSuperview];
+    [self.returnToRecentTabContainer removeFromSuperview];
+  }
+
   self.returnToRecentTabTile = [[ContentSuggestionsReturnToRecentTabView alloc]
       initWithConfiguration:config];
   self.returnToRecentTabTapRecognizer = [[UITapGestureRecognizer alloc]
@@ -397,14 +415,14 @@
   if ([[self.verticalStackView arrangedSubviews] count]) {
     UIView* parentView = self.returnToRecentTabTile;
     if (IsContentSuggestionsUIModuleRefreshEnabled()) {
-      ContentSuggestionsModuleContainer* returnToRecentTabContainer =
-          [[ContentSuggestionsModuleContainer alloc]
-              initWithContentView:self.returnToRecentTabTile
-                       moduleType:
-                           ContentSuggestionsModuleTypeReturnToRecentTab];
-      parentView = returnToRecentTabContainer;
-      [self.verticalStackView insertArrangedSubview:returnToRecentTabContainer
-                                            atIndex:0];
+      self.returnToRecentTabContainer = [[ContentSuggestionsModuleContainer
+          alloc]
+          initWithContentView:self.returnToRecentTabTile
+                   moduleType:ContentSuggestionsModuleTypeReturnToRecentTab];
+      parentView = self.returnToRecentTabContainer;
+      [self.verticalStackView
+          insertArrangedSubview:self.returnToRecentTabContainer
+                        atIndex:0];
     } else {
       [self.verticalStackView insertArrangedSubview:self.returnToRecentTabTile
                                             atIndex:0];
@@ -436,12 +454,11 @@
 }
 
 - (void)hideReturnToRecentTabTile {
-  UIView* moduleView = [self.returnToRecentTabTile superview];
   [self.returnToRecentTabTile removeFromSuperview];
   self.returnToRecentTabTile = nil;
   if (IsContentSuggestionsUIModuleRefreshEnabled()) {
     // Remove module container.
-    [moduleView removeFromSuperview];
+    [self.returnToRecentTabContainer removeFromSuperview];
   }
 }
 
diff --git a/ios/chrome/browser/ui/content_suggestions/mediator_util.mm b/ios/chrome/browser/ui/content_suggestions/mediator_util.mm
index 211c23bb..5404039 100644
--- a/ios/chrome/browser/ui/content_suggestions/mediator_util.mm
+++ b/ios/chrome/browser/ui/content_suggestions/mediator_util.mm
@@ -66,7 +66,7 @@
     const ntp_tiles::NTPTile& tile,
     ContentSuggestionsSectionInformation* sectionInfo) {
   ContentSuggestionsMostVisitedItem* suggestion =
-      [[ContentSuggestionsMostVisitedItem alloc] initWithType:0];
+      [[ContentSuggestionsMostVisitedItem alloc] init];
 
   suggestion.title = base::SysUTF16ToNSString(tile.title);
   suggestion.URL = tile.url;
@@ -74,10 +74,6 @@
   suggestion.titleSource = tile.title_source;
   suggestion.accessibilityTraits = UIAccessibilityTraitButton;
 
-  suggestion.suggestionIdentifier = [[ContentSuggestionIdentifier alloc] init];
-  suggestion.suggestionIdentifier.IDInSection = tile.url.spec();
-  suggestion.suggestionIdentifier.sectionInfo = sectionInfo;
-
   return suggestion;
 }
 
diff --git a/ios/chrome/browser/ui/content_suggestions/ntp_home_egtest.mm b/ios/chrome/browser/ui/content_suggestions/ntp_home_egtest.mm
index 3ddcf9d..41ed132 100644
--- a/ios/chrome/browser/ui/content_suggestions/ntp_home_egtest.mm
+++ b/ios/chrome/browser/ui/content_suggestions/ntp_home_egtest.mm
@@ -137,10 +137,6 @@
   config.additional_args.push_back(std::string("--") +
                                    switches::kEnableDiscoverFeed);
   config.features_enabled.push_back(kDiscoverFeedInNtp);
-  config.features_enabled.push_back(kSingleCellContentSuggestions);
-  config.features_enabled.push_back(kContentSuggestionsHeaderMigration);
-  config.features_enabled.push_back(
-      kContentSuggestionsUIViewControllerMigration);
   return config;
 }
 
diff --git a/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.h b/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.h
index e836077..3b938b5 100644
--- a/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.h
+++ b/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.h
@@ -23,7 +23,6 @@
 @protocol ContentSuggestionsCollectionControlling;
 @class ContentSuggestionsHeaderSynchronizer;
 @class ContentSuggestionsMediator;
-@class ContentSuggestionsCollectionViewController;
 @protocol FeedControlDelegate;
 @class FeedMetricsRecorder;
 class GURL;
@@ -57,12 +56,6 @@
 @property(nonatomic, strong) NTPHomeMetrics* NTPMetrics;
 // Recorder for the metrics related to the feed.
 @property(nonatomic, strong) FeedMetricsRecorder* feedMetricsRecorder;
-// View Controller for the NTP if using the non refactored NTP or the Feed is
-// not visible.
-// TODO(crbug.com/1114792): Create a protocol to avoid duplication and update
-// comment.
-@property(nonatomic, weak)
-    ContentSuggestionsCollectionViewController* suggestionsViewController;
 // View Controller forthe NTP if using the refactored NTP and the Feed is
 // visible.
 // TODO(crbug.com/1114792): Create a protocol to avoid duplication and update
diff --git a/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.mm b/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.mm
index ba32fd2e..4c32aeb 100644
--- a/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.mm
+++ b/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator.mm
@@ -25,9 +25,9 @@
 #import "ios/chrome/browser/signin/authentication_service.h"
 #import "ios/chrome/browser/signin/chrome_account_manager_service.h"
 #import "ios/chrome/browser/signin/chrome_account_manager_service_observer_bridge.h"
+#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_cells_constants.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_return_to_recent_tab_item.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_utils.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_synchronizer.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_mediator.h"
@@ -203,7 +203,7 @@
     // Return to Recent tab tile is only shown one time, so subtract it's
     // vertical space to preserve relative scroll position from top.
     CGFloat tileSectionHeight =
-        [ContentSuggestionsReturnToRecentTabCell defaultSize].height +
+        kReturnToRecentTabSize.height +
         content_suggestions::kReturnToRecentTabSectionBottomMargin;
     if (scrollPosition >
         tileSectionHeight +
diff --git a/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator_unittest.mm b/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator_unittest.mm
index f026b33..79376e5d 100644
--- a/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator_unittest.mm
+++ b/ios/chrome/browser/ui/content_suggestions/ntp_home_mediator_unittest.mm
@@ -20,7 +20,6 @@
 #import "ios/chrome/browser/ui/collection_view/collection_view_controller.h"
 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h"
 #import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_most_visited_item.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_view_controller.h"
 #import "ios/chrome/browser/ui/content_suggestions/ntp_home_consumer.h"
 #import "ios/chrome/browser/ui/ntp/logo_vendor.h"
 #import "ios/chrome/browser/ui/toolbar/test/toolbar_test_navigation_manager.h"
@@ -61,8 +60,6 @@
     navigation_manager_ = navigation_manager.get();
     fake_web_state_ = std::make_unique<web::FakeWebState>();
     logo_vendor_ = OCMProtocolMock(@protocol(LogoVendor));
-    suggestions_view_controller_ =
-        OCMClassMock([ContentSuggestionsCollectionViewController class]);
     voice_availability_.SetVoiceProviderEnabled(true);
 
     UrlLoadingNotifierBrowserAgent::CreateForBrowser(browser_.get());
@@ -89,7 +86,6 @@
           accountManagerService:accountManagerService
                      logoVendor:logo_vendor_
         voiceSearchAvailability:&voice_availability_];
-    mediator_.suggestionsViewController = suggestions_view_controller_;
     consumer_ = OCMProtocolMock(@protocol(NTPHomeConsumer));
     mediator_.consumer = consumer_;
   }
@@ -104,7 +100,6 @@
   std::unique_ptr<Browser> browser_;
   id consumer_;
   id logo_vendor_;
-  id suggestions_view_controller_;
   FakeVoiceSearchAvailability voice_availability_;
   NTPHomeMediator* mediator_;
   ToolbarTestNavigationManager* navigation_manager_;
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.h b/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.h
index b51dfe0..0015c71 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.h
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.h
@@ -54,10 +54,6 @@
 @property(nonatomic, weak, readonly) id<ThumbStripSupporting>
     thumbStripSupporting;
 
-// Exposes content inset of contentSuggestions collectionView to ensure all of
-// content is visible under the bottom toolbar.
-@property(nonatomic, readonly) UIEdgeInsets contentInset;
-
 // Bubble presenter for displaying IPH bubbles relating to the NTP.
 @property(nonatomic, strong) BubblePresenter* bubblePresenter;
 
@@ -71,8 +67,8 @@
 // Stop any scrolling in the scroll view.
 - (void)stopScrolling;
 
-// The content offset of the scroll view.
-- (CGPoint)contentOffset;
+// Whether the NTP is scrolled to the top.
+- (BOOL)isScrolledToTop;
 
 // Reloads the content of the NewTabPage. Does not do anything on Incognito.
 - (void)reload;
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm b/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm
index 0894011a..bd090eb8 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_coordinator.mm
@@ -290,7 +290,6 @@
   self.feedMetricsRecorder.feedControlDelegate = self;
   self.feedMetricsRecorder.followDelegate = self;
 
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
     self.headerController =
         [[ContentSuggestionsHeaderViewController alloc] init];
     // TODO(crbug.com/1045047): Use HandlerForProtocol after commands protocol
@@ -321,7 +320,6 @@
         self.headerController.focusOmniboxWhenViewAppears = NO;
       }
     }
-  }
 
   if (IsDiscoverFeedTopSyncPromoEnabled()) {
     self.feedTopSectionCoordinator = [self createFeedTopSectionCoordinator];
@@ -330,10 +328,8 @@
   self.contentSuggestionsCoordinator =
       [self createContentSuggestionsCoordinator];
 
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.headerController.promoCanShow =
-        [self.contentSuggestionsCoordinator notificationPromo]->CanShow();
-  }
+  self.headerController.promoCanShow =
+      [self.contentSuggestionsCoordinator notificationPromo]->CanShow();
 
   // Fetches feed header and conditionally fetches feed. Feed can only be
   // visible if feed header is visible.
@@ -359,14 +355,6 @@
   self.viewPresented = NO;
   [self updateVisible];
 
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    // Unfocus omnibox, to prevent it from lingering when it should be dismissed
-    // (for example, when navigating away or when changing feed visibility).
-    id<OmniboxCommands> omniboxCommandHandler = HandlerForProtocol(
-        self.browser->GetCommandDispatcher(), OmniboxCommands);
-    [omniboxCommandHandler cancelOmniboxEdit];
-  }
-
   SceneState* sceneState =
       SceneStateBrowserAgent::FromBrowser(self.browser)->GetSceneState();
   [sceneState removeObserver:self];
@@ -451,14 +439,8 @@
 - (void)configureNTPViewController {
   DCHECK(self.ntpViewController);
 
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    self.ntpViewController.contentSuggestionsViewController =
-        self.contentSuggestionsCoordinator.viewController;
-  } else {
-    self.ntpViewController.contentSuggestionsCollectionViewController =
-        self.contentSuggestionsCoordinator
-            .contentSuggestionsCollectionViewController;
-  }
+  self.ntpViewController.contentSuggestionsViewController =
+      self.contentSuggestionsCoordinator.viewController;
 
   self.ntpViewController.panGestureHandler = self.panGestureHandler;
   self.ntpViewController.feedVisible = [self isFeedVisible];
@@ -472,16 +454,16 @@
 
   self.headerSynchronizer = [[ContentSuggestionsHeaderSynchronizer alloc]
       initWithCollectionController:self.ntpViewController
-                  headerController:[self headerController]];
+                  headerController:self.headerController];
 
   self.ntpViewController.feedWrapperViewController =
       self.feedWrapperViewController;
   self.ntpViewController.overscrollDelegate = self;
   self.ntpViewController.ntpContentDelegate = self;
   self.ntpViewController.identityDiscButton =
-      [[self headerController] identityDiscButton];
+      [self.headerController identityDiscButton];
 
-  self.ntpViewController.headerController = [self headerController];
+  self.ntpViewController.headerController = self.headerController;
 
   [self configureMainViewControllerUsing:self.ntpViewController];
   self.ntpViewController.feedMetricsRecorder = self.feedMetricsRecorder;
@@ -539,12 +521,8 @@
   [self.ntpViewController stopScrolling];
 }
 
-- (UIEdgeInsets)contentInset {
-  return [self.contentSuggestionsCoordinator contentInset];
-}
-
-- (CGPoint)contentOffset {
-  return [self.contentSuggestionsCoordinator contentOffset];
+- (BOOL)isScrolledToTop {
+  return [self.ntpViewController isNTPScrolledToTop];
 }
 
 - (void)willUpdateSnapshot {
@@ -557,7 +535,7 @@
   if (self.feedViewController) {
     [self.ntpViewController focusFakebox];
   } else {
-    [[self headerController] focusFakebox];
+    [self.headerController focusFakebox];
   }
 }
 
@@ -816,11 +794,10 @@
 
 - (void)appState:(AppState*)appState
     didTransitionFromInitStage:(InitStage)previousInitStage {
-  DCHECK(IsContentSuggestionsHeaderMigrationEnabled());
   if (base::FeatureList::IsEnabled(kEnableFREUIModuleIOS)) {
     if (previousInitStage == InitStageFirstRun) {
-      [self headerController].focusOmniboxWhenViewAppears = YES;
-      [[self headerController] focusAccessibilityOnOmnibox];
+      self.headerController.focusOmniboxWhenViewAppears = YES;
+      [self.headerController focusAccessibilityOnOmnibox];
 
       [appState removeObserver:self];
     }
@@ -830,7 +807,7 @@
 #pragma mark - LogoAnimationControllerOwnerOwner
 
 - (id<LogoAnimationControllerOwner>)logoAnimationControllerOwner {
-  return [[self headerController] logoAnimationControllerOwner];
+  return [self.headerController logoAnimationControllerOwner];
 }
 
 #pragma mark - SceneStateObserver
@@ -937,7 +914,7 @@
 - (UIView*)toolbarSnapshotViewForOverscrollActionsController:
     (OverscrollActionsController*)controller {
   return
-      [[[self headerController] toolBarView] snapshotViewAfterScreenUpdates:NO];
+      [[self.headerController toolBarView] snapshotViewAfterScreenUpdates:NO];
 }
 
 - (UIView*)headerViewForOverscrollActionsController:
@@ -952,7 +929,7 @@
 
 - (CGFloat)headerHeightForOverscrollActionsController:
     (OverscrollActionsController*)controller {
-  CGFloat height = [[self headerController] toolBarView].bounds.size.height;
+  CGFloat height = [self.headerController toolBarView].bounds.size.height;
   CGFloat topInset = self.feedWrapperViewController.view.safeAreaInsets.top;
   return height + topInset;
 }
@@ -971,14 +948,10 @@
 #pragma mark - NewTabPageContentDelegate
 
 - (void)reloadContentSuggestions {
-  if (IsContentSuggestionsHeaderMigrationEnabled() &&
-      IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    // No need to reload ContentSuggestions since the mediator receives all
-    // model state changes and immediately updates the consumer with the new
-    // state.
-    return;
-  }
-  [self.contentSuggestionsCoordinator reload];
+  // No need to reload ContentSuggestions since the mediator receives all
+  // model state changes and immediately updates the consumer with the new
+  // state.
+  return;
 }
 
 - (BOOL)isContentHeaderSticky {
@@ -1096,16 +1069,6 @@
   }
 }
 
-// TODO(crbug.com/1285378): Remove this after
-// kContentSuggestionsHeaderMigrationEnabled is launched.
-- (ContentSuggestionsHeaderViewController*)headerController {
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    return _headerController;
-  } else {
-    return self.contentSuggestionsCoordinator.headerController;
-  }
-}
-
 // Feed header is always visible unless it is disabled from the Chrome settings
 // menu, or by an enterprise policy.
 - (BOOL)isFeedHeaderVisible {
@@ -1200,17 +1163,10 @@
           initWithBaseViewController:nil
                              browser:self.browser];
   contentSuggestionsCoordinator.webState = self.webState;
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    contentSuggestionsCoordinator.toolbarDelegate = self.toolbarDelegate;
-  }
   contentSuggestionsCoordinator.ntpMediator = self.ntpMediator;
   contentSuggestionsCoordinator.ntpDelegate = self;
   contentSuggestionsCoordinator.feedDelegate = self;
   [contentSuggestionsCoordinator start];
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    contentSuggestionsCoordinator.headerController.baseViewController =
-        self.baseViewController;
-  }
   return contentSuggestionsCoordinator;
 }
 
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.h b/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.h
index 610099e..54c33a25 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.h
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.h
@@ -51,12 +51,6 @@
 // ContentSuggestions.
 @property(nonatomic, weak) UIButton* identityDiscButton;
 
-// View controller representing the NTP content suggestions. These suggestions
-// include the most visited site tiles, the shortcut tiles, the fake omnibox and
-// the Google doodle. `contentSuggestionsUIViewController` is used if
-// kContentSuggestionsUIViewControllerMigration is enabled.
-@property(nonatomic, strong)
-    UICollectionViewController* contentSuggestionsCollectionViewController;
 @property(nonatomic, strong)
     ContentSuggestionsViewController* contentSuggestionsViewController;
 
diff --git a/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.mm b/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.mm
index 3ff01089..5df61e59 100644
--- a/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.mm
+++ b/ios/chrome/browser/ui/ntp/new_tab_page_view_controller.mm
@@ -13,7 +13,6 @@
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_feature.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_synchronizing.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_view_controller.h"
-#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_layout.h"
 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_view_controller.h"
 #import "ios/chrome/browser/ui/content_suggestions/ntp_home_constant.h"
 #import "ios/chrome/browser/ui/gestures/view_revealing_vertical_pan_handler.h"
@@ -57,10 +56,6 @@
 // Whether or not the fake omnibox is pineed to the top of the NTP.
 @property(nonatomic, assign) BOOL fakeOmniboxPinnedToTop;
 
-// The collection view layout for the uppermost content suggestions collection
-// view.
-@property(nonatomic, weak) ContentSuggestionsLayout* contentSuggestionsLayout;
-
 // Constraint to determine the height of the contained ContentSuggestions view.
 @property(nonatomic, strong)
     NSLayoutConstraint* contentSuggestionsHeightConstraint;
@@ -111,11 +106,11 @@
   [super viewDidLoad];
 
   DCHECK(self.feedWrapperViewController);
-  DCHECK([self contentSuggestionsViewController]);
+  DCHECK(self.contentSuggestionsViewController);
 
   // TODO(crbug.com/1262536): Remove this when bug is fixed.
   [self.feedWrapperViewController loadViewIfNeeded];
-  [[self contentSuggestionsViewController] loadViewIfNeeded];
+  [self.contentSuggestionsViewController loadViewIfNeeded];
 
   // Prevent the NTP from spilling behind the toolbar and tab strip.
   self.view.clipsToBounds = YES;
@@ -129,22 +124,6 @@
   singleTapRecognizer.delegate = self;
   [self.view addGestureRecognizer:singleTapRecognizer];
 
-  if (!IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    // Ensures that there is never any nested scrolling, since we are nesting
-    // the content suggestions collection view in the feed collection view.
-    self.contentSuggestionsCollectionViewController.collectionView.bounces = NO;
-    self.contentSuggestionsCollectionViewController.collectionView
-        .alwaysBounceVertical = NO;
-    self.contentSuggestionsCollectionViewController.collectionView
-        .scrollEnabled = NO;
-
-    self.contentSuggestionsLayout = static_cast<ContentSuggestionsLayout*>(
-        self.contentSuggestionsCollectionViewController.collectionView
-            .collectionViewLayout);
-    self.contentSuggestionsLayout.isScrolledIntoFeed = self.isScrolledIntoFeed;
-    self.contentSuggestionsLayout.omniboxPositioner = self;
-  }
-
   if (IsContentSuggestionsUIModuleRefreshEnabled()) {
     GradientView* gradientView = [[GradientView alloc]
         initWithTopColor:[UIColor colorNamed:kBackgroundColor]
@@ -263,9 +242,6 @@
       weakSelf.collectionView.contentOffset =
           CGPointMake(0, yOffsetBeforeRotation - heightAboveFeedDifference);
       [weakSelf updateNTPLayout];
-    } else if (!IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-      [weakSelf.contentSuggestionsCollectionViewController.collectionView
-              .collectionViewLayout invalidateLayout];
     }
     [weakSelf.view setNeedsLayout];
     [weakSelf.view layoutIfNeeded];
@@ -304,17 +280,13 @@
     // height.
     self.headerTopAnchor.constant =
         -([self stickyOmniboxHeight] + [self feedHeaderHeight]);
-    [[self contentSuggestionsViewController].view setNeedsLayout];
-    [[self contentSuggestionsViewController].view layoutIfNeeded];
+    [self.contentSuggestionsViewController.view setNeedsLayout];
+    [self.contentSuggestionsViewController.view layoutIfNeeded];
     [self.ntpContentDelegate reloadContentSuggestions];
   }
 
   if (previousTraitCollection.preferredContentSizeCategory !=
       self.traitCollection.preferredContentSizeCategory) {
-    if (!IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-      [self.contentSuggestionsCollectionViewController.collectionView
-              .collectionViewLayout invalidateLayout];
-    }
     [self.headerSynchronizer updateFakeOmniboxForScrollPosition];
   }
 
@@ -326,7 +298,7 @@
 
 - (void)layoutContentInParentCollectionView {
   DCHECK(self.feedWrapperViewController);
-  DCHECK([self contentSuggestionsViewController]);
+  DCHECK(self.contentSuggestionsViewController);
 
   // Ensure the view is loaded so we can set the accessibility identifier.
   [self.feedWrapperViewController loadViewIfNeeded];
@@ -343,11 +315,10 @@
 
   // Configures the content suggestions in the view hierarchy.
   // TODO(crbug.com/1262536): Remove this when issue is fixed.
-  if ([self contentSuggestionsViewController].parentViewController) {
-    [[self contentSuggestionsViewController]
-        willMoveToParentViewController:nil];
-    [[self contentSuggestionsViewController].view removeFromSuperview];
-    [[self contentSuggestionsViewController] removeFromParentViewController];
+  if (self.contentSuggestionsViewController.parentViewController) {
+    [self.contentSuggestionsViewController willMoveToParentViewController:nil];
+    [self.contentSuggestionsViewController.view removeFromSuperview];
+    [self.contentSuggestionsViewController removeFromParentViewController];
     [self.feedMetricsRecorder
         recordBrokenNTPHierarchy:BrokenNTPHierarchyRelationship::
                                      kContentSuggestionsReset];
@@ -364,11 +335,8 @@
     [self addViewController:self.feedHeaderViewController
         toParentViewController:parentViewController];
   }
-  [self addViewController:[self contentSuggestionsViewController]
+  [self addViewController:self.contentSuggestionsViewController
       toParentViewController:parentViewController];
-  if (!IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    self.contentSuggestionsLayout.parentCollectionView = self.collectionView;
-  }
 
   // Adds the feed top section to the view hierarchy if it exists.
   if (IsDiscoverFeedTopSyncPromoEnabled() &&
@@ -377,28 +345,26 @@
         toParentViewController:parentViewController];
   }
 
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
     [self addViewController:self.headerController
         toParentViewController:parentViewController];
 
     DCHECK([self.headerController.view isDescendantOfView:self.containerView]);
     self.headerController.view.translatesAutoresizingMaskIntoConstraints = NO;
-  }
 
-  // TODO(crbug.com/1170995): The contentCollectionView width might be narrower
-  // than the ContentSuggestions view. This causes elements to be hidden, so we
-  // set clipsToBounds to ensure that they remain visible. The collection view
-  // changes, so we must set this property each time it does.
-  self.collectionView.clipsToBounds = NO;
+    // TODO(crbug.com/1170995): The contentCollectionView width might be
+    // narrower than the ContentSuggestions view. This causes elements to be
+    // hidden, so we set clipsToBounds to ensure that they remain visible. The
+    // collection view changes, so we must set this property each time it does.
+    self.collectionView.clipsToBounds = NO;
 
-  [self.overscrollActionsController invalidate];
-  [self configureOverscrollActionsController];
+    [self.overscrollActionsController invalidate];
+    [self configureOverscrollActionsController];
 
-  // If viewDidAppear, then we are just changing the NTP collection view. In
-  // that case, we apply the constraints here.
-  if (self.viewDidAppear) {
-    [self applyCollectionViewConstraints];
-  }
+    // If viewDidAppear, then we are just changing the NTP collection view. In
+    // that case, we apply the constraints here.
+    if (self.viewDidAppear) {
+      [self applyCollectionViewConstraints];
+    }
 
   // If the feed is not visible, we control the delegate ourself (since it is
   // otherwise controlled by the feed service). The view is also layed out
@@ -443,10 +409,6 @@
   // presented in front of the NTP.
   [self.headerSynchronizer
       updateFakeOmniboxOnNewWidth:self.collectionView.bounds.size.width];
-  if (!IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    [self.contentSuggestionsCollectionViewController.collectionView
-            .collectionViewLayout invalidateLayout];
-  }
   // Ensure initial fake omnibox layout.
   [self.headerSynchronizer updateFakeOmniboxForScrollPosition];
 
@@ -469,17 +431,15 @@
 - (CGFloat)heightAboveFeed {
   CGFloat height = [self adjustedContentSuggestionsHeight] +
                    [self feedHeaderHeight] + [self feedTopSectionHeight];
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    // Add the header height since it is no longer a part of the Content
-    // Suggestions.
-    height += [self.headerController headerHeight];
-  }
+  // Add the header height since it is no longer a part of the Content
+  // Suggestions.
+  height += [self.headerController headerHeight];
   return height;
 }
 
 - (void)resetViewHierarchy {
   [self removeFromViewHierarchy:self.feedWrapperViewController];
-  [self removeFromViewHierarchy:[self contentSuggestionsViewController]];
+  [self removeFromViewHierarchy:self.contentSuggestionsViewController];
   if (self.feedHeaderViewController) {
     [self removeFromViewHierarchy:self.feedHeaderViewController];
   }
@@ -529,14 +489,6 @@
 #pragma mark - UIScrollViewDelegate
 
 - (void)scrollViewDidScroll:(UIScrollView*)scrollView {
-  // Scroll events should not be handled until the content suggestions have been
-  // layed out.
-  if (!IsContentSuggestionsUIViewControllerMigrationEnabled() &&
-      !self.contentSuggestionsCollectionViewController.collectionView
-           .contentSize.height) {
-    return;
-  }
-
   [self.overscrollActionsController scrollViewDidScroll:scrollView];
   [self.panGestureHandler scrollViewDidScroll:scrollView];
   [self.headerSynchronizer updateFakeOmniboxForScrollPosition];
@@ -544,13 +496,6 @@
   [self updateScrolledToMinimumHeight];
 
   CGFloat scrollPosition = scrollView.contentOffset.y;
-  // Fixes the content suggestions collection view layout so that the header
-  // scrolls at the same rate as the rest.
-  if (scrollPosition > -[self heightAboveFeed] &&
-      !IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    [self.contentSuggestionsCollectionViewController.collectionView
-            .collectionViewLayout invalidateLayout];
-  }
   [self handleStickyElementsForScrollPosition:scrollPosition force:NO];
 }
 
@@ -711,79 +656,36 @@
     return;
   }
 
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    [NSLayoutConstraint deactivateConstraints:self.fakeOmniboxConstraints];
-  } else {
-    [self.headerController removeFromParentViewController];
-    [self.headerController.view removeFromSuperview];
-    [self.view addSubview:self.headerController.view];
-  }
+  [NSLayoutConstraint deactivateConstraints:self.fakeOmniboxConstraints];
 
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.headerTopAnchor = [self.headerController.view.topAnchor
-        constraintEqualToAnchor:self.feedWrapperViewController.view.topAnchor
-                       constant:-([self stickyOmniboxHeight] +
-                                  [self feedHeaderHeight])];
-    // This issue fundamentally comes down to the topAnchor being set just once
-    // and if it is set in landscape mode, it never is updated upon rotation.
-    // And landscape is when it doesn't matter.
-    self.fakeOmniboxConstraints = @[
-      self.headerTopAnchor,
-      [self.headerController.view.leadingAnchor
-          constraintEqualToAnchor:self.feedWrapperViewController.view
-                                      .leadingAnchor],
-      [self.headerController.view.trailingAnchor
-          constraintEqualToAnchor:self.feedWrapperViewController.view
-                                      .trailingAnchor],
-    ];
-  } else {
-    self.fakeOmniboxConstraints = @[
-      [self.headerController.view.topAnchor
-          constraintEqualToAnchor:self.feedWrapperViewController.view.topAnchor
-                         constant:-([self stickyOmniboxHeight] +
-                                    [self feedHeaderHeight])],
-      [self.headerController.view.leadingAnchor
-          constraintEqualToAnchor:self.feedWrapperViewController.view
-                                      .leadingAnchor],
-      [self.headerController.view.trailingAnchor
-          constraintEqualToAnchor:self.feedWrapperViewController.view
-                                      .trailingAnchor],
-      [self.headerController.view.heightAnchor
-          constraintEqualToConstant:self.headerController.view.frame.size
-                                        .height],
-    ];
-  }
-
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.contentSuggestionsHeightConstraint.active = NO;
-  }
+  self.headerTopAnchor = [self.headerController.view.topAnchor
+      constraintEqualToAnchor:self.feedWrapperViewController.view.topAnchor
+                     constant:-([self stickyOmniboxHeight] +
+                                [self feedHeaderHeight])];
+  // This issue fundamentally comes down to the topAnchor being set just once
+  // and if it is set in landscape mode, it never is updated upon rotation.
+  // And landscape is when it doesn't matter.
+  self.fakeOmniboxConstraints = @[
+    self.headerTopAnchor,
+    [self.headerController.view.leadingAnchor
+        constraintEqualToAnchor:self.feedWrapperViewController.view
+                                    .leadingAnchor],
+    [self.headerController.view.trailingAnchor
+        constraintEqualToAnchor:self.feedWrapperViewController.view
+                                    .trailingAnchor],
+  ];
   [NSLayoutConstraint activateConstraints:self.fakeOmniboxConstraints];
 }
 
 // Gives content suggestions collection view ownership of the fake omnibox for
 // the width animation.
 - (void)setInitialFakeOmniboxConstraints {
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    [self.headerController removeFromParentViewController];
-    [self.headerController.view removeFromSuperview];
-    self.contentSuggestionsHeightConstraint.active = YES;
-  }
-
   [NSLayoutConstraint deactivateConstraints:self.fakeOmniboxConstraints];
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    self.fakeOmniboxConstraints = @[
-      [[self contentSuggestionsViewController].view.topAnchor
-          constraintEqualToAnchor:self.headerController.view.bottomAnchor],
-    ];
-    [NSLayoutConstraint activateConstraints:self.fakeOmniboxConstraints];
-  }
-
-  // Reload the content suggestions so that the fake omnibox goes back where it
-  // belongs. This can probably be optimized by just reloading the header, if
-  // that doesn't mess up any collection/header interactions.
-  if (!IsContentSuggestionsHeaderMigrationEnabled()) {
-    [self.ntpContentDelegate reloadContentSuggestions];
-  }
+  self.fakeOmniboxConstraints = @[
+    [self.contentSuggestionsViewController.view.topAnchor
+        constraintEqualToAnchor:self.headerController.view.bottomAnchor],
+  ];
+  [NSLayoutConstraint activateConstraints:self.fakeOmniboxConstraints];
 }
 
 // Pins feed header to top of the NTP when scrolled into the feed, below the
@@ -804,8 +706,8 @@
                                     [self.feedHeaderViewController
                                             customSearchEngineViewHeight])],
       [self.collectionView.topAnchor
-          constraintEqualToAnchor:[self contentSuggestionsViewController]
-                                      .view.bottomAnchor],
+          constraintEqualToAnchor:self.contentSuggestionsViewController.view
+                                      .bottomAnchor],
     ];
   } else {
     self.feedHeaderConstraints = @[
@@ -814,8 +716,8 @@
                          constant:-[self.feedHeaderViewController
                                           customSearchEngineViewHeight]],
       [self.collectionView.topAnchor
-          constraintEqualToAnchor:[self contentSuggestionsViewController]
-                                      .view.bottomAnchor],
+          constraintEqualToAnchor:self.contentSuggestionsViewController.view
+                                      .bottomAnchor],
     ];
   }
 
@@ -837,8 +739,8 @@
   }
   self.feedHeaderConstraints = @[
     [self.feedHeaderViewController.view.topAnchor
-        constraintEqualToAnchor:[self contentSuggestionsViewController]
-                                    .view.bottomAnchor],
+        constraintEqualToAnchor:self.contentSuggestionsViewController.view
+                                    .bottomAnchor],
     [bottomView.topAnchor constraintEqualToAnchor:self.feedHeaderViewController
                                                       .view.bottomAnchor],
   ];
@@ -869,8 +771,8 @@
                    -[self feedHeaderHeight] - [self feedTopSectionHeight],
                    self.view.frame.size.width, [self feedHeaderHeight]);
   }
-  [self contentSuggestionsViewController].view.frame = CGRectMake(
-      [self contentSuggestionsViewController].view.frame.origin.x,
+  self.contentSuggestionsViewController.view.frame = CGRectMake(
+      self.contentSuggestionsViewController.view.frame.origin.x,
       -[self contentSuggestionsContentHeight] - [self feedHeaderHeight] -
           [self feedTopSectionHeight],
       self.view.frame.size.width, [self contentSuggestionsContentHeight]);
@@ -964,7 +866,7 @@
 // Applies constraints to the NTP collection view, along with the constraints
 // for the content suggestions within it.
 - (void)applyCollectionViewConstraints {
-  UIView* contentSuggestionsView = [self contentSuggestionsViewController].view;
+  UIView* contentSuggestionsView = self.contentSuggestionsViewController.view;
   contentSuggestionsView.translatesAutoresizingMaskIntoConstraints = NO;
 
   self.contentSuggestionsHeightConstraint = [contentSuggestionsView.heightAnchor
@@ -1000,7 +902,6 @@
     ]];
   }
 
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
     [NSLayoutConstraint activateConstraints:@[
       [[self containerView].safeAreaLayoutGuide.leadingAnchor
           constraintEqualToAnchor:self.headerController.view.leadingAnchor],
@@ -1008,15 +909,14 @@
           constraintEqualToAnchor:self.headerController.view.trailingAnchor],
     ]];
     [self setInitialFakeOmniboxConstraints];
-  }
 
-  [NSLayoutConstraint activateConstraints:@[
-    [[self containerView].safeAreaLayoutGuide.leadingAnchor
-        constraintEqualToAnchor:contentSuggestionsView.leadingAnchor],
-    [[self containerView].safeAreaLayoutGuide.trailingAnchor
-        constraintEqualToAnchor:contentSuggestionsView.trailingAnchor],
-    self.contentSuggestionsHeightConstraint,
-  ]];
+    [NSLayoutConstraint activateConstraints:@[
+      [[self containerView].safeAreaLayoutGuide.leadingAnchor
+          constraintEqualToAnchor:contentSuggestionsView.leadingAnchor],
+      [[self containerView].safeAreaLayoutGuide.trailingAnchor
+          constraintEqualToAnchor:contentSuggestionsView.trailingAnchor],
+      self.contentSuggestionsHeightConstraint,
+    ]];
 }
 
 // Sets minimum height for the NTP collection view, allowing it to scroll enough
@@ -1035,49 +935,38 @@
 #pragma mark - Helpers
 
 - (UIViewController*)contentSuggestionsViewController {
-  return IsContentSuggestionsUIViewControllerMigrationEnabled()
-             ? _contentSuggestionsViewController
-             : self.contentSuggestionsCollectionViewController;
+  return _contentSuggestionsViewController;
 }
 
 - (CGFloat)minimumNTPHeight {
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    CGFloat collectionViewHeight = self.collectionView.bounds.size.height;
-    CGFloat headerHeight = [self.headerController headerHeight];
+  CGFloat collectionViewHeight = self.collectionView.bounds.size.height;
+  CGFloat headerHeight = [self.headerController headerHeight];
 
-    // The minimum height for the collection view content should be the height
-    // of the header plus the height of the collection view minus the height of
-    // the NTP bottom bar. This allows the Most Visited cells to be scrolled up
-    // to the top of the screen. Also computes the total NTP scrolling height
-    // for Discover infinite feed.
-    CGFloat ntpHeight = collectionViewHeight + headerHeight;
-    CGFloat minimumHeight =
-        ntpHeight - ntp_header::kScrolledToTopOmniboxBottomMargin;
-    if (!IsRegularXRegularSizeClass(self.collectionView)) {
-      CGFloat toolbarHeight =
-          IsSplitToolbarMode(self.collectionView)
-              ? ToolbarExpandedHeight([UIApplication sharedApplication]
-                                          .preferredContentSizeCategory)
-              : 0;
-      CGFloat additionalHeight =
-          toolbarHeight + self.collectionView.contentInset.bottom;
-      minimumHeight -= additionalHeight;
-    }
-
-    return minimumHeight;
-  } else {
-    return [self.contentSuggestionsLayout minimumNTPHeight];
+  // The minimum height for the collection view content should be the height
+  // of the header plus the height of the collection view minus the height of
+  // the NTP bottom bar. This allows the Most Visited cells to be scrolled up
+  // to the top of the screen. Also computes the total NTP scrolling height
+  // for Discover infinite feed.
+  CGFloat ntpHeight = collectionViewHeight + headerHeight;
+  CGFloat minimumHeight =
+      ntpHeight - ntp_header::kScrolledToTopOmniboxBottomMargin;
+  if (!IsRegularXRegularSizeClass(self.collectionView)) {
+    CGFloat toolbarHeight =
+        IsSplitToolbarMode(self.collectionView)
+            ? ToolbarExpandedHeight([UIApplication sharedApplication]
+                                        .preferredContentSizeCategory)
+            : 0;
+    CGFloat additionalHeight =
+        toolbarHeight + self.collectionView.contentInset.bottom;
+    minimumHeight -= additionalHeight;
   }
+
+  return minimumHeight;
 }
 
 // Returns the current height of the content suggestions content.
 - (CGFloat)contentSuggestionsContentHeight {
-  if (IsContentSuggestionsUIViewControllerMigrationEnabled()) {
-    return [self.contentSuggestionsViewController contentSuggestionsHeight];
-  } else {
-    return self.contentSuggestionsCollectionViewController.collectionView
-        .contentSize.height;
-  }
+  return [self.contentSuggestionsViewController contentSuggestionsHeight];
 }
 
 // Content suggestions height adjusted with the safe area top insets.
@@ -1126,12 +1015,8 @@
 - (CGFloat)offsetToStickOmnibox {
   CGFloat offset =
       -(self.headerController.view.frame.size.height -
-        [self stickyOmniboxHeight] -
+        [self stickyOmniboxHeight] - [self contentSuggestionsContentHeight] -
         [self.feedHeaderViewController customSearchEngineViewHeight]);
-  if (IsSplitToolbarMode(self) &&
-      IsContentSuggestionsHeaderMigrationEnabled()) {
-    offset -= [self contentSuggestionsContentHeight];
-  }
   if (self.feedTopSectionViewController) {
     offset -= self.feedTopSectionViewController.view.frame.size.height;
   }
@@ -1156,23 +1041,21 @@
   // self.feedWrapperViewController.feedViewController.view ->
   // self.collectionView -> self.contentSuggestionsViewController.view.
   if (![self.collectionView.subviews
-          containsObject:[self contentSuggestionsViewController].view]) {
+          containsObject:self.contentSuggestionsViewController.view]) {
     // Remove child VC from old parent.
-    [[self contentSuggestionsViewController]
-        willMoveToParentViewController:nil];
-    [[self contentSuggestionsViewController] removeFromParentViewController];
-    [[self contentSuggestionsViewController].view removeFromSuperview];
-    [[self contentSuggestionsViewController] didMoveToParentViewController:nil];
+    [self.contentSuggestionsViewController willMoveToParentViewController:nil];
+    [self.contentSuggestionsViewController removeFromParentViewController];
+    [self.contentSuggestionsViewController.view removeFromSuperview];
+    [self.contentSuggestionsViewController didMoveToParentViewController:nil];
 
     // Add child VC to new parent.
-    [[self contentSuggestionsViewController]
+    [self.contentSuggestionsViewController
         willMoveToParentViewController:self.feedWrapperViewController
                                            .feedViewController];
     [self.feedWrapperViewController.feedViewController
-        addChildViewController:[self contentSuggestionsViewController]];
-    [self.collectionView
-        addSubview:[self contentSuggestionsViewController].view];
-    [[self contentSuggestionsViewController]
+        addChildViewController:self.contentSuggestionsViewController];
+    [self.collectionView addSubview:self.contentSuggestionsViewController.view];
+    [self.contentSuggestionsViewController
         didMoveToParentViewController:self.feedWrapperViewController
                                           .feedViewController];
 
@@ -1181,12 +1064,10 @@
                                      kContentSuggestionsParent];
   }
 
-  if (IsContentSuggestionsHeaderMigrationEnabled()) {
-    [self ensureView:self.headerController.view
-               isSubviewOf:self.collectionView
-        withRelationshipID:BrokenNTPHierarchyRelationship::
-                               kContentSuggestionsHeaderParent];
-  }
+  [self ensureView:self.headerController.view
+             isSubviewOf:self.collectionView
+      withRelationshipID:BrokenNTPHierarchyRelationship::
+                             kContentSuggestionsHeaderParent];
 
   [self ensureView:self.feedHeaderViewController.view
              isSubviewOf:self.collectionView
@@ -1274,7 +1155,6 @@
 // view controls its position.
 - (void)setIsScrolledIntoFeed:(BOOL)scrolledIntoFeed {
   _scrolledIntoFeed = scrolledIntoFeed;
-  self.contentSuggestionsLayout.isScrolledIntoFeed = scrolledIntoFeed;
 }
 
 // Sets the y content offset of the NTP collection view.
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_ui_features.cc b/ios/chrome/browser/ui/omnibox/omnibox_ui_features.cc
index 93bd7ed..2dabe66 100644
--- a/ios/chrome/browser/ui/omnibox/omnibox_ui_features.cc
+++ b/ios/chrome/browser/ui/omnibox/omnibox_ui_features.cc
@@ -13,3 +13,6 @@
 const char kOmniboxPasteButtonParameterName[] = "PasteButtonVariant";
 const char kOmniboxPasteButtonParameterBlueIconCapsule[] = "SuggestionIcon";
 const char kOmniboxPasteButtonParameterBlueFullCapsule[] = "SuggestionTextIcon";
+
+const base::Feature kOmniboxKeyboardPasteButton{
+    "OmniboxKeyboardPasteButton", base::FEATURE_DISABLED_BY_DEFAULT};
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_ui_features.h b/ios/chrome/browser/ui/omnibox/omnibox_ui_features.h
index a1c835b..32ff142 100644
--- a/ios/chrome/browser/ui/omnibox/omnibox_ui_features.h
+++ b/ios/chrome/browser/ui/omnibox/omnibox_ui_features.h
@@ -21,4 +21,7 @@
 // PasteButton on suggestion row, blue color with icon/text and capsule shape.
 extern const char kOmniboxPasteButtonParameterBlueFullCapsule[];
 
+// Feature flag to enable paste button on the omnibox keyboard accessories.
+extern const base::Feature kOmniboxKeyboardPasteButton;
+
 #endif  // IOS_CHROME_BROWSER_UI_OMNIBOX_OMNIBOX_UI_FEATURES_H_
diff --git a/ios/chrome/browser/ui/settings/BUILD.gn b/ios/chrome/browser/ui/settings/BUILD.gn
index 1959d96f..5a00ec3 100644
--- a/ios/chrome/browser/ui/settings/BUILD.gn
+++ b/ios/chrome/browser/ui/settings/BUILD.gn
@@ -209,6 +209,7 @@
     "//url",
   ]
   allow_circular_includes_from = [ "//ios/chrome/browser/ui/authentication" ]
+  public_deps = [ "//ios/third_party/material_components_ios" ]
   frameworks = [
     "CoreLocation.framework",
     "UIKit.framework",
diff --git a/ios/chrome/browser/ui/start_surface/start_surface_egtest.mm b/ios/chrome/browser/ui/start_surface/start_surface_egtest.mm
index 64d16e4..d02ee45 100644
--- a/ios/chrome/browser/ui/start_surface/start_surface_egtest.mm
+++ b/ios/chrome/browser/ui/start_surface/start_surface_egtest.mm
@@ -35,9 +35,6 @@
 - (AppLaunchConfiguration)appConfigurationForTestCase {
   AppLaunchConfiguration config;
   config.relaunch_policy = ForceRelaunchByCleanShutdown;
-  config.features_enabled.push_back(kContentSuggestionsHeaderMigration);
-  config.features_enabled.push_back(
-      kContentSuggestionsUIViewControllerMigration);
   config.additional_args.push_back(
       std::string("--force-fieldtrial-params=StartSurface.ShrinkLogo:"
                   "ReturnToStartSurfaceInactiveDurationInSeconds/0"));
diff --git a/media/gpu/v4l2/test/av1_decoder.cc b/media/gpu/v4l2/test/av1_decoder.cc
index 09f128953..371c4ce 100644
--- a/media/gpu/v4l2/test/av1_decoder.cc
+++ b/media/gpu/v4l2/test/av1_decoder.cc
@@ -19,6 +19,8 @@
 
 namespace v4l2_test {
 
+namespace {
+
 constexpr uint32_t kNumberOfBuffersInCaptureQueue = 10;
 
 static_assert(kNumberOfBuffersInCaptureQueue <= 16,
@@ -601,6 +603,8 @@
   }
 }
 
+}  // namespace
+
 Av1Decoder::Av1Decoder(std::unique_ptr<IvfParser> ivf_parser,
                        std::unique_ptr<V4L2IoctlShim> v4l2_ioctl,
                        std::unique_ptr<V4L2Queue> OUTPUT_queue,
diff --git a/mojo/public/tools/mojom/check_stable_mojom_compatibility.py b/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
index d91dc14..0255427 100755
--- a/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
+++ b/mojo/public/tools/mojom/check_stable_mojom_compatibility.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # Copyright 2020 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
diff --git a/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py b/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
index 41539a11..887e2395 100755
--- a/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
+++ b/mojo/public/tools/mojom/check_stable_mojom_compatibility_unittest.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # Copyright 2020 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
diff --git a/mojo/public/tools/mojom/mojom_parser.py b/mojo/public/tools/mojom/mojom_parser.py
index 2994d2c..cbce1d9 100755
--- a/mojo/public/tools/mojom/mojom_parser.py
+++ b/mojo/public/tools/mojom/mojom_parser.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # Copyright 2020 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
diff --git a/net/base/connection_endpoint_metadata.cc b/net/base/connection_endpoint_metadata.cc
index 842c0e53..478f2e4 100644
--- a/net/base/connection_endpoint_metadata.cc
+++ b/net/base/connection_endpoint_metadata.cc
@@ -17,6 +17,7 @@
 namespace {
 const char kSupportedProtocolAlpnsKey[] = "supported_protocol_alpns";
 const char kEchConfigListKey[] = "ech_config_list";
+const char kTargetNameKey[] = "target_name";
 }  // namespace
 
 ConnectionEndpointMetadata::ConnectionEndpointMetadata() = default;
@@ -37,6 +38,10 @@
 
   dict.Set(kEchConfigListKey, base::Base64Encode(ech_config_list));
 
+  if (!target_name.empty()) {
+    dict.Set(kTargetNameKey, target_name);
+  }
+
   return base::Value(std::move(dict));
 }
 
@@ -51,6 +56,7 @@
       dict->FindList(kSupportedProtocolAlpnsKey);
   const std::string* ech_config_list_value =
       dict->FindString(kEchConfigListKey);
+  const std::string* target_name_value = dict->FindString(kTargetNameKey);
 
   if (!alpns_list || !ech_config_list_value)
     return absl::nullopt;
@@ -70,6 +76,10 @@
     return absl::nullopt;
   metadata.ech_config_list = std::move(*decoded);
 
+  if (target_name_value) {
+    metadata.target_name = *target_name_value;
+  }
+
   return metadata;
 }
 
diff --git a/net/base/connection_endpoint_metadata.h b/net/base/connection_endpoint_metadata.h
index 0465537..56f9c6be 100644
--- a/net/base/connection_endpoint_metadata.h
+++ b/net/base/connection_endpoint_metadata.h
@@ -34,8 +34,9 @@
   ConnectionEndpointMetadata& operator=(ConnectionEndpointMetadata&&) = default;
 
   bool operator==(const ConnectionEndpointMetadata& other) const {
-    return std::tie(supported_protocol_alpns, ech_config_list) ==
-           std::tie(other.supported_protocol_alpns, other.ech_config_list);
+    return std::tie(supported_protocol_alpns, ech_config_list, target_name) ==
+           std::tie(other.supported_protocol_alpns, other.ech_config_list,
+                    target_name);
   }
 
   base::Value ToValue() const;
@@ -48,6 +49,9 @@
 
   // If not empty, TLS Encrypted Client Hello config for the service.
   EchConfigList ech_config_list;
+
+  // The target domain name of this metadata.
+  std::string target_name;
 };
 
 }  // namespace net
diff --git a/net/base/connection_endpoint_metadata_test_util.cc b/net/base/connection_endpoint_metadata_test_util.cc
index 03a547d..837a430 100644
--- a/net/base/connection_endpoint_metadata_test_util.cc
+++ b/net/base/connection_endpoint_metadata_test_util.cc
@@ -25,10 +25,12 @@
   EndpointMetadataMatcher(
       testing::Matcher<std::vector<std::string>>
           supported_protocol_alpns_matcher,
-      testing::Matcher<EchConfigList> ech_config_list_matcher)
+      testing::Matcher<EchConfigList> ech_config_list_matcher,
+      testing::Matcher<std::string> target_name_matcher)
       : supported_protocol_alpns_matcher_(
             std::move(supported_protocol_alpns_matcher)),
-        ech_config_list_matcher_(std::move(ech_config_list_matcher)) {}
+        ech_config_list_matcher_(std::move(ech_config_list_matcher)),
+        target_name_matcher_(std::move(target_name_matcher)) {}
 
   ~EndpointMetadataMatcher() override = default;
 
@@ -50,6 +52,11 @@
                testing::Field("ech_config_list",
                               &ConnectionEndpointMetadata::ech_config_list,
                               ech_config_list_matcher_),
+               metadata, result_listener) &&
+           ExplainMatchResult(
+               testing::Field("target_name",
+                              &ConnectionEndpointMetadata::target_name,
+                              target_name_matcher_),
                metadata, result_listener);
   }
 
@@ -68,11 +75,14 @@
     os << "ConnectionEndpoint {\nsupported_protocol_alpns: "
        << testing::PrintToString(supported_protocol_alpns_matcher_)
        << "\nech_config_list: "
-       << testing::PrintToString(ech_config_list_matcher_) << "\n}";
+       << testing::PrintToString(ech_config_list_matcher_)
+       << "\ntarget_name: " << testing::PrintToString(target_name_matcher_)
+       << "\n}";
   }
 
   testing::Matcher<std::vector<std::string>> supported_protocol_alpns_matcher_;
   testing::Matcher<EchConfigList> ech_config_list_matcher_;
+  testing::Matcher<std::string> target_name_matcher_;
 };
 
 }  // namespace
@@ -80,10 +90,11 @@
 testing::Matcher<const ConnectionEndpointMetadata&>
 ExpectConnectionEndpointMetadata(
     testing::Matcher<std::vector<std::string>> supported_protocol_alpns_matcher,
-    testing::Matcher<EchConfigList> ech_config_list_matcher) {
-  return testing::MakeMatcher(
-      new EndpointMetadataMatcher(std::move(supported_protocol_alpns_matcher),
-                                  std::move(ech_config_list_matcher)));
+    testing::Matcher<EchConfigList> ech_config_list_matcher,
+    testing::Matcher<std::string> target_name_matcher) {
+  return testing::MakeMatcher(new EndpointMetadataMatcher(
+      std::move(supported_protocol_alpns_matcher),
+      std::move(ech_config_list_matcher), std::move(target_name_matcher)));
 }
 
 std::ostream& operator<<(
@@ -95,6 +106,8 @@
             << "\nech_config_list: "
             << testing::PrintToString(
                    connection_endpoint_metadata.ech_config_list)
+            << "\ntarget_name: "
+            << testing::PrintToString(connection_endpoint_metadata.target_name)
             << "\n}";
 }
 
diff --git a/net/base/connection_endpoint_metadata_test_util.h b/net/base/connection_endpoint_metadata_test_util.h
index d7599cc..4ec01b4 100644
--- a/net/base/connection_endpoint_metadata_test_util.h
+++ b/net/base/connection_endpoint_metadata_test_util.h
@@ -20,7 +20,8 @@
     testing::Matcher<std::vector<std::string>>
         supported_protocol_alpns_matcher = testing::IsEmpty(),
     testing::Matcher<ConnectionEndpointMetadata::EchConfigList>
-        ech_config_list_matcher = testing::IsEmpty());
+        ech_config_list_matcher = testing::IsEmpty(),
+    testing::Matcher<std::string> target_name_matcher = testing::IsEmpty());
 
 std::ostream& operator<<(
     std::ostream& os,
diff --git a/net/dns/dns_response_result_extractor.cc b/net/dns/dns_response_result_extractor.cc
index d0701302..63bf01f 100644
--- a/net/dns/dns_response_result_extractor.cc
+++ b/net/dns/dns_response_result_extractor.cc
@@ -329,6 +329,10 @@
                            HostCache::Entry::SOURCE_DNS, response_ttl);
   results.set_aliases(std::move(aliases));
 
+  if (!canonical_name.empty()) {
+    results.set_canonical_names(std::set<std::string>({canonical_name}));
+  }
+
   *out_results = std::move(results);
   return ExtractionError::kOk;
 }
@@ -556,13 +560,16 @@
     if (!service->IsCompatible())
       continue;
 
-    // Only support services at the original domain name, as that is the name at
-    // which Chrome queried A/AAAA. Chrome does not yet support followup queries
-    // or diverging addresses.
     base::StringPiece target_name = service->service_name().empty()
                                         ? record->name()
                                         : service->service_name();
-    if (target_name != original_domain_name) {
+
+    // Chrome does not yet support followup queries. So only support services at
+    // the original domain name or the canonical name (the record name).
+    // Note: HostCache::Entry::GetEndpoints() will not return metadatas which
+    // target name is different from the canonical name of A/AAAA query results.
+    if ((target_name != original_domain_name) &&
+        (target_name != record->name())) {
       continue;
     }
 
@@ -594,6 +601,8 @@
     metadata.ech_config_list = ConnectionEndpointMetadata::EchConfigList(
         service->ech_config().cbegin(), service->ech_config().cend());
 
+    metadata.target_name = base::ToLowerASCII(target_name);
+
     results.emplace(service->priority(), std::move(metadata));
 
     if (service->default_alpn())
diff --git a/net/dns/dns_response_result_extractor_unittest.cc b/net/dns/dns_response_result_extractor_unittest.cc
index 11502616..afee3d37 100644
--- a/net/dns/dns_response_result_extractor_unittest.cc
+++ b/net/dns/dns_response_result_extractor_unittest.cc
@@ -922,7 +922,8 @@
   EXPECT_THAT(
       results.GetMetadatas(),
       testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
-          testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn)))));
+          testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 
@@ -963,11 +964,12 @@
   EXPECT_THAT(results.error(), test::IsOk());
   EXPECT_THAT(results.GetMetadatas(),
               testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(kAlpn)),
+                  ExpectConnectionEndpointMetadata(testing::ElementsAre(kAlpn),
+                                                   testing::IsEmpty(), kName),
                   ExpectConnectionEndpointMetadata(
                       testing::ElementsAre(
                           kAlpn, dns_protocol::kHttpsServiceDefaultAlpn),
-                      testing::ElementsAreArray(kEchConfig)))));
+                      testing::ElementsAreArray(kEchConfig), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true, true)));
 
@@ -1058,7 +1060,8 @@
   EXPECT_THAT(
       results.GetMetadatas(),
       testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
-          testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn)))));
+          testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 }
@@ -1092,10 +1095,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(false, true)));
 }
@@ -1119,10 +1123,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 }
@@ -1146,10 +1151,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 }
@@ -1174,10 +1180,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 }
@@ -1202,10 +1209,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 }
@@ -1234,25 +1242,25 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true, true)));
 }
 
 TEST(DnsResponseResultExtractorTest,
-     IgnoreHttpsRecordWithPrefixedNameAndDefaultServiceName) {
+     ExtractsHttpsRecordWithPrefixedNameAndDefaultServiceName) {
   constexpr char kPrefixedName[] = "_445._https.https.test";
 
-  DnsResponse response =
-      BuildTestDnsResponse(kPrefixedName, dns_protocol::kTypeHttps,
-                           {BuildTestHttpsServiceRecord(
-                               kPrefixedName, /*priority=*/4,
-                               /*service_name=*/".",
-                               /*params=*/
-                               {BuildTestHttpsServiceAlpnParam({"ignored"})})});
+  DnsResponse response = BuildTestDnsResponse(
+      kPrefixedName, dns_protocol::kTypeHttps,
+      {BuildTestHttpsServiceRecord(kPrefixedName, /*priority=*/4,
+                                   /*service_name=*/".",
+                                   /*params=*/
+                                   {BuildTestHttpsServiceAlpnParam({"foo"})})});
   DnsResponseResultExtractor extractor(&response);
 
   HostCache::Entry results(ERR_FAILED, HostCache::Entry::SOURCE_UNKNOWN);
@@ -1261,14 +1269,18 @@
                                         /*request_port=*/0, &results),
             DnsResponseResultExtractor::ExtractionError::kOk);
 
-  EXPECT_THAT(results.error(), test::IsError(ERR_NAME_NOT_RESOLVED));
-  EXPECT_THAT(results.GetMetadatas(), testing::Optional(testing::IsEmpty()));
+  EXPECT_THAT(results.error(), test::IsOk());
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kPrefixedName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 }
 
 TEST(DnsResponseResultExtractorTest,
-     IgnoreHttpsRecordWithAliasingAndDefaultServiceName) {
+     ExtractsHttpsRecordWithAliasingAndDefaultServiceName) {
   constexpr char kName[] = "https.test";
 
   DnsResponse response = BuildTestDnsResponse(
@@ -1286,8 +1298,12 @@
                                         /*request_port=*/0, &results),
             DnsResponseResultExtractor::ExtractionError::kOk);
 
-  EXPECT_THAT(results.error(), test::IsError(ERR_NAME_NOT_RESOLVED));
-  EXPECT_THAT(results.GetMetadatas(), testing::Optional(testing::IsEmpty()));
+  EXPECT_THAT(results.error(), test::IsOk());
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), "alias.test"))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 }
@@ -1312,10 +1328,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 }
@@ -1343,10 +1360,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true, true)));
 }
@@ -1376,10 +1394,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true, true)));
 }
@@ -1579,10 +1598,11 @@
             DnsResponseResultExtractor::ExtractionError::kOk);
 
   EXPECT_THAT(results.error(), test::IsOk());
-  EXPECT_THAT(results.GetMetadatas(),
-              testing::Optional(testing::ElementsAre(
-                  ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                      "foo1", dns_protocol::kHttpsServiceDefaultAlpn)))));
+  EXPECT_THAT(
+      results.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(ExpectConnectionEndpointMetadata(
+          testing::ElementsAre("foo1", dns_protocol::kHttpsServiceDefaultAlpn),
+          testing::IsEmpty(), kName))));
   EXPECT_THAT(results.https_record_compatibility(),
               testing::Pointee(testing::ElementsAre(true)));
 
diff --git a/net/dns/host_cache.cc b/net/dns/host_cache.cc
index 88dbcf5..20d0624b 100644
--- a/net/dns/host_cache.cc
+++ b/net/dns/host_cache.cc
@@ -75,6 +75,7 @@
 const char kTextRecordsKey[] = "text_records";
 const char kHostnameResultsKey[] = "hostname_results";
 const char kHostPortsKey[] = "host_ports";
+const char kCanonicalNamesKey[] = "canonical_names";
 
 base::Value IpEndpointToValue(const IPEndPoint& endpoint) {
   base::Value::Dict dictionary;
@@ -285,11 +286,18 @@
 
   if (ip_endpoints_.value().empty())
     return endpoints;
-
   absl::optional<std::vector<ConnectionEndpointMetadata>> metadatas =
       GetMetadatas();
-  if (metadatas.has_value()) {
+
+  if (metadatas.has_value() && canonical_names_ &&
+      (canonical_names_->size() == 1)) {
+    // Currently Chrome uses HTTPS records only when A and AAAA records are at
+    // the same canonical name and that matches the HTTPS target name.
     for (ConnectionEndpointMetadata& metadata : metadatas.value()) {
+      if (canonical_names_->find(metadata.target_name) ==
+          canonical_names_->end()) {
+        continue;
+      }
       endpoints.emplace_back();
       endpoints.back().ip_endpoints = ip_endpoints_.value();
       endpoints.back().metadata = std::move(metadata);
@@ -347,6 +355,7 @@
   MergeLists(&front.hostnames_, back.hostnames());
   MergeLists(&front.https_record_compatibility_,
              back.https_record_compatibility_);
+  MergeContainers(front.canonical_names_, back.canonical_names_);
 
   // The DNS aliases include the canonical name(s), if any, each as the
   // first entry in the field, which is an optional vector. If |front| has
@@ -418,6 +427,7 @@
       https_record_compatibility_(entry.https_record_compatibility_),
       source_(entry.source()),
       pinning_(entry.pinning()),
+      canonical_names_(entry.canonical_names()),
       ttl_(entry.ttl()),
       expires_(now + ttl),
       network_changes_(network_changes) {}
@@ -619,6 +629,13 @@
       entry_dict.Set(kHostnameResultsKey, std::move(hostnames_value));
       entry_dict.Set(kHostPortsKey, std::move(host_ports_value));
     }
+    if (canonical_names()) {
+      base::Value::List canonical_names_list;
+      for (const std::string& canonical_name : canonical_names().value()) {
+        canonical_names_list.Append(canonical_name);
+      }
+      entry_dict.Set(kCanonicalNamesKey, std::move(canonical_names_list));
+    }
   }
 
   return entry_dict;
@@ -970,6 +987,7 @@
     const base::Value::List* text_records_list = nullptr;
     const base::Value::List* hostname_records_list = nullptr;
     const base::Value::List* host_ports_list = nullptr;
+    const base::Value::List* canonical_names_list = nullptr;
     absl::optional<int> maybe_error = entry_dict.FindInt(kNetErrorKey);
     absl::optional<bool> maybe_pinned = entry_dict.FindBool(kPinnedKey);
     if (maybe_error.has_value()) {
@@ -982,6 +1000,7 @@
       text_records_list = entry_dict.FindList(kTextRecordsKey);
       hostname_records_list = entry_dict.FindList(kHostnameResultsKey);
       host_ports_list = entry_dict.FindList(kHostPortsKey);
+      canonical_names_list = entry_dict.FindList(kCanonicalNamesKey);
 
       if ((hostname_records_list == nullptr && host_ports_list != nullptr) ||
           (hostname_records_list != nullptr && host_ports_list == nullptr)) {
@@ -1072,6 +1091,17 @@
       }
     }
 
+    absl::optional<std::set<std::string>> canonical_names;
+    if (canonical_names_list) {
+      canonical_names = std::set<std::string>();
+      for (const auto& item : *canonical_names_list) {
+        const std::string* name = item.GetIfString();
+        if (!name)
+          return false;
+        canonical_names->insert(*name);
+      }
+    }
+
     // We do not intend to serialize experimental results with the host cache.
     absl::optional<std::vector<bool>> experimental_results;
 
@@ -1096,6 +1126,7 @@
                   std::move(experimental_results), Entry::SOURCE_UNKNOWN,
                   expiration_time, network_changes_ - 1);
       entry.set_pinning(maybe_pinned.value_or(false));
+      entry.set_canonical_names(std::move(canonical_names));
       AddEntry(key, std::move(entry));
       restore_size_++;
     }
diff --git a/net/dns/host_cache.h b/net/dns/host_cache.h
index bcbc1654..e382c3d9 100644
--- a/net/dns/host_cache.h
+++ b/net/dns/host_cache.h
@@ -166,11 +166,12 @@
     bool ContentsEqual(const Entry& other) const {
       return std::tie(error_, ip_endpoints_, endpoint_metadatas_, aliases_,
                       legacy_addresses_, text_records_, hostnames_,
-                      https_record_compatibility_) ==
+                      https_record_compatibility_, canonical_names_) ==
              std::tie(other.error_, other.ip_endpoints_,
                       other.endpoint_metadatas_, other.aliases_,
                       other.legacy_addresses_, other.text_records_,
-                      other.hostnames_, other.https_record_compatibility_);
+                      other.hostnames_, other.https_record_compatibility_,
+                      other.canonical_names_);
     }
 
     int error() const { return error_; }
@@ -226,6 +227,14 @@
     absl::optional<bool> pinning() const { return pinning_; }
     void set_pinning(absl::optional<bool> pinning) { pinning_ = pinning; }
 
+    const absl::optional<std::set<std::string>>& canonical_names() const {
+      return canonical_names_;
+    }
+    void set_canonical_names(
+        absl::optional<std::set<std::string>> canonical_names) {
+      canonical_names_ = std::move(canonical_names);
+    }
+
     Source source() const { return source_; }
     bool has_ttl() const { return ttl_ >= base::TimeDelta(); }
     base::TimeDelta ttl() const { return ttl_; }
@@ -360,6 +369,11 @@
     // for followup queries after insecure/expired bootstrap are abandoned (see
     // TODO(crbug.com/1200908) in HostResolverManager).
     absl::optional<bool> pinning_;
+
+    // The final name at the end of the alias chain that was the record name for
+    // the A/AAAA records.
+    absl::optional<std::set<std::string>> canonical_names_;
+
     // TTL obtained from the nameserver. Negative if unknown.
     base::TimeDelta ttl_ = base::Seconds(-1);
 
diff --git a/net/dns/host_cache_unittest.cc b/net/dns/host_cache_unittest.cc
index d53d089..5cf743d 100644
--- a/net/dns/host_cache_unittest.cc
+++ b/net/dns/host_cache_unittest.cc
@@ -1697,23 +1697,31 @@
   HostCache::Key key(url::SchemeHostPort(url::kHttpsScheme, "example.com", 443),
                      DnsQueryType::A, 0, HostResolverSource::DNS,
                      NetworkIsolationKey());
-
-  std::vector<IPEndPoint> ip_endpoints = {
-      IPEndPoint(IPAddress(1, 1, 1, 1), 800),
-      IPEndPoint(IPAddress(2, 2, 2, 2), 900),
-      IPEndPoint(IPAddress(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4),
-                 100)};
+  IPEndPoint ipv6_endpoint(
+      IPAddress(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4), 110);
+  IPEndPoint ipv4_endpoint1(IPAddress(1, 1, 1, 1), 80);
+  IPEndPoint ipv4_endpoint2(IPAddress(2, 2, 2, 2), 90);
+  IPEndPoint other_ipv4_endpoint(IPAddress(3, 3, 3, 3), 100);
+  std::string ipv6_alias = "ipv6_alias.test";
+  std::string ipv4_alias = "ipv4_alias.test";
+  std::string other_alias = "other_alias.test";
+  std::vector<IPEndPoint> ip_endpoints = {ipv6_endpoint, ipv4_endpoint1,
+                                          ipv4_endpoint2, other_ipv4_endpoint};
   HostCache::Entry entry(OK, ip_endpoints, HostCache::Entry::SOURCE_DNS, ttl);
-  std::set<std::string> aliases = {"ipv4_alias.test", "ipv6_alias.test",
-                                   "other_alias.test"};
+  std::set<std::string> aliases = {ipv6_alias, ipv4_alias, other_alias};
   entry.set_aliases(aliases);
+
+  std::set<std::string> canonical_names = {ipv6_alias, ipv4_alias};
+  entry.set_canonical_names(canonical_names);
   EXPECT_TRUE(entry.GetEndpoints());
 
   ConnectionEndpointMetadata metadata1;
   metadata1.supported_protocol_alpns = {"h3", "h2"};
   metadata1.ech_config_list = {'f', 'o', 'o'};
+  metadata1.target_name = ipv6_alias;
   ConnectionEndpointMetadata metadata2;
   metadata2.supported_protocol_alpns = {"h2", "h4"};
+  metadata2.target_name = ipv4_alias;
   HostCache::Entry metadata_entry(
       OK,
       std::multimap<HttpsRecordPriority, ConnectionEndpointMetadata>{
@@ -1722,6 +1730,19 @@
 
   auto merged_entry = HostCache::Entry::MergeEntries(entry, metadata_entry);
 
+  EXPECT_THAT(merged_entry.GetEndpoints(),
+              Optional(ElementsAre(ExpectEndpointResult(ip_endpoints))));
+  EXPECT_THAT(
+      merged_entry.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(
+          ExpectConnectionEndpointMetadata(testing::ElementsAre("h3", "h2"),
+                                           testing::ElementsAre('f', 'o', 'o'),
+                                           ipv6_alias),
+          ExpectConnectionEndpointMetadata(testing::ElementsAre("h2", "h4"),
+                                           IsEmpty(), ipv4_alias))));
+  EXPECT_THAT(merged_entry.canonical_names(),
+              testing::Optional(UnorderedElementsAre(ipv4_alias, ipv6_alias)));
+
   HostCache cache(kMaxCacheEntries);
   cache.Set(key, merged_entry, now, ttl);
   EXPECT_EQ(1u, cache.size());
@@ -1744,11 +1765,19 @@
 
   ASSERT_TRUE(result);
   EXPECT_THAT(result, Pointee(Pair(key, EntryContentsEqual(merged_entry))));
+  EXPECT_THAT(result->second.GetEndpoints(),
+              Optional(ElementsAre(ExpectEndpointResult(ip_endpoints))));
   EXPECT_THAT(
-      result->second.GetEndpoints(),
-      Optional(ElementsAre(ExpectEndpointResult(ip_endpoints, metadata1),
-                           ExpectEndpointResult(ip_endpoints, metadata2),
-                           ExpectEndpointResult(ip_endpoints))));
+      result->second.GetMetadatas(),
+      testing::Optional(testing::ElementsAre(
+          ExpectConnectionEndpointMetadata(testing::ElementsAre("h3", "h2"),
+                                           testing::ElementsAre('f', 'o', 'o'),
+                                           ipv6_alias),
+          ExpectConnectionEndpointMetadata(testing::ElementsAre("h2", "h4"),
+                                           IsEmpty(), ipv4_alias))));
+  EXPECT_THAT(result->second.canonical_names(),
+              testing::Optional(UnorderedElementsAre(ipv4_alias, ipv6_alias)));
+
   EXPECT_THAT(result->second.aliases(), Pointee(aliases));
 }
 
@@ -1991,16 +2020,89 @@
   EXPECT_FALSE(result.GetEndpoints());
 }
 
-TEST(HostCacheTest, MergeMetadatasWithIpEndpoints) {
+TEST(HostCacheTest, MergeMetadatasWithIpEndpointsDifferentCanonicalName) {
+  std::string target_name = "example.com";
+  std::string other_target_name = "other.example.com";
+  ConnectionEndpointMetadata metadata;
+  metadata.supported_protocol_alpns = {"h5", "h6", "monster truck rally"};
+  metadata.ech_config_list = {'h', 'i'};
+  metadata.target_name = target_name;
+
+  std::multimap<HttpsRecordPriority, ConnectionEndpointMetadata> metadata_map{
+      {4u, metadata}};
+  HostCache::Entry metadata_entry(OK, metadata_map,
+                                  HostCache::Entry::SOURCE_DNS);
+
+  // Expect `GetEndpoints()` to always ignore metadatas with no `IPEndPoint`s.
+  EXPECT_FALSE(metadata_entry.GetEndpoints());
+
+  // Merge in an `IPEndPoint` with different canonical name.
+  IPEndPoint ip_endpoint(IPAddress(1, 1, 1, 1), 0);
+  HostCache::Entry with_ip_endpoint(OK, std::vector<IPEndPoint>{ip_endpoint},
+                                    HostCache::Entry::SOURCE_DNS);
+  with_ip_endpoint.set_canonical_names(
+      std::set<std::string>{other_target_name});
+  HostCache::Entry result =
+      HostCache::Entry::MergeEntries(metadata_entry, with_ip_endpoint);
+
+  // Expect `GetEndpoints()` not to return the metadata.
+  EXPECT_THAT(result.GetEndpoints(),
+              Optional(ElementsAre(
+                  ExpectEndpointResult(std::vector<IPEndPoint>{ip_endpoint}))));
+
+  // Expect merge order irrelevant.
+  EXPECT_EQ(result,
+            HostCache::Entry::MergeEntries(with_ip_endpoint, metadata_entry));
+}
+
+TEST(HostCacheTest, MergeMetadatasWithIpEndpointsMatchingCanonicalName) {
+  std::string target_name = "example.com";
+  ConnectionEndpointMetadata metadata;
+  metadata.supported_protocol_alpns = {"h5", "h6", "monster truck rally"};
+  metadata.ech_config_list = {'h', 'i'};
+  metadata.target_name = target_name;
+
+  std::multimap<HttpsRecordPriority, ConnectionEndpointMetadata> metadata_map{
+      {4u, metadata}};
+  HostCache::Entry metadata_entry(OK, metadata_map,
+                                  HostCache::Entry::SOURCE_DNS);
+
+  // Expect `GetEndpoints()` to always ignore metadatas with no `IPEndPoint`s.
+  EXPECT_FALSE(metadata_entry.GetEndpoints());
+
+  // Merge in an `IPEndPoint` with different canonical name.
+  IPEndPoint ip_endpoint(IPAddress(1, 1, 1, 1), 0);
+  HostCache::Entry with_ip_endpoint(OK, std::vector<IPEndPoint>{ip_endpoint},
+                                    HostCache::Entry::SOURCE_DNS);
+  with_ip_endpoint.set_canonical_names(std::set<std::string>{target_name});
+  HostCache::Entry result =
+      HostCache::Entry::MergeEntries(metadata_entry, with_ip_endpoint);
+
+  // Expect `GetEndpoints()` to return the metadata.
+  EXPECT_THAT(result.GetEndpoints(),
+              Optional(ElementsAre(
+                  ExpectEndpointResult(ElementsAre(ip_endpoint), metadata),
+                  ExpectEndpointResult(ElementsAre(ip_endpoint)))));
+
+  // Expect merge order irrelevant.
+  EXPECT_EQ(result,
+            HostCache::Entry::MergeEntries(with_ip_endpoint, metadata_entry));
+}
+
+TEST(HostCacheTest, MergeMultipleMetadatasWithIpEndpoints) {
+  std::string target_name = "example.com";
   ConnectionEndpointMetadata front_metadata;
   front_metadata.supported_protocol_alpns = {"h5", "h6", "monster truck rally"};
   front_metadata.ech_config_list = {'h', 'i'};
+  front_metadata.target_name = target_name;
+
   std::multimap<HttpsRecordPriority, ConnectionEndpointMetadata>
       front_metadata_map{{4u, front_metadata}};
   HostCache::Entry front(OK, front_metadata_map, HostCache::Entry::SOURCE_DNS);
 
   ConnectionEndpointMetadata back_metadata;
   back_metadata.supported_protocol_alpns = {"h5"};
+  back_metadata.target_name = target_name;
   std::multimap<HttpsRecordPriority, ConnectionEndpointMetadata>
       back_metadata_map{{2u, back_metadata}};
   HostCache::Entry back(OK, back_metadata_map, HostCache::Entry::SOURCE_DNS);
@@ -2018,6 +2120,7 @@
   IPEndPoint ip_endpoint(IPAddress(1, 1, 1, 1), 0);
   HostCache::Entry with_ip_endpoint(OK, std::vector<IPEndPoint>{ip_endpoint},
                                     HostCache::Entry::SOURCE_DNS);
+  with_ip_endpoint.set_canonical_names(std::set<std::string>{target_name});
 
   HostCache::Entry result =
       HostCache::Entry::MergeEntries(merged_metadatas, with_ip_endpoint);
diff --git a/net/dns/host_resolver_manager_unittest.cc b/net/dns/host_resolver_manager_unittest.cc
index 1654539..c082335 100644
--- a/net/dns/host_resolver_manager_unittest.cc
+++ b/net/dns/host_resolver_manager_unittest.cc
@@ -10653,13 +10653,15 @@
       resolve_context_->host_cache()));
   EXPECT_THAT(response.result_error(), IsOk());
   EXPECT_TRUE(response.request()->GetAddressResults());
-  EXPECT_THAT(response.request()->GetEndpointResults(),
-              testing::Pointee(testing::ElementsAre(
-                  ExpectEndpointResult(
-                      testing::SizeIs(2),
-                      ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                          dns_protocol::kHttpsServiceDefaultAlpn))),
-                  ExpectEndpointResult(testing::SizeIs(2)))));
+  EXPECT_THAT(
+      response.request()->GetEndpointResults(),
+      testing::Pointee(testing::ElementsAre(
+          ExpectEndpointResult(
+              testing::SizeIs(2),
+              ExpectConnectionEndpointMetadata(
+                  testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn),
+                  testing::IsEmpty(), kName)),
+          ExpectEndpointResult(testing::SizeIs(2)))));
   EXPECT_FALSE(response.request()->GetTextResults());
   EXPECT_FALSE(response.request()->GetHostnameResults());
   EXPECT_THAT(response.request()->GetExperimentalResultsForTesting(),
@@ -10703,13 +10705,15 @@
       resolve_context_->host_cache()));
   EXPECT_THAT(response.result_error(), IsOk());
   EXPECT_TRUE(response.request()->GetAddressResults());
-  EXPECT_THAT(response.request()->GetEndpointResults(),
-              testing::Pointee(testing::ElementsAre(
-                  ExpectEndpointResult(
-                      testing::SizeIs(2),
-                      ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                          dns_protocol::kHttpsServiceDefaultAlpn))),
-                  ExpectEndpointResult(testing::SizeIs(2)))));
+  EXPECT_THAT(
+      response.request()->GetEndpointResults(),
+      testing::Pointee(testing::ElementsAre(
+          ExpectEndpointResult(
+              testing::SizeIs(2),
+              ExpectConnectionEndpointMetadata(
+                  testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn),
+                  testing::IsEmpty(), kName)),
+          ExpectEndpointResult(testing::SizeIs(2)))));
   EXPECT_FALSE(response.request()->GetTextResults());
   EXPECT_FALSE(response.request()->GetHostnameResults());
   EXPECT_THAT(response.request()->GetExperimentalResultsForTesting(),
@@ -10811,7 +10815,7 @@
               ExpectConnectionEndpointMetadata(
                   testing::UnorderedElementsAre(
                       "foo1", "foo2", dns_protocol::kHttpsServiceDefaultAlpn),
-                  testing::ElementsAreArray(kEch))),
+                  testing::ElementsAreArray(kEch), kName)),
           ExpectEndpointResult(testing::SizeIs(2)))));
   EXPECT_FALSE(response.request()->GetTextResults());
   EXPECT_FALSE(response.request()->GetHostnameResults());
@@ -10898,13 +10902,15 @@
       resolve_context_->host_cache()));
   EXPECT_THAT(response.result_error(), IsOk());
   EXPECT_TRUE(response.request()->GetAddressResults());
-  EXPECT_THAT(response.request()->GetEndpointResults(),
-              testing::Pointee(testing::ElementsAre(
-                  ExpectEndpointResult(
-                      testing::SizeIs(2),
-                      ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                          dns_protocol::kHttpsServiceDefaultAlpn))),
-                  ExpectEndpointResult(testing::SizeIs(2)))));
+  EXPECT_THAT(
+      response.request()->GetEndpointResults(),
+      testing::Pointee(testing::ElementsAre(
+          ExpectEndpointResult(
+              testing::SizeIs(2),
+              ExpectConnectionEndpointMetadata(
+                  testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn),
+                  testing::IsEmpty(), kName)),
+          ExpectEndpointResult(testing::SizeIs(2)))));
   EXPECT_FALSE(response.request()->GetTextResults());
   EXPECT_FALSE(response.request()->GetHostnameResults());
   EXPECT_THAT(response.request()->GetExperimentalResultsForTesting(),
@@ -11533,13 +11539,15 @@
       resolve_context_->host_cache()));
   EXPECT_THAT(response.result_error(), IsOk());
   EXPECT_TRUE(response.request()->GetAddressResults());
-  EXPECT_THAT(response.request()->GetEndpointResults(),
-              testing::Pointee(testing::ElementsAre(
-                  ExpectEndpointResult(
-                      testing::SizeIs(2),
-                      ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                          dns_protocol::kHttpsServiceDefaultAlpn))),
-                  ExpectEndpointResult(testing::SizeIs(2)))));
+  EXPECT_THAT(
+      response.request()->GetEndpointResults(),
+      testing::Pointee(testing::ElementsAre(
+          ExpectEndpointResult(
+              testing::SizeIs(2),
+              ExpectConnectionEndpointMetadata(
+                  testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn),
+                  testing::IsEmpty(), kName)),
+          ExpectEndpointResult(testing::SizeIs(2)))));
   EXPECT_FALSE(response.request()->GetTextResults());
   EXPECT_FALSE(response.request()->GetHostnameResults());
   EXPECT_THAT(response.request()->GetExperimentalResultsForTesting(),
@@ -11979,13 +11987,15 @@
 
   EXPECT_THAT(response.result_error(), IsOk());
   EXPECT_TRUE(response.request()->GetAddressResults());
-  EXPECT_THAT(response.request()->GetEndpointResults(),
-              testing::Pointee(testing::ElementsAre(
-                  ExpectEndpointResult(
-                      testing::SizeIs(2),
-                      ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                          dns_protocol::kHttpsServiceDefaultAlpn))),
-                  ExpectEndpointResult(testing::SizeIs(2)))));
+  EXPECT_THAT(
+      response.request()->GetEndpointResults(),
+      testing::Pointee(testing::ElementsAre(
+          ExpectEndpointResult(
+              testing::SizeIs(2),
+              ExpectConnectionEndpointMetadata(
+                  testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn),
+                  testing::IsEmpty(), kName)),
+          ExpectEndpointResult(testing::SizeIs(2)))));
   EXPECT_FALSE(response.request()->GetTextResults());
   EXPECT_FALSE(response.request()->GetHostnameResults());
   EXPECT_THAT(response.request()->GetExperimentalResultsForTesting(),
@@ -13143,13 +13153,15 @@
   dns_client_->CompleteDelayedTransactions();
   EXPECT_THAT(response.result_error(), IsOk());
   EXPECT_TRUE(response.request()->GetAddressResults());
-  EXPECT_THAT(response.request()->GetEndpointResults(),
-              testing::Pointee(testing::ElementsAre(
-                  ExpectEndpointResult(
-                      testing::SizeIs(2),
-                      ExpectConnectionEndpointMetadata(testing::ElementsAre(
-                          dns_protocol::kHttpsServiceDefaultAlpn))),
-                  ExpectEndpointResult(testing::SizeIs(2)))));
+  EXPECT_THAT(
+      response.request()->GetEndpointResults(),
+      testing::Pointee(testing::ElementsAre(
+          ExpectEndpointResult(
+              testing::SizeIs(2),
+              ExpectConnectionEndpointMetadata(
+                  testing::ElementsAre(dns_protocol::kHttpsServiceDefaultAlpn),
+                  testing::IsEmpty(), kName)),
+          ExpectEndpointResult(testing::SizeIs(2)))));
   EXPECT_FALSE(response.request()->GetTextResults());
   EXPECT_FALSE(response.request()->GetHostnameResults());
   EXPECT_THAT(response.request()->GetExperimentalResultsForTesting(),
diff --git a/net/third_party/quiche/BUILD.gn b/net/third_party/quiche/BUILD.gn
index 83b877c..317f05e8 100644
--- a/net/third_party/quiche/BUILD.gn
+++ b/net/third_party/quiche/BUILD.gn
@@ -54,8 +54,6 @@
 
 component("quiche") {
   sources = [
-    "overrides/quiche_platform_impl/quic_flags_impl.cc",
-    "overrides/quiche_platform_impl/quic_flags_impl.h",
     "overrides/quiche_platform_impl/quiche_bug_tracker_impl.h",
     "overrides/quiche_platform_impl/quiche_client_stats_impl.h",
     "overrides/quiche_platform_impl/quiche_containers_impl.h",
@@ -96,6 +94,8 @@
     "src/quiche/common/platform/api/quiche_thread_local.h",
     "src/quiche/common/platform/api/quiche_time_utils.h",
     "src/quiche/common/platform/api/quiche_url_utils.h",
+    "src/quiche/common/platform/default/quiche_platform_impl/quic_flags_impl.cc",
+    "src/quiche/common/platform/default/quiche_platform_impl/quic_flags_impl.h",
     "src/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.cc",
     "src/quiche/common/platform/default/quiche_platform_impl/quiche_flags_impl.h",
     "src/quiche/common/platform/default/quiche_platform_impl/quiche_prefetch_impl.h",
diff --git a/net/third_party/quiche/overrides/quiche_platform_impl/quic_flags_impl.cc b/net/third_party/quiche/overrides/quiche_platform_impl/quic_flags_impl.cc
deleted file mode 100644
index 74df54e..0000000
--- a/net/third_party/quiche/overrides/quiche_platform_impl/quic_flags_impl.cc
+++ /dev/null
@@ -1,29 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/third_party/quiche/overrides/quiche_platform_impl/quic_flags_impl.h"
-
-#define DEFINE_QUIC_PROTOCOL_FLAG_SINGLE_VALUE(type, flag, value, doc) \
-  type FLAGS_##flag = value;
-
-#define DEFINE_QUIC_PROTOCOL_FLAG_TWO_VALUES(type, flag, internal_value, \
-                                             external_value, doc)        \
-  type FLAGS_##flag = external_value;
-
-// Preprocessor macros can only have one definition.
-// Select the right macro based on the number of arguments.
-#define GET_6TH_ARG(arg1, arg2, arg3, arg4, arg5, arg6, ...) arg6
-#define QUIC_PROTOCOL_FLAG_MACRO_CHOOSER(...)                    \
-  GET_6TH_ARG(__VA_ARGS__, DEFINE_QUIC_PROTOCOL_FLAG_TWO_VALUES, \
-              DEFINE_QUIC_PROTOCOL_FLAG_SINGLE_VALUE)
-#define QUIC_PROTOCOL_FLAG(...) \
-  QUIC_PROTOCOL_FLAG_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__)
-
-#include "net/third_party/quiche/src/quiche/quic/core/quic_protocol_flags_list.h"
-
-#undef QUIC_PROTOCOL_FLAG
-#undef QUIC_PROTOCOL_FLAG_MACRO_CHOOSER
-#undef GET_6TH_ARG
-#undef DEFINE_QUIC_PROTOCOL_FLAG_TWO_VALUES
-#undef DEFINE_QUIC_PROTOCOL_FLAG_SINGLE_VALUE
diff --git a/net/third_party/quiche/overrides/quiche_platform_impl/quic_flags_impl.h b/net/third_party/quiche/overrides/quiche_platform_impl/quic_flags_impl.h
deleted file mode 100644
index 82e9c93..0000000
--- a/net/third_party/quiche/overrides/quiche_platform_impl/quic_flags_impl.h
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef NET_THIRD_PARTY_QUICHE_OVERRIDES_QUICHE_PLATFORM_IMPL_QUIC_FLAGS_IMPL_H_
-#define NET_THIRD_PARTY_QUICHE_OVERRIDES_QUICHE_PLATFORM_IMPL_QUIC_FLAGS_IMPL_H_
-
-#include <cstdint>
-
-#include "net/third_party/quiche/src/quiche/quic/platform/api/quic_export.h"
-
-#define QUIC_PROTOCOL_FLAG(type, flag, ...) \
-  QUIC_EXPORT_PRIVATE extern type FLAGS_##flag;
-#include "net/third_party/quiche/src/quiche/quic/core/quic_protocol_flags_list.h"
-#undef QUIC_PROTOCOL_FLAG
-
-#endif  // NET_THIRD_PARTY_QUICHE_OVERRIDES_QUICHE_PLATFORM_IMPL_QUIC_FLAGS_IMPL_H_
diff --git a/sandbox/linux/seccomp-bpf/trap.cc b/sandbox/linux/seccomp-bpf/trap.cc
index cb71a9b..b0c0257 100644
--- a/sandbox/linux/seccomp-bpf/trap.cc
+++ b/sandbox/linux/seccomp-bpf/trap.cc
@@ -12,12 +12,13 @@
 #include <sys/syscall.h>
 
 #include <algorithm>
+#include <atomic>
 #include <limits>
 #include <tuple>
 
 #include "base/compiler_specific.h"
 #include "base/logging.h"
-#include "base/memory/raw_ptr.h"
+#include "base/memory/raw_ptr_exclusion.h"
 #include "build/build_config.h"
 #include "sandbox/linux/bpf_dsl/seccomp_macros.h"
 #include "sandbox/linux/seccomp-bpf/die.h"
@@ -29,7 +30,9 @@
 namespace {
 
 struct arch_sigsys {
-  raw_ptr<void> ip;
+  // This is not raw_ptr because it is a pointer to a code address given to us
+  // by the kernel.
+  RAW_PTR_EXCLUSION void* ip;
   int nr;
   unsigned int arch;
 };
@@ -77,11 +80,7 @@
 
 namespace sandbox {
 
-Trap::Trap()
-    : trap_array_(nullptr),
-      trap_array_size_(0),
-      trap_array_capacity_(0),
-      has_unsafe_traps_(false) {
+Trap::Trap() {
   // Set new SIGSYS handler
   struct sigaction sa = {};
   // In some toolchain, sa_sigaction is not declared in struct sigaction.
@@ -239,7 +238,7 @@
     struct arch_seccomp_data data = {
         static_cast<int>(SECCOMP_SYSCALL(ctx)),
         SECCOMP_ARCH,
-        reinterpret_cast<uint64_t>(sigsys.ip.get()),
+        reinterpret_cast<uint64_t>(sigsys.ip),
         {static_cast<uint64_t>(SECCOMP_PARM1(ctx)),
          static_cast<uint64_t>(SECCOMP_PARM2(ctx)),
          static_cast<uint64_t>(SECCOMP_PARM3(ctx)),
@@ -333,24 +332,11 @@
     TrapKey* new_trap_array = new TrapKey[trap_array_capacity_];
     std::copy_n(old_trap_array, trap_array_size_, new_trap_array);
 
-    // Language specs are unclear on whether the compiler is allowed to move
-    // the "delete[]" above our preceding assignments and/or memory moves,
-    // iff the compiler believes that "delete[]" doesn't have any other
-    // global side-effects.
-    // We insert optimization barriers to prevent this from happening.
-    // The first barrier is probably not needed, but better be explicit in
-    // what we want to tell the compiler.
-    // The clang developer mailing list couldn't answer whether this is a
-    // legitimate worry; but they at least thought that the barrier is
-    // sufficient to prevent the (so far hypothetical) problem of re-ordering
-    // of instructions by the compiler.
-    //
-    // TODO(mdempsky): Try to clean this up using base/atomicops or C++11
-    // atomics; see crbug.com/414363.
-    asm volatile("" : "=r"(new_trap_array) : "0"(new_trap_array) : "memory");
     trap_array_ = new_trap_array;
-    asm volatile("" : "=r"(trap_array_) : "0"(trap_array_) : "memory");
-
+    // Prevent the compiler from moving delete[] before the store of the
+    // |new_trap_array|, otherwise a concurrent SIGSYS may see a |trap_array_|
+    // that still points to |old_trap_array| after it has been deleted.
+    std::atomic_signal_fence(std::memory_order_release);
     delete[] old_trap_array;
   }
 
diff --git a/sandbox/linux/seccomp-bpf/trap.h b/sandbox/linux/seccomp-bpf/trap.h
index cc17d26..37d2029 100644
--- a/sandbox/linux/seccomp-bpf/trap.h
+++ b/sandbox/linux/seccomp-bpf/trap.h
@@ -10,7 +10,7 @@
 
 #include <map>
 
-#include "base/memory/raw_ptr.h"
+#include "base/memory/raw_ptr_exclusion.h"
 #include "sandbox/linux/bpf_dsl/trap_registry.h"
 #include "sandbox/linux/system_headers/linux_signal.h"
 #include "sandbox/sandbox_export.h"
@@ -75,11 +75,15 @@
   // events.
   static Trap* global_trap_;
 
-  TrapIds trap_ids_;            // Maps from TrapKeys to numeric ids
-  raw_ptr<TrapKey> trap_array_;  // Array of TrapKeys indexed by ids
-  size_t trap_array_size_;      // Currently used size of array
-  size_t trap_array_capacity_;  // Currently allocated capacity of array
-  bool has_unsafe_traps_;       // Whether unsafe traps have been enabled
+  TrapIds trap_ids_;  // Maps from TrapKeys to numeric ids
+  // Array of TrapKeys indexed by ids.
+  //
+  // This is not a raw_ptr as it is an owning pointer anyway, and is meant to be
+  // used between normal code and signal handlers.
+  RAW_PTR_EXCLUSION TrapKey* trap_array_ = nullptr;
+  size_t trap_array_size_ = 0;      // Currently used size of array
+  size_t trap_array_capacity_ = 0;  // Currently allocated capacity of array
+  bool has_unsafe_traps_ = false;   // Whether unsafe traps have been enabled
 };
 
 }  // namespace sandbox
diff --git a/services/device/compute_pressure/BUILD.gn b/services/device/compute_pressure/BUILD.gn
index 7be9e30..5725f7da 100644
--- a/services/device/compute_pressure/BUILD.gn
+++ b/services/device/compute_pressure/BUILD.gn
@@ -4,6 +4,15 @@
 
 import("//build/config/features.gni")
 
+if (is_win) {
+  # This is in a separate config so the flags can be applied to dependents.
+  # ldflags in GN aren't automatically inherited.
+  config("compute_pressure_win_linker_flags") {
+    libs = [ "pdh.lib" ]
+    ldflags = [ "/DELAYLOAD:pdh.dll" ]
+  }
+}
+
 source_set("compute_pressure") {
   visibility = [ "//services/device:*" ]
 
@@ -34,4 +43,15 @@
       "procfs_stat_cpu_parser.h",
     ]
   }
+
+  if (is_win) {
+    sources += [
+      "cpu_probe_win.cc",
+      "cpu_probe_win.h",
+      "scoped_pdh_query.cc",
+      "scoped_pdh_query.h",
+    ]
+
+    all_dependent_configs = [ ":compute_pressure_win_linker_flags" ]
+  }
 }
diff --git a/services/device/compute_pressure/cpu_probe.cc b/services/device/compute_pressure/cpu_probe.cc
index 7df8527..26e16b9 100644
--- a/services/device/compute_pressure/cpu_probe.cc
+++ b/services/device/compute_pressure/cpu_probe.cc
@@ -12,6 +12,8 @@
 #include "services/device/compute_pressure/pressure_sample.h"
 #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
 #include "services/device/compute_pressure/cpu_probe_linux.h"
+#elif BUILDFLAG(IS_WIN)
+#include "services/device/compute_pressure/cpu_probe_win.h"
 #endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
 
 namespace device {
@@ -54,6 +56,8 @@
   return nullptr;
 #elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
   return CpuProbeLinux::Create();
+#elif BUILDFLAG(IS_WIN)
+  return CpuProbeWin::Create();
 #else
   return std::make_unique<NullCpuProbe>();
 #endif  // BUILDFLAG(IS_ANDROID)
diff --git a/services/device/compute_pressure/cpu_probe_win.cc b/services/device/compute_pressure/cpu_probe_win.cc
new file mode 100644
index 0000000..d014065
--- /dev/null
+++ b/services/device/compute_pressure/cpu_probe_win.cc
@@ -0,0 +1,75 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/compute_pressure/cpu_probe_win.h"
+
+#include "base/logging.h"
+#include "base/memory/ptr_util.h"
+
+namespace device {
+
+// static
+std::unique_ptr<CpuProbeWin> CpuProbeWin::Create() {
+  return base::WrapUnique(new CpuProbeWin());
+}
+
+CpuProbeWin::CpuProbeWin() {
+  DETACH_FROM_SEQUENCE(sequence_checker_);
+}
+
+CpuProbeWin::~CpuProbeWin() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+}
+
+void CpuProbeWin::Update() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  const auto& result = GetPdhData();
+  if (result.has_value()) {
+    last_sample_ = std::move(result.value());
+  } else {
+    last_sample_ = kUnsupportedValue;
+    LOG(ERROR) << result.error();
+  }
+}
+
+PressureSample CpuProbeWin::LastSample() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  return last_sample_;
+}
+
+base::expected<PressureSample, std::string> CpuProbeWin::GetPdhData() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  PDH_STATUS pdh_status;
+
+  if (!cpu_query_.is_valid()) {
+    cpu_query_ = ScopedPdhQuery::Create();
+    if (!cpu_query_.is_valid())
+      return base::unexpected("PdhOpenQuery failed.");
+
+    pdh_status = PdhAddEnglishCounter(cpu_query_.get(),
+                                      L"\\Processor(_Total)\\% Processor Time",
+                                      NULL, &cpu_percent_utilization_);
+    if (pdh_status != ERROR_SUCCESS) {
+      cpu_query_.reset();
+      return base::unexpected("PdhAddEnglishCounter failed.");
+    }
+  }
+
+  pdh_status = PdhCollectQueryData(cpu_query_.get());
+  if (pdh_status != ERROR_SUCCESS)
+    return base::unexpected("PdhCollectQueryData failed.");
+
+  PDH_FMT_COUNTERVALUE counter_value;
+  pdh_status = PdhGetFormattedCounterValue(
+      cpu_percent_utilization_, PDH_FMT_DOUBLE, NULL, &counter_value);
+  if (pdh_status != ERROR_SUCCESS)
+    return base::unexpected("PdhGetFormattedCounterValue failed.");
+
+  return PressureSample{counter_value.doubleValue / 100.0};
+}
+
+}  // namespace device
diff --git a/services/device/compute_pressure/cpu_probe_win.h b/services/device/compute_pressure/cpu_probe_win.h
new file mode 100644
index 0000000..148f5e4
--- /dev/null
+++ b/services/device/compute_pressure/cpu_probe_win.h
@@ -0,0 +1,53 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SERVICES_DEVICE_COMPUTE_PRESSURE_CPU_PROBE_WIN_H_
+#define SERVICES_DEVICE_COMPUTE_PRESSURE_CPU_PROBE_WIN_H_
+
+#include <memory>
+#include <string>
+
+#include "base/sequence_checker.h"
+#include "base/thread_annotations.h"
+#include "base/types/expected.h"
+#include "services/device/compute_pressure/cpu_probe.h"
+#include "services/device/compute_pressure/pressure_sample.h"
+#include "services/device/compute_pressure/scoped_pdh_query.h"
+
+namespace device {
+
+class CpuProbeWin : public CpuProbe {
+ public:
+  // Factory method for production instances.
+  static std::unique_ptr<CpuProbeWin> Create();
+
+  ~CpuProbeWin() override;
+
+  CpuProbeWin(const CpuProbeWin&) = delete;
+  CpuProbeWin& operator=(const CpuProbeWin&) = delete;
+
+  // CpuProbe implementation.
+  void Update() override;
+  PressureSample LastSample() override;
+
+ private:
+  CpuProbeWin();
+
+  base::expected<PressureSample, std::string> GetPdhData();
+
+  SEQUENCE_CHECKER(sequence_checker_);
+
+  // Used to derive CPU utilization.
+  ScopedPdhQuery cpu_query_;
+  // This "handle" doesn't need to be freed but its lifetime is associated
+  // with cpu_query_.
+  PDH_HCOUNTER cpu_percent_utilization_;
+
+  PressureSample last_sample_ GUARDED_BY_CONTEXT(sequence_checker_) =
+      kUnsupportedValue;
+};
+
+}  // namespace device
+
+#endif  // SERVICES_DEVICE_COMPUTE_PRESSURE_CPU_PROBE_WIN_H_
diff --git a/services/device/compute_pressure/scoped_pdh_query.cc b/services/device/compute_pressure/scoped_pdh_query.cc
new file mode 100644
index 0000000..79bef64
--- /dev/null
+++ b/services/device/compute_pressure/scoped_pdh_query.cc
@@ -0,0 +1,23 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/device/compute_pressure/scoped_pdh_query.h"
+
+namespace device {
+
+ScopedPdhQuery::ScopedPdhQuery() = default;
+
+ScopedPdhQuery::ScopedPdhQuery(PDH_HQUERY pdh_query)
+    : ScopedGeneric(pdh_query) {}
+
+// static
+ScopedPdhQuery ScopedPdhQuery::Create() {
+  PDH_HQUERY pdh_query;
+  PDH_STATUS pdh_status = PdhOpenQuery(NULL, NULL, &pdh_query);
+  if (pdh_status == ERROR_SUCCESS)
+    return ScopedPdhQuery(std::move(pdh_query));
+  return ScopedPdhQuery();
+}
+
+}  // namespace device
diff --git a/services/device/compute_pressure/scoped_pdh_query.h b/services/device/compute_pressure/scoped_pdh_query.h
new file mode 100644
index 0000000..2c8191f
--- /dev/null
+++ b/services/device/compute_pressure/scoped_pdh_query.h
@@ -0,0 +1,50 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef SERVICES_DEVICE_COMPUTE_PRESSURE_SCOPED_PDH_QUERY_H_
+#define SERVICES_DEVICE_COMPUTE_PRESSURE_SCOPED_PDH_QUERY_H_
+
+#include <pdh.h>
+
+#include "base/scoped_generic.h"
+
+namespace device {
+
+namespace internal {
+
+// Scoped PdhQuery class to maintain lifetime of PDH_HQUERY.
+struct ScopedPdhQueryTraits {
+  static PDH_HQUERY InvalidValue() { return NULL; }
+  static void Free(PDH_HQUERY query) { PdhCloseQuery(query); }
+};
+
+}  // namespace internal
+
+// ScopedPdhQuery is a wrapper around a PDH_HQUERY.
+//
+// Example use:
+//
+//   ScopedPdhQuery pdh_query = ScopedPdhQuery::Create();
+//
+// Also:
+//
+//   PDH_HQUERY pdh_query;
+//   PDH_STATUS status = PdhOpenQuery(..., &pdh_query);
+//   ScopedPdhQuery pdh_query(pdh_query);
+class ScopedPdhQuery
+    : public base::ScopedGeneric<PDH_HQUERY, internal::ScopedPdhQueryTraits> {
+ public:
+  // Initializes with a NULL PDH_HQUERY.
+  ScopedPdhQuery();
+
+  // Constructs a ScopedPdhQuery from a PDH_HQUERY, and takes ownership of
+  // `pdh_query`.
+  explicit ScopedPdhQuery(PDH_HQUERY pdh_query);
+
+  static ScopedPdhQuery Create();
+};
+
+}  // namespace device
+
+#endif  // SERVICES_DEVICE_COMPUTE_PRESSURE_SCOPED_PDH_QUERY_H_
diff --git a/testing/buildbot/chrome.json b/testing/buildbot/chrome.json
index 7faf199..f8fefb1 100644
--- a/testing/buildbot/chrome.json
+++ b/testing/buildbot/chrome.json
@@ -2965,7 +2965,7 @@
             }
           ],
           "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json
index 02a87cf..7e9c5c6 100644
--- a/testing/buildbot/chromium.chromiumos.json
+++ b/testing/buildbot/chromium.chromiumos.json
@@ -2040,7 +2040,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -5330,7 +5330,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
diff --git a/testing/buildbot/chromium.clang.json b/testing/buildbot/chromium.clang.json
index 83e67e55..964d632 100644
--- a/testing/buildbot/chromium.clang.json
+++ b/testing/buildbot/chromium.clang.json
@@ -418,7 +418,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -1973,7 +1973,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -11786,7 +11786,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -13418,7 +13418,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -15129,7 +15129,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -16675,7 +16675,7 @@
             }
           ],
           "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -18108,7 +18108,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -18988,7 +18988,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -20512,7 +20512,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -22039,7 +22039,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -23967,7 +23967,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -25601,7 +25601,7 @@
             }
           ],
           "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -27450,7 +27450,7 @@
         "swarming": {
           "can_use_on_swarming_builders": true,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -28706,7 +28706,7 @@
         "swarming": {
           "can_use_on_swarming_builders": true,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -29930,7 +29930,7 @@
         "swarming": {
           "can_use_on_swarming_builders": true,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -31342,7 +31342,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -33182,7 +33182,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -35022,7 +35022,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -36561,7 +36561,7 @@
         "swarming": {
           "can_use_on_swarming_builders": true,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -37384,7 +37384,7 @@
             }
           ],
           "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -39224,7 +39224,7 @@
             }
           ],
           "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -42832,7 +42832,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index 148c771..6381041 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -458,7 +458,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -2262,7 +2262,7 @@
           "expiration": 10800,
           "hard_timeout": 7200,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -4229,7 +4229,7 @@
           "expiration": 10800,
           "hard_timeout": 7200,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -6209,7 +6209,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -77546,7 +77546,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -79144,7 +79144,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -79942,7 +79942,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -80813,7 +80813,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -85873,7 +85873,7 @@
         "swarming": {
           "can_use_on_swarming_builders": true,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -87388,7 +87388,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -89230,7 +89230,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -91344,7 +91344,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -93089,7 +93089,7 @@
           ],
           "expiration": 21600,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -97377,7 +97377,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -99680,7 +99680,7 @@
         "swarming": {
           "can_use_on_swarming_builders": true,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
diff --git a/testing/buildbot/chromium.linux.json b/testing/buildbot/chromium.linux.json
index 2a2b943..1d42f68 100644
--- a/testing/buildbot/chromium.linux.json
+++ b/testing/buildbot/chromium.linux.json
@@ -368,7 +368,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -1271,7 +1271,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -2338,7 +2338,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -4676,7 +4676,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -6442,7 +6442,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
diff --git a/testing/buildbot/chromium.mac.json b/testing/buildbot/chromium.mac.json
index 31efc06e..8568ab7 100644
--- a/testing/buildbot/chromium.mac.json
+++ b/testing/buildbot/chromium.mac.json
@@ -413,7 +413,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -2202,7 +2202,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -3999,7 +3999,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -20796,7 +20796,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -22619,7 +22619,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index c7cdb0c9..5ca9c3a 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -4076,7 +4076,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -5766,7 +5766,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -7657,7 +7657,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -9457,7 +9457,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -13010,7 +13010,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -20454,7 +20454,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -22248,7 +22248,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -23795,7 +23795,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
diff --git a/testing/buildbot/chromium.win.json b/testing/buildbot/chromium.win.json
index 58461da7..d1d330e 100644
--- a/testing/buildbot/chromium.win.json
+++ b/testing/buildbot/chromium.win.json
@@ -503,7 +503,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -2637,7 +2637,7 @@
           ],
           "quickrun_shards": 18,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -4935,7 +4935,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -7037,7 +7037,7 @@
             }
           ],
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
@@ -9275,7 +9275,7 @@
         "swarming": {
           "can_use_on_swarming_builders": true,
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
-          "shards": 6
+          "shards": 8
         },
         "test": "content_browsertests",
         "test_id_prefix": "ninja://content/test:content_browsertests/"
diff --git a/testing/buildbot/filters/android.emulator_n.chrome_public_test_apk.filter b/testing/buildbot/filters/android.emulator_n.chrome_public_test_apk.filter
index 0524c17..1a24d19 100644
--- a/testing/buildbot/filters/android.emulator_n.chrome_public_test_apk.filter
+++ b/testing/buildbot/filters/android.emulator_n.chrome_public_test_apk.filter
@@ -18,3 +18,6 @@
 
 # TODO(crbug/1347903)
 -org.chromium.chrome.features.start_surface.StartSurfaceBackButtonTest.testShow_SingleAsHomepage_BackButtonWithTabSwitcher__NoInstant_Return
+
+# TODO(crbug/1349083)
+-org.chromium.chrome.browser.sync.SyncErrorCardPreferenceTest.testSyncErrorCardForPassphraseRequiredWithTitleFeatureDisabled__NightModeEnabled
diff --git a/testing/buildbot/filters/android.emulator_n.content_shell_test_apk.filter b/testing/buildbot/filters/android.emulator_n.content_shell_test_apk.filter
index 64b43a3..9614434 100644
--- a/testing/buildbot/filters/android.emulator_n.content_shell_test_apk.filter
+++ b/testing/buildbot/filters/android.emulator_n.content_shell_test_apk.filter
@@ -1,3 +1,6 @@
-# crbug.com/1189804
+# TODO(crbug.com/1189804)
 -org.chromium.content.browser.input.ImeInputModeTest.testShowAndHideInputMode
 -org.chromium.content.browser.input.ImeInputModeTest.testShowAndHideInputModeWithPhysicalKeyboard
+
+# TODO(crbug.com/1233309)
+-org.chromium.content.browser.GestureDetectorResetTest.testSeparateClicksAreRegisteredOnReload
diff --git a/testing/buildbot/filters/linux-lacros.browser_tests.filter b/testing/buildbot/filters/linux-lacros.browser_tests.filter
index b822f3e3..c222465d 100644
--- a/testing/buildbot/filters/linux-lacros.browser_tests.filter
+++ b/testing/buildbot/filters/linux-lacros.browser_tests.filter
@@ -35,4 +35,5 @@
 # instantly close and causes these tests to fail. Until a solution is
 # introduced with wayland support or a workaround can be discovered in the
 # browser tests, simply disable them.
+-AccessCodeCastDialogBrowserTest.*
 -AccessCodeCastHandlerBrowserTest.*
diff --git a/testing/buildbot/filters/ozone-linux.wayland_browser_tests.filter b/testing/buildbot/filters/ozone-linux.wayland_browser_tests.filter
index b0bb0b6..b171fa57 100644
--- a/testing/buildbot/filters/ozone-linux.wayland_browser_tests.filter
+++ b/testing/buildbot/filters/ozone-linux.wayland_browser_tests.filter
@@ -53,4 +53,5 @@
 # dialog object to instantly close and causes these tests to fail. Until a
 # solution is introduced with wayland support or a workaround can be discovered
 # in the browser tests, simply disable them.
+-AccessCodeCastDialogBrowserTest.*
 -AccessCodeCastHandlerBrowserTest.*
diff --git a/testing/buildbot/filters/pixel_tests.filter b/testing/buildbot/filters/pixel_tests.filter
index 26cb35c..e11b1eb 100644
--- a/testing/buildbot/filters/pixel_tests.filter
+++ b/testing/buildbot/filters/pixel_tests.filter
@@ -10,6 +10,7 @@
 # run; only use interactive_ui_tests if running your test in browser_tests
 # causes flakes (due to widget activation, occlusion, etc.)
 
+AccessCodeCastDialogBrowserTest.*
 AccuracyTipBubbleViewDialogBrowserTest.*
 AppInfoDialogBrowserTest.*
 AskGoogleForSuggestionsDialogTest.*
diff --git a/testing/buildbot/test_suites.pyl b/testing/buildbot/test_suites.pyl
index 2e780d7..06c9641 100644
--- a/testing/buildbot/test_suites.pyl
+++ b/testing/buildbot/test_suites.pyl
@@ -926,7 +926,7 @@
           'shards': 15,
         },
         'swarming': {
-          'shards': 6,
+          'shards': 8,
         },
       },
       'content_unittests': {
diff --git a/testing/merge_scripts/OWNERS b/testing/merge_scripts/OWNERS
index d591a3e..c97e964 100644
--- a/testing/merge_scripts/OWNERS
+++ b/testing/merge_scripts/OWNERS
@@ -1 +1,5 @@
-kbr@chromium.org
+# Intended to be those familiar with the Chromium recipe. Namely:
+# https://source.chromium.org/chromium/chromium/tools/build/+/main:recipes/recipes/chromium/OWNERS
+bpastene@chromium.org
+gbeaty@chromium.org
+kimstephanie@chromium.org
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 12a11c4..a6331b1 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -3270,6 +3270,25 @@
             ]
         }
     ],
+    "DesktopNtpFre": [
+        {
+            "platforms": [
+                "chromeos",
+                "chromeos_lacros",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Fre",
+                    "enable_features": [
+                        "NtpModulesFirstRunExperience"
+                    ]
+                }
+            ]
+        }
+    ],
     "DesktopNtpModules": [
         {
             "platforms": [
@@ -3315,7 +3334,6 @@
                     "enable_features": [
                         "NtpChromeCartModule",
                         "NtpDriveModule",
-                        "NtpModulesFirstRunExperience",
                         "NtpModulesLoadTimeoutMilliseconds",
                         "NtpRecipeTasksModule"
                     ],
@@ -3343,51 +3361,6 @@
                     "disable_features": [
                         "NtpShoppingTasksModule"
                     ]
-                },
-                {
-                    "name": "Fre_20220509",
-                    "params": {
-                        "NtpChromeCartModuleAbandonedCartDiscountParam": "true",
-                        "NtpChromeCartModuleAbandonedCartDiscountUseUtmParam": "true",
-                        "NtpChromeCartModuleHeuristicsImprovementParam": "true",
-                        "NtpDriveModuleExperimentGroupParam": "foo:bar",
-                        "NtpDriveModuleManagedUsersOnlyParam": "true",
-                        "NtpModulesLoadTimeoutMillisecondsParam": "3000",
-                        "discount-fetch-delay": "1h",
-                        "use_sapi_v2": "true"
-                    },
-                    "enable_features": [
-                        "NtpChromeCartModule",
-                        "NtpDriveModule",
-                        "NtpModulesFirstRunExperience",
-                        "NtpModulesLoadTimeoutMilliseconds",
-                        "NtpRecipeTasksModule"
-                    ],
-                    "disable_features": [
-                        "NtpShoppingTasksModule"
-                    ]
-                },
-                {
-                    "name": "Fre_Control_20220509",
-                    "params": {
-                        "NtpChromeCartModuleAbandonedCartDiscountParam": "true",
-                        "NtpChromeCartModuleAbandonedCartDiscountUseUtmParam": "true",
-                        "NtpChromeCartModuleHeuristicsImprovementParam": "true",
-                        "NtpDriveModuleExperimentGroupParam": "foo:bar",
-                        "NtpDriveModuleManagedUsersOnlyParam": "true",
-                        "NtpModulesLoadTimeoutMillisecondsParam": "3000",
-                        "discount-fetch-delay": "1h"
-                    },
-                    "enable_features": [
-                        "NtpChromeCartModule",
-                        "NtpDriveModule",
-                        "NtpModulesFirstRunExperience",
-                        "NtpModulesLoadTimeoutMilliseconds",
-                        "NtpRecipeTasksModule"
-                    ],
-                    "disable_features": [
-                        "NtpShoppingTasksModule"
-                    ]
                 }
             ]
         }
@@ -6092,6 +6065,25 @@
             ]
         }
     ],
+    "NormalPriorityImageDecoding": [
+        {
+            "platforms": [
+                "chromeos",
+                "chromeos_lacros",
+                "linux",
+                "mac",
+                "windows"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled",
+                    "enable_features": [
+                        "NormalPriorityImageDecoding"
+                    ]
+                }
+            ]
+        }
+    ],
     "NtpRealboxDesignUpdates": [
         {
             "platforms": [
@@ -6188,7 +6180,6 @@
                     },
                     "enable_features": [
                         "LocalHistorySuggestRevamp",
-                        "OmniboxAggregateShortcuts",
                         "OmniboxBlurWithEscape",
                         "OmniboxBookmarkPaths",
                         "OmniboxClosePopupWithEscape",
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index 96723e1..482aafa 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -20,11 +20,41 @@
 const base::Feature kAutomaticLazyFrameLoadingToAds{
     "AutomaticLazyFrameLoadingToAds", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// The timeout value that forces loading iframes that are lazy loaded by
+// LazyAds. After this timeout, the frame loading is triggered even when the
+// intersection observer does not trigger iframe loading.
+const base::FeatureParam<int> kTimeoutMillisForLazyAds(
+    &features::kAutomaticLazyFrameLoadingToAds,
+    "timeout",
+    0);
+
+// Skip applying LazyAds for the first "skip_frame_count" frames in the
+// document, and apply LazyAds the rest if they are eligible.
+const base::FeatureParam<int> kSkipFrameCountForLazyAds(
+    &features::kAutomaticLazyFrameLoadingToAds,
+    "skip_frame_count",
+    0);
+
 // Apply lazy-loading to frames which have embeds likely impacting Core Web
 // Vitals.
 const base::Feature kAutomaticLazyFrameLoadingToEmbeds{
     "AutomaticLazyFrameLoadingToEmbeds", base::FEATURE_DISABLED_BY_DEFAULT};
 
+// The timeout value that forces loading iframes that are lazy loaded by
+// LazyEmbeds. After this timeout, the frame loading is triggered even when the
+// intersection observer does not trigger iframe loading.
+const base::FeatureParam<int> kTimeoutMillisForLazyEmbeds(
+    &features::kAutomaticLazyFrameLoadingToEmbeds,
+    "timeout",
+    0);
+
+// Skip applying LazyEmbeds for the first "skip_frame_count" frames in the
+// document, and apply LazyEmbeds the rest if they are eligible.
+const base::FeatureParam<int> kSkipFrameCountForLazyEmbeds(
+    &features::kAutomaticLazyFrameLoadingToEmbeds,
+    "skip_frame_count",
+    0);
+
 // Define the allowed websites to use LazyEmbeds. The allowed websites need to
 // be defined separately from kAutomaticLazyFrameLoadingToEmbeds because we want
 // to gather Blink.AutomaticLazyLoadFrame.LazyEmbedFrameCount UKM data even when
@@ -1503,6 +1533,9 @@
 const base::Feature kForceDeferScriptIntervention{
     "ForceDeferScriptIntervention", base::FEATURE_DISABLED_BY_DEFAULT};
 
+const base::Feature kForceInOrderScript{"ForceInOrderScript",
+                                        base::FEATURE_DISABLED_BY_DEFAULT};
+
 const base::Feature kAllowSourceSwitchOnPausedVideoMediaStream{
     "AllowSourceSwitchOnPausedVideoMediaStream",
     base::FEATURE_ENABLED_BY_DEFAULT};
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
index 48702c7..74ba86f 100644
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -18,8 +18,16 @@
 namespace features {
 
 BLINK_COMMON_EXPORT extern const base::Feature kAutomaticLazyFrameLoadingToAds;
+BLINK_COMMON_EXPORT extern const base::FeatureParam<int>
+    kTimeoutMillisForLazyAds;
+BLINK_COMMON_EXPORT extern const base::FeatureParam<int>
+    kSkipFrameCountForLazyAds;
 BLINK_COMMON_EXPORT extern const base::Feature
     kAutomaticLazyFrameLoadingToEmbeds;
+BLINK_COMMON_EXPORT extern const base::FeatureParam<int>
+    kTimeoutMillisForLazyEmbeds;
+BLINK_COMMON_EXPORT extern const base::FeatureParam<int>
+    kSkipFrameCountForLazyEmbeds;
 BLINK_COMMON_EXPORT extern const base::Feature
     kAutomaticLazyFrameLoadingToEmbedUrls;
 BLINK_COMMON_EXPORT extern const base::Feature kBackForwardCacheDedicatedWorker;
@@ -755,6 +763,10 @@
 // https://crbug.com/1339112
 BLINK_COMMON_EXPORT extern const base::Feature kForceDeferScriptIntervention;
 
+// If enabled, parser-blocking scripts are loaded asynchronously but the
+// execution order is respected. See https://crbug.com/1344772
+BLINK_COMMON_EXPORT extern const base::Feature kForceInOrderScript;
+
 // If enabled, allows MediaStreamVideoSource objects to be restarted by a
 // successful source switch. Normally, switching the source would only allowed
 // on streams that are in started state. However, changing the source also first
diff --git a/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom b/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
index a9730cf..d93ac6f 100644
--- a/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
+++ b/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
@@ -3635,6 +3635,7 @@
   kLinkRelPrefetchAsDocumentCrossOrigin = 4314,
   kPersistentQuotaType = 4315,
   kCrossOriginScrollIntoView = 4316,
+  kLinkRelCanonical = 4317,
 
   // Add new features immediately above this line. Don't change assigned
   // numbers of any item, and don't reuse removed slots.
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index be04f2f2..4b58564 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -6745,6 +6745,14 @@
   data_->lazy_embeds_frame_count_++;
 }
 
+void Document::IncrementImmediateChildFrameCreationCount() {
+  data_->immediate_child_frame_creation_count_++;
+}
+
+int Document::GetImmediateChildFrameCreationCount() const {
+  return data_->immediate_child_frame_creation_count_;
+}
+
 DOMWindow* Document::defaultView() const {
   return dom_window_;
 }
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
index 0f78bd00..1aaaa90 100644
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
@@ -1826,6 +1826,8 @@
 
   void IncrementLazyAdsFrameCount();
   void IncrementLazyEmbedsFrameCount();
+  void IncrementImmediateChildFrameCreationCount();
+  int GetImmediateChildFrameCreationCount() const;
 
   enum class DeclarativeShadowRootAllowState : uint8_t {
     kNotSet,
diff --git a/third_party/blink/renderer/core/dom/document_data.h b/third_party/blink/renderer/core/dom/document_data.h
index c39208d..174694f 100644
--- a/third_party/blink/renderer/core/dom/document_data.h
+++ b/third_party/blink/renderer/core/dom/document_data.h
@@ -69,6 +69,10 @@
   // prevents sending UKM multiple times.
   bool already_sent_automatic_lazy_load_frame_ukm_ = false;
 
+  // The number of immediate child frames created within this document so far.
+  // This count doesn't include this document's frame nor descendant frames.
+  int immediate_child_frame_creation_count_ = 0;
+
   friend class Document;
 };
 
diff --git a/third_party/blink/renderer/core/frame/local_frame_view.cc b/third_party/blink/renderer/core/frame/local_frame_view.cc
index 1bd0569..5d02678 100644
--- a/third_party/blink/renderer/core/frame/local_frame_view.cc
+++ b/third_party/blink/renderer/core/frame/local_frame_view.cc
@@ -288,7 +288,17 @@
       unique_id_(NewUniqueObjectId()),
       layout_shift_tracker_(MakeGarbageCollected<LayoutShiftTracker>(this)),
       paint_timing_detector_(MakeGarbageCollected<PaintTimingDetector>(this)),
-      mobile_friendliness_checker_(MobileFriendlinessChecker::Create(*this))
+      mobile_friendliness_checker_(
+          // Only run the mobile friendliness checker for the outermost main
+          // frame. The checker will iterate through all local frames in the
+          // current blink::Page. Also skip the mobile friendliness checks for
+          // "non-ordinary" pages by checking IsLocalFrameClientImpl(), since
+          // it's not useful to generate mobile friendliness metrics for
+          // devtools, svg, etc.
+          GetFrame().Client()->IsLocalFrameClientImpl() &&
+                  GetFrame().IsOutermostMainFrame()
+              ? MakeGarbageCollected<MobileFriendlinessChecker>(*this)
+              : nullptr)
 #if DCHECK_IS_ON()
       ,
       is_updating_descendant_dependent_flags_(false),
diff --git a/third_party/blink/renderer/core/html/html_frame_owner_element.cc b/third_party/blink/renderer/core/html/html_frame_owner_element.cc
index de2d46af..67f79dd 100644
--- a/third_party/blink/renderer/core/html/html_frame_owner_element.cc
+++ b/third_party/blink/renderer/core/html/html_frame_owner_element.cc
@@ -135,6 +135,21 @@
   kMaxValue = kTargetFramesFound,
 };
 
+int GetLazyAdsSkipFrameCount() {
+  DCHECK(
+      base::FeatureList::IsEnabled(features::kAutomaticLazyFrameLoadingToAds));
+  static const int skip_frame_count = features::kSkipFrameCountForLazyAds.Get();
+  return skip_frame_count;
+}
+
+int GetLazyEmbedsSkipFrameCount() {
+  DCHECK(base::FeatureList::IsEnabled(
+      features::kAutomaticLazyFrameLoadingToEmbeds));
+  static const int skip_frame_count =
+      features::kSkipFrameCountForLazyEmbeds.Get();
+  return skip_frame_count;
+}
+
 bool CheckAndRecordIfShouldLazilyLoadFrame(const Document& document,
                                            bool is_loading_attr_lazy,
                                            bool is_eligible_for_lazy_embeds,
@@ -199,12 +214,16 @@
 
   if (is_eligible_for_lazy_embeds &&
       base::FeatureList::IsEnabled(
-          features::kAutomaticLazyFrameLoadingToEmbeds)) {
+          features::kAutomaticLazyFrameLoadingToEmbeds) &&
+      document.GetImmediateChildFrameCreationCount() >
+          GetLazyEmbedsSkipFrameCount()) {
     return true;
   }
 
   if (is_eligible_for_lazy_ads &&
-      base::FeatureList::IsEnabled(features::kAutomaticLazyFrameLoadingToAds)) {
+      base::FeatureList::IsEnabled(features::kAutomaticLazyFrameLoadingToAds) &&
+      document.GetImmediateChildFrameCreationCount() >
+          GetLazyAdsSkipFrameCount()) {
     return true;
   }
 
@@ -298,24 +317,22 @@
 
 const base::TimeDelta GetLazyEmbedsTimeoutMs() {
   if (!base::FeatureList::IsEnabled(
-          features::kAutomaticLazyFrameLoadingToEmbeds))
-    return base::Milliseconds(0);
+          features::kAutomaticLazyFrameLoadingToEmbeds)) {
+    return base::Milliseconds(
+        features::kTimeoutMillisForLazyEmbeds.default_value);
+  }
 
-  static const base::FeatureParam<int> kTimeout(
-      &features::kAutomaticLazyFrameLoadingToEmbeds, "timeout", 0);
-
-  static const base::TimeDelta timeout_ms = base::Milliseconds(kTimeout.Get());
+  static const base::TimeDelta timeout_ms =
+      base::Milliseconds(features::kTimeoutMillisForLazyEmbeds.Get());
   return timeout_ms;
 }
 
 const base::TimeDelta GetLazyAdsTimeoutMs() {
   if (!base::FeatureList::IsEnabled(features::kAutomaticLazyFrameLoadingToAds))
-    return base::Milliseconds(0);
+    return base::Milliseconds(features::kTimeoutMillisForLazyAds.default_value);
 
-  static const base::FeatureParam<int> kTimeout(
-      &features::kAutomaticLazyFrameLoadingToAds, "timeout", 0);
-
-  static const base::TimeDelta timeout_ms = base::Milliseconds(kTimeout.Get());
+  static const base::TimeDelta timeout_ms =
+      base::Milliseconds(features::kTimeoutMillisForLazyAds.Get());
   return timeout_ms;
 }
 
@@ -346,6 +363,7 @@
                                              Document& document)
     : HTMLElement(tag_name, document),
       should_lazy_load_children_(DoesParentAllowLazyLoadingChildren(document)) {
+  document.IncrementImmediateChildFrameCreationCount();
 }
 
 LayoutEmbeddedContent* HTMLFrameOwnerElement::GetLayoutEmbeddedContent() const {
diff --git a/third_party/blink/renderer/core/html/html_link_element.cc b/third_party/blink/renderer/core/html/html_link_element.cc
index a62dbba..5e06677 100644
--- a/third_party/blink/renderer/core/html/html_link_element.cc
+++ b/third_party/blink/renderer/core/html/html_link_element.cc
@@ -80,6 +80,10 @@
       UseCounter::Count(&GetDocument(),
                         WebFeature::kHTMLLinkElementMonetization);
     }
+    if (rel_attribute_.IsCanonical() &&
+        GetDocument().IsInOutermostMainFrame()) {
+      UseCounter::Count(&GetDocument(), WebFeature::kLinkRelCanonical);
+    }
     rel_list_->DidUpdateAttributeValue(params.old_value, value);
     Process();
   } else if (name == html_names::kBlockingAttr &&
diff --git a/third_party/blink/renderer/core/html/html_link_element_test.cc b/third_party/blink/renderer/core/html/html_link_element_test.cc
index 9617421c..7b56c21 100644
--- a/third_party/blink/renderer/core/html/html_link_element_test.cc
+++ b/third_party/blink/renderer/core/html/html_link_element_test.cc
@@ -85,4 +85,51 @@
       GetDocument().IsUseCounted(WebFeature::kHTMLLinkElementMonetization));
 }
 
+// This tests whether the Canonical counter is properly triggered.
+TEST_F(HTMLLinkElementTest, CanonicalCounter) {
+  // A <link rel="icon"> is not counted.
+  GetDocument().head()->setInnerHTML(R"HTML(
+    <link rel="icon" type="image/ico" href="">
+  )HTML");
+  EXPECT_FALSE(GetDocument().IsUseCounted(WebFeature::kLinkRelCanonical));
+
+  // A <link rel="canonoical"> is counted.
+  GetDocument().head()->setInnerHTML(R"HTML(
+    <link rel="canonical" href="">
+  )HTML");
+  EXPECT_TRUE(GetDocument().IsUseCounted(WebFeature::kLinkRelCanonical));
+}
+
+TEST_F(HTMLLinkElementSimTest, CanonicalNotCountedInSubFrame) {
+  SimRequest main_resource("https://example.com/", "text/html");
+  SimRequest child_frame_resource("https://example.com/subframe.html",
+                                  "text/html");
+
+  LoadURL("https://example.com/");
+
+  main_resource.Complete(
+      R"HTML(
+        <body onload='console.log("main body onload");'>
+          <iframe src='https://example.com/subframe.html'
+                  onload='console.log("child frame element onload");'></iframe>
+        </body>)HTML");
+
+  Compositor().BeginFrame();
+  test::RunPendingTasks();
+
+  child_frame_resource.Complete(R"HTML(
+    <link rel="canonical" href="">
+  )HTML");
+
+  Compositor().BeginFrame();
+  test::RunPendingTasks();
+
+  // Ensure that main frame and subframe are loaded before checking the counter.
+  EXPECT_TRUE(ConsoleMessages().Contains("main body onload"));
+  EXPECT_TRUE(ConsoleMessages().Contains("child frame element onload"));
+
+  // <link rel="canonical"> is not counted in subframes.
+  EXPECT_FALSE(GetDocument().IsUseCounted(WebFeature::kLinkRelCanonical));
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/html_script_element.cc b/third_party/blink/renderer/core/html/html_script_element.cc
index 1949348..734e9b2bd 100644
--- a/third_party/blink/renderer/core/html/html_script_element.cc
+++ b/third_party/blink/renderer/core/html/html_script_element.cc
@@ -23,6 +23,7 @@
 
 #include "third_party/blink/renderer/core/html/html_script_element.h"
 
+#include "third_party/blink/public/common/features.h"
 #include "third_party/blink/public/mojom/script/script_type.mojom-blink.h"
 #include "third_party/blink/renderer/bindings/core/v8/v8_union_htmlscriptelement_svgscriptelement.h"
 #include "third_party/blink/renderer/core/dom/attribute.h"
@@ -346,11 +347,22 @@
 }
 
 bool HTMLScriptElement::IsPotentiallyRenderBlocking() const {
-  return blocking_attribute_->HasRenderToken() ||
-         (loader_->IsParserInserted() &&
-          loader_->GetScriptType() ==
-              ScriptLoader::ScriptTypeAtPrepare::kClassic &&
-          !AsyncAttributeValue() && !DeferAttributeValue());
+  if (blocking_attribute_->HasRenderToken())
+    return true;
+
+  if (loader_->IsParserInserted() &&
+      loader_->GetScriptType() == ScriptLoader::ScriptTypeAtPrepare::kClassic) {
+    // If ForceInOrderScript is enabled, treat the script having src attribute
+    // as non-render blocking even if it has neither async nor defer attribute.
+    // Because the script is force-in-order'ed, which behaves like the scripts
+    // categorized ScriptSchedulingType::kInOrder. Those're not render blocking.
+    if (base::FeatureList::IsEnabled(features::kForceInOrderScript) &&
+        HasSourceAttribute())
+      return false;
+    return !AsyncAttributeValue() && !DeferAttributeValue();
+  }
+
+  return false;
 }
 
 // static
diff --git a/third_party/blink/renderer/core/html/resources/html.css b/third_party/blink/renderer/core/html/resources/html.css
index 4e9243e..00e771d 100644
--- a/third_party/blink/renderer/core/html/resources/html.css
+++ b/third_party/blink/renderer/core/html/resources/html.css
@@ -1368,14 +1368,16 @@
 }
 
 dialog:not([open]) {
+    /* https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3 */
     display: none;
 }
 
 dialog {
     display: block;
+    /* https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3 */
     position: absolute;
-    left: 0;
-    right: 0;
+    inset-inline-start: 0;
+    inset-inline-end: 0;
     width: fit-content;
     height: fit-content;
     margin: auto;
@@ -1386,13 +1388,14 @@
 }
 
 dialog:modal {
+    /* https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3 */
     position: fixed;
     overflow: auto;
-    top: 0;
-    bottom: 0;
-    /* 6px + 2em = border + padding, as by default box-sizing is content-box. */
+    inset-block-start: 0;
+    inset-block-end: 0;
     max-width: calc(100% - 6px - 2em);
     max-height: calc(100% - 6px - 2em);
+    /* https://github.com/w3c/csswg-drafts/issues/6939#issuecomment-1016679588 */
     user-select: text;
     visibility: visible;
 }
@@ -1405,6 +1408,7 @@
     right: 0;
     bottom: 0;
     left: 0;
+    /* https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3 */
     background: rgba(0,0,0,0.1)
 }
 
diff --git a/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.cc b/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.cc
index 3847efb2..ddad2c1 100644
--- a/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.cc
+++ b/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.cc
@@ -15,7 +15,6 @@
 #include "third_party/blink/renderer/core/frame/local_frame_view.h"
 #include "third_party/blink/renderer/core/frame/page_scale_constraints_set.h"
 #include "third_party/blink/renderer/core/frame/root_frame_viewport.h"
-#include "third_party/blink/renderer/core/frame/settings.h"
 #include "third_party/blink/renderer/core/frame/visual_viewport.h"
 #include "third_party/blink/renderer/core/html/forms/html_form_control_element.h"
 #include "third_party/blink/renderer/core/html/html_anchor_element.h"
@@ -400,23 +399,6 @@
 
 }  // namespace
 
-MobileFriendlinessChecker* MobileFriendlinessChecker::Create(
-    LocalFrameView& frame_view) {
-  // Only run the mobile friendliness checker for the outermost main
-  // frame. The checker will iterate through all local frames in the
-  // current blink::Page. Also skip the mobile friendliness checks for
-  // "non-ordinary" pages by checking IsLocalFrameClientImpl(), since
-  // it's not useful to generate mobile friendliness metrics for
-  // devtools, svg, etc.
-  if (!frame_view.GetFrame().Client()->IsLocalFrameClientImpl() ||
-      !frame_view.GetFrame().IsOutermostMainFrame() ||
-      !frame_view.GetPage()->GetSettings().GetViewportEnabled() ||
-      !frame_view.GetPage()->GetSettings().GetViewportMetaEnabled()) {
-    return nullptr;
-  }
-  return MakeGarbageCollected<MobileFriendlinessChecker>(frame_view);
-}
-
 MobileFriendlinessChecker* MobileFriendlinessChecker::From(
     const Document& document) {
   DCHECK(document.GetFrame());
diff --git a/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.h b/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.h
index d309be4..933fa67 100644
--- a/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.h
+++ b/third_party/blink/renderer/core/mobile_metrics/mobile_friendliness_checker.h
@@ -29,7 +29,6 @@
  public:
   explicit MobileFriendlinessChecker(LocalFrameView& frame_view);
   virtual ~MobileFriendlinessChecker();
-  static MobileFriendlinessChecker* Create(LocalFrameView& frame_view);
   static MobileFriendlinessChecker* From(const Document&);
 
   // LocalFrameView::LifecycleNotificationObserver implementation
diff --git a/third_party/blink/renderer/core/paint/fragment_data.cc b/third_party/blink/renderer/core/paint/fragment_data.cc
index 4161cbf..899d1c8 100644
--- a/third_party/blink/renderer/core/paint/fragment_data.cc
+++ b/third_party/blink/renderer/core/paint/fragment_data.cc
@@ -79,7 +79,7 @@
   return LocalBorderBoxProperties().Transform();
 }
 
-const TransformPaintPropertyNodeOrAlias& FragmentData::PostScrollTranslation()
+const TransformPaintPropertyNodeOrAlias& FragmentData::ContentsTransform()
     const {
   if (const auto* properties = PaintProperties()) {
     if (properties->TransformIsolationNode())
@@ -116,7 +116,7 @@
   return LocalBorderBoxProperties().Clip();
 }
 
-const ClipPaintPropertyNodeOrAlias& FragmentData::PostOverflowClip() const {
+const ClipPaintPropertyNodeOrAlias& FragmentData::ContentsClip() const {
   if (const auto* properties = PaintProperties()) {
     if (properties->ClipIsolationNode())
       return *properties->ClipIsolationNode();
@@ -128,22 +128,7 @@
   return LocalBorderBoxProperties().Clip();
 }
 
-const EffectPaintPropertyNodeOrAlias& FragmentData::PreEffect() const {
-  if (const auto* properties = PaintProperties()) {
-    if (const auto* effect = properties->Effect()) {
-      DCHECK(effect->Parent());
-      return *effect->Parent();
-    }
-    if (const auto* filter = properties->Filter()) {
-      DCHECK(filter->Parent());
-      return *filter->Parent();
-    }
-  }
-  return LocalBorderBoxProperties().Effect();
-}
-
-const EffectPaintPropertyNodeOrAlias& FragmentData::PostIsolationEffect()
-    const {
+const EffectPaintPropertyNodeOrAlias& FragmentData::ContentsEffect() const {
   if (const auto* properties = PaintProperties()) {
     if (properties->EffectIsolationNode())
       return *properties->EffectIsolationNode();
diff --git a/third_party/blink/renderer/core/paint/fragment_data.h b/third_party/blink/renderer/core/paint/fragment_data.h
index 7ea66c4..da8cc657 100644
--- a/third_party/blink/renderer/core/paint/fragment_data.h
+++ b/third_party/blink/renderer/core/paint/fragment_data.h
@@ -178,28 +178,21 @@
     return rare_data_ ? rare_data_->contents_cull_rect_ : CullRect();
   }
 
-  // This is the complete set of property nodes that is inherited
-  // from the ancestor before applying any local CSS properties,
-  // but includes paint offset transform.
-  PropertyTreeStateOrAlias PreEffectProperties() const {
-    return PropertyTreeStateOrAlias(PreTransform(), PreClip(), PreEffect());
-  }
-
-  // This is the complete set of property nodes that can be used to
-  // paint the contents of this fragment. It is similar to
-  // |local_border_box_properties_| but includes properties (e.g.,
-  // overflow clip, scroll translation) that apply to contents.
+  // This is the complete set of property nodes that can be used to paint the
+  // contents of this fragment. It is similar to LocalBorderBoxProperties()
+  // but includes properties (e.g., overflow clip, scroll translation,
+  // isolation nodes) that apply to contents.
   PropertyTreeStateOrAlias ContentsProperties() const {
-    return PropertyTreeStateOrAlias(PostScrollTranslation(), PostOverflowClip(),
-                                    PostIsolationEffect());
+    return PropertyTreeStateOrAlias(ContentsTransform(), ContentsClip(),
+                                    ContentsEffect());
   }
 
   const TransformPaintPropertyNodeOrAlias& PreTransform() const;
-  const TransformPaintPropertyNodeOrAlias& PostScrollTranslation() const;
   const ClipPaintPropertyNodeOrAlias& PreClip() const;
-  const ClipPaintPropertyNodeOrAlias& PostOverflowClip() const;
-  const EffectPaintPropertyNodeOrAlias& PreEffect() const;
-  const EffectPaintPropertyNodeOrAlias& PostIsolationEffect() const;
+
+  const ClipPaintPropertyNodeOrAlias& ContentsClip() const;
+  const TransformPaintPropertyNodeOrAlias& ContentsTransform() const;
+  const EffectPaintPropertyNodeOrAlias& ContentsEffect() const;
 
   ~FragmentData() = default;
   void Trace(Visitor* visitor) const { visitor->Trace(rare_data_); }
diff --git a/third_party/blink/renderer/core/paint/fragment_data_test.cc b/third_party/blink/renderer/core/paint/fragment_data_test.cc
index 97b21ca..9333229 100644
--- a/third_party/blink/renderer/core/paint/fragment_data_test.cc
+++ b/third_party/blink/renderer/core/paint/fragment_data_test.cc
@@ -7,12 +7,9 @@
 
 namespace blink {
 
-class FragmentDataTest : public RenderingTest {
- protected:
-  bool HasRareData(const FragmentData& data) { return !!data.rare_data_; }
-};
+class FragmentDataTest : public RenderingTest {};
 
-TEST_F(FragmentDataTest, PreEffectClipProperties) {
+TEST_F(FragmentDataTest, PreClip) {
   SetBodyInnerHTML(R"HTML(
     <style>
       #target {
@@ -31,7 +28,7 @@
   EXPECT_TRUE(properties->CssClip());
   EXPECT_EQ(properties->ClipPathClip(), properties->CssClip()->Parent());
   EXPECT_EQ(properties->ClipPathClip()->Parent(),
-            &target->FirstFragment().PreEffectProperties().Clip());
+            &target->FirstFragment().PreClip());
 }
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/paint/paint_layer_clipper.cc b/third_party/blink/renderer/core/paint/paint_layer_clipper.cc
index fc4776e..8e2b7515 100644
--- a/third_party/blink/renderer/core/paint/paint_layer_clipper.cc
+++ b/third_party/blink/renderer/core/paint/paint_layer_clipper.cc
@@ -293,7 +293,7 @@
     destination_property_tree_state.SetClip(context.root_fragment->PreClip());
   } else {
     destination_property_tree_state.SetClip(
-        context.root_fragment->PostOverflowClip());
+        context.root_fragment->ContentsClip());
   }
 
   // The background rect applies all clips *above* m_layer, but not the overflow
diff --git a/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc b/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
index dc20e98a..8279424 100644
--- a/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
+++ b/third_party/blink/renderer/core/paint/paint_property_tree_builder.cc
@@ -1437,15 +1437,13 @@
   const auto* layer = To<LayoutBoxModelObject>(object_).Layer();
   // Out-of-flow descendants not contained by this object may escape clips.
   if (layer->HasNonContainedAbsolutePositionDescendant() &&
-      &object_.ContainerForAbsolutePosition()
-              ->FirstFragment()
-              .PostOverflowClip() != context_.current.clip)
+      &object_.ContainerForAbsolutePosition()->FirstFragment().ContentsClip() !=
+          context_.current.clip)
     return false;
   if (layer->HasFixedPositionDescendant() &&
       !object_.CanContainFixedPositionObjects() &&
-      &object_.ContainerForFixedPosition()
-              ->FirstFragment()
-              .PostOverflowClip() != context_.current.clip)
+      &object_.ContainerForFixedPosition()->FirstFragment().ContentsClip() !=
+          context_.current.clip)
     return false;
 
   // Some descendants under a pagination container (e.g. composited objects
@@ -3631,7 +3629,7 @@
         logical_top_in_containing_flow_thread) {
       // Found a matching fragment in an ancestor container. Use the
       // container's content clip as the clip state.
-      found_clip = &container_fragment->PostOverflowClip();
+      found_clip = &container_fragment->ContentsClip();
       break;
     }
 
diff --git a/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc b/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc
index 9addcb58..5334391c 100644
--- a/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc
+++ b/third_party/blink/renderer/core/paint/paint_property_tree_builder_test.cc
@@ -7119,9 +7119,12 @@
   EXPECT_EQ(middle_properties->OverflowClip(), &relative_fragment.PreClip());
 
   // The opacity on |middle-scroller| applies to all children.
-  EXPECT_EQ(middle_properties->Effect(), &fixed_fragment.PreEffect());
-  EXPECT_EQ(middle_properties->Effect(), &absolute_fragment.PreEffect());
-  EXPECT_EQ(middle_properties->Effect(), &relative_fragment.PreEffect());
+  EXPECT_EQ(middle_properties->Effect(),
+            &fixed_fragment.LocalBorderBoxProperties().Effect());
+  EXPECT_EQ(middle_properties->Effect(),
+            &absolute_fragment.LocalBorderBoxProperties().Effect());
+  EXPECT_EQ(middle_properties->Effect(),
+            &relative_fragment.LocalBorderBoxProperties().Effect());
 }
 
 TEST_P(PaintPropertyTreeBuilderTest, CompositedInline) {
diff --git a/third_party/blink/renderer/core/paint/scoped_paint_state.cc b/third_party/blink/renderer/core/paint/scoped_paint_state.cc
index 04e3a902..8d151d8a 100644
--- a/third_party/blink/renderer/core/paint/scoped_paint_state.cc
+++ b/third_party/blink/renderer/core/paint/scoped_paint_state.cc
@@ -145,16 +145,15 @@
   if (input_paint_info_.phase == PaintPhase::kForeground) {
     // We treat horizontal-scrollable scrollers like replaced objects.
     if (auto* scrollable_area = box.GetScrollableArea()) {
-      if (scrollable_area->MaximumScrollOffset().x() > 0) {
-        if (!box.IsLayoutView()) {
-          if (auto* mf_checker =
-                  MobileFriendlinessChecker::From(box.GetDocument())) {
-            PhysicalRect content_rect = box.OverflowClipRect(paint_offset_);
-            content_rect.Intersect(
-                PhysicalRect(input_paint_info_.GetCullRect().Rect()));
-            mf_checker->NotifyPaintReplaced(content_rect);
-            mf_ignore_scope_.emplace(*mf_checker);
-          }
+      if (scrollable_area->HasHorizontalScrollbar()) {
+        if (auto* mf_checker =
+                MobileFriendlinessChecker::From(box.GetDocument())) {
+          PhysicalRect content_rect = box.LocalVisualRect();
+          content_rect.Move(paint_offset_);
+          content_rect.Intersect(
+              PhysicalRect(input_paint_info_.GetCullRect().Rect()));
+          mf_checker->NotifyPaintReplaced(content_rect);
+          mf_ignore_scope_.emplace(*mf_checker);
         }
       }
     }
diff --git a/third_party/blink/renderer/core/script/html_parser_script_runner.cc b/third_party/blink/renderer/core/script/html_parser_script_runner.cc
index 16f48d3..1485e86 100644
--- a/third_party/blink/renderer/core/script/html_parser_script_runner.cc
+++ b/third_party/blink/renderer/core/script/html_parser_script_runner.cc
@@ -186,6 +186,11 @@
   DCHECK(ParserBlockingScript());
   if (!document_->IsScriptExecutionReady())
     return false;
+  // TODO(crbug.com/1344772) Consider moving this condition to
+  // Document::IsScriptExecutionReady(), while we are not yet sure.
+  if (base::FeatureList::IsEnabled(features::kForceInOrderScript) &&
+      document_->GetScriptRunner()->HasForceInOrderScripts())
+    return false;
   return ParserBlockingScript()->IsReady();
 }
 
diff --git a/third_party/blink/renderer/core/script/pending_script.cc b/third_party/blink/renderer/core/script/pending_script.cc
index 39295140..3574318 100644
--- a/third_party/blink/renderer/core/script/pending_script.cc
+++ b/third_party/blink/renderer/core/script/pending_script.cc
@@ -335,6 +335,7 @@
 
     case ScriptSchedulingType::kInOrder:
     case ScriptSchedulingType::kAsync:
+    case ScriptSchedulingType::kForceInOrder:
       return true;
   }
   NOTREACHED();
diff --git a/third_party/blink/renderer/core/script/script_loader.cc b/third_party/blink/renderer/core/script/script_loader.cc
index 3ebecc7d..cf1acb9 100644
--- a/third_party/blink/renderer/core/script/script_loader.cc
+++ b/third_party/blink/renderer/core/script/script_loader.cc
@@ -220,6 +220,12 @@
   return base::FeatureList::IsEnabled(features::kForceDeferScriptIntervention);
 }
 
+// Determine if the script should be executed via
+// ScriptSchedulingType::kForceInOrder approach. The script will be loaded
+// asynchronously, executed with in-order (crbug.com/1344772).
+bool ShouldForceInOrderScript() {
+  return base::FeatureList::IsEnabled(features::kForceInOrderScript);
+}
 }  // namespace
 
 ScriptLoader::ScriptTypeAtPrepare ScriptLoader::GetScriptTypeAtPrepare(
@@ -963,6 +969,21 @@
     return true;
   }
 
+  // Check for external script that should be force in-order.
+  // Not only the pending scripts that would be marked (without the
+  // intervention) as ScriptSchedulingType::kParserBlocking or kInOrder, but
+  // also the scripts that would be marked as kAsync are put into the force
+  // in-order queue in ScriptRunner because we have to guarantee the execution
+  // order of the scripts.
+  if (GetScriptType() == ScriptTypeAtPrepare::kClassic &&
+      element_->HasSourceAttribute() && ShouldForceInOrderScript() &&
+      IsA<HTMLDocument>(context_window->document())) {
+    context_window->document()->GetScriptRunner()->QueueScriptForExecution(
+        TakePendingScript(ScriptSchedulingType::kForceInOrder));
+
+    return true;
+  }
+
   // <spec step="26.B">If the script's type is "classic", and the element has a
   // src attribute, and the element has been flagged as "parser-inserted", and
   // the element does not have an async attribute ...</spec>
@@ -1079,6 +1100,19 @@
     return true;
   }
 
+  // If ScriptRunner still has ForceInOrder scripts not executed yet, attempt to
+  // mark the inline script as parser blocking so that the inline script is
+  // evaluated after the ForceInOrder scripts are evaluated.
+  // TODO(crbug.com/1344772): Clean up this code block.
+  if (!element_->HasSourceAttribute() && parser_inserted_ &&
+      context_window->document()->GetScriptRunner()->HasForceInOrderScripts()) {
+    DCHECK(base::FeatureList::IsEnabled(features::kForceInOrderScript));
+    will_be_parser_executed_ = true;
+    ready_to_be_parser_executed_ = true;
+
+    return true;
+  }
+
   // <spec step="26.F">Otherwise
   //
   // Immediately execute the script block, even if other scripts are already
diff --git a/third_party/blink/renderer/core/script/script_runner.cc b/third_party/blink/renderer/core/script/script_runner.cc
index 0277d1a..c0760bc1 100644
--- a/third_party/blink/renderer/core/script/script_runner.cc
+++ b/third_party/blink/renderer/core/script/script_runner.cc
@@ -33,6 +33,7 @@
 #include "third_party/blink/public/platform/platform.h"
 #include "third_party/blink/public/platform/task_type.h"
 #include "third_party/blink/renderer/core/dom/document.h"
+#include "third_party/blink/renderer/core/dom/scriptable_document_parser.h"
 #include "third_party/blink/renderer/core/frame/local_dom_window.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/core/loader/document_loader.h"
@@ -91,6 +92,11 @@
       pending_in_order_scripts_.push_back(pending_script);
       break;
 
+    case ScriptSchedulingType::kForceInOrder:
+      pending_force_in_order_scripts_.push_back(pending_script);
+      pending_force_in_order_scripts_count_ += 1;
+      break;
+
     default:
       NOTREACHED();
       break;
@@ -136,6 +142,20 @@
                 WrapPersistent(pending_script)));
 }
 
+void ScriptRunner::ExecuteForceInOrderPendingScript(
+    PendingScript* pending_script) {
+  DCHECK_GT(pending_force_in_order_scripts_count_, 0u);
+  ExecutePendingScript(pending_script);
+  pending_force_in_order_scripts_count_ -= 1;
+}
+
+void ScriptRunner::ExecuteParserBlockingScriptsBlockedByForceInOrder() {
+  ScriptableDocumentParser* parser = document_->GetScriptableDocumentParser();
+  if (parser && document_->IsScriptExecutionReady()) {
+    parser->ExecuteScriptsWaitingForResources();
+  }
+}
+
 void ScriptRunner::PendingScriptFinished(PendingScript* pending_script) {
   pending_script->StopWatchingForLoad();
 
@@ -156,6 +176,26 @@
       }
       break;
 
+    case ScriptSchedulingType::kForceInOrder:
+      while (!pending_force_in_order_scripts_.IsEmpty() &&
+             pending_force_in_order_scripts_.front()->IsReady()) {
+        PendingScript* pending_in_order =
+            pending_force_in_order_scripts_.TakeFirst();
+        task_runner_->PostTask(
+            FROM_HERE,
+            WTF::Bind(&ScriptRunner::ExecuteForceInOrderPendingScript,
+                      WrapWeakPersistent(this),
+                      WrapPersistent(pending_in_order)));
+      }
+      if (pending_force_in_order_scripts_.IsEmpty()) {
+        task_runner_->PostTask(
+            FROM_HERE,
+            WTF::Bind(&ScriptRunner::
+                          ExecuteParserBlockingScriptsBlockedByForceInOrder,
+                      WrapWeakPersistent(this)));
+      }
+      break;
+
     default:
       NOTREACHED();
       break;
@@ -177,6 +217,7 @@
   visitor->Trace(document_);
   visitor->Trace(pending_in_order_scripts_);
   visitor->Trace(pending_async_scripts_);
+  visitor->Trace(pending_force_in_order_scripts_);
   PendingScriptClient::Trace(visitor);
 }
 
diff --git a/third_party/blink/renderer/core/script/script_runner.h b/third_party/blink/renderer/core/script/script_runner.h
index bed2ef4d..4b024575 100644
--- a/third_party/blink/renderer/core/script/script_runner.h
+++ b/third_party/blink/renderer/core/script/script_runner.h
@@ -88,12 +88,21 @@
     task_runner_ = task_runner;
   }
 
+  // Returns true until all force in-order scripts are evaluated.
+  // pending_force_in_order_scripts_ can be empty a little earlier than that.
+  bool HasForceInOrderScripts() const {
+    return pending_force_in_order_scripts_count_ > 0;
+  }
+
   void Trace(Visitor*) const override;
   const char* NameInHeapSnapshot() const override { return "ScriptRunner"; }
 
   // PendingScriptClient
   void PendingScriptFinished(PendingScript*) override;
 
+  void ExecuteForceInOrderPendingScript(PendingScript*);
+  void ExecuteParserBlockingScriptsBlockedByForceInOrder();
+
  private:
   // Execute the given pending script.
   void ExecutePendingScript(PendingScript*);
@@ -113,6 +122,12 @@
   // before its evaluation.
   HeapHashMap<Member<PendingScript>, DelayReasons> pending_async_scripts_;
 
+  HeapDeque<Member<PendingScript>> pending_force_in_order_scripts_;
+  // The number of force in-order scripts that aren't yet evaluated. This is
+  // different from pending_force_in_order_scripts_.size() == the number of
+  // force in-order scripts that aren't yet scheduled to evaluate.
+  wtf_size_t pending_force_in_order_scripts_count_ = 0;
+
   scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
 
   DelayReasons active_delay_reasons_ = 0;
diff --git a/third_party/blink/renderer/core/script/script_scheduling_type.h b/third_party/blink/renderer/core/script/script_scheduling_type.h
index 6a5a95a..35e811e1 100644
--- a/third_party/blink/renderer/core/script/script_scheduling_type.h
+++ b/third_party/blink/renderer/core/script/script_scheduling_type.h
@@ -71,7 +71,12 @@
   // Spec: not yet spec'ed. https://crbug.com/976061
   kForceDefer,
 
-  kMaxValue = kForceDefer,
+  // Force in-order scripts controlled by ScriptRunner.
+  //
+  // Spec: not yet spec'ed. https://crbug.com/1344772
+  kForceInOrder,
+
+  kMaxValue = kForceInOrder,
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 5f4a02e..67f169c1 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -1426,7 +1426,7 @@
     },
     {
       name: "MediaSourceInWorkers",
-      status: "experimental",
+      status: "stable",
       origin_trial_feature_name: "MediaSourceInWorkers",
     },
     {
@@ -1434,7 +1434,7 @@
       // being enabled. MediaSourceInWorkers is an OT feature, so this cannot
       // use the "depends_on" key.
       name: "MediaSourceInWorkersUsingHandle",
-      status: "experimental",
+      status: "stable",
     },
     {
       name: "MediaSourceNewAbortAndDuration",
diff --git a/third_party/blink/tools/blinkpy/common/path_finder.py b/third_party/blink/tools/blinkpy/common/path_finder.py
index 7f8fae5..26e930c5 100644
--- a/third_party/blink/tools/blinkpy/common/path_finder.py
+++ b/third_party/blink/tools/blinkpy/common/path_finder.py
@@ -56,6 +56,16 @@
         sys.path.insert(0, path)
 
 
+def bootstrap_wpt_imports():
+    """Bootstrap the availability of all wpt-vended packages."""
+    path = os.path.join(get_wpt_tools_wpt_dir(), 'tools')
+    if path not in sys.path:
+        sys.path.insert(0, path)
+    # This module is under `//third_party/wpt_tools/wpt/tools`, and has the side
+    # effect of inserting wpt-related directories into `sys.path`.
+    import localpaths
+
+
 def add_depot_tools_dir_to_os_path():
     path = get_depot_tools_dir()
     if path not in os.environ['PATH']:
@@ -137,6 +147,10 @@
         return self.path_from_chromium_base('third_party', 'blink',
                                             'web_tests')
 
+    def wpt_tests_dir(self):
+        return self.path_from_chromium_base('third_party', 'blink',
+                                            'web_tests', 'external', 'wpt')
+
     def perf_tests_dir(self):
         return self.path_from_chromium_base('third_party', 'blink',
                                             'perf_tests')
@@ -173,6 +187,9 @@
     def path_from_web_tests(self, *comps):
         return self._filesystem.join(self.web_tests_dir(), *comps)
 
+    def path_from_wpt_tests(self, *comps):
+        return self._filesystem.join(self.wpt_tests_dir(), *comps)
+
     def strip_web_tests_path(self, web_test_abs_path):
         web_tests_path = self.path_from_web_tests('')
         if web_test_abs_path.startswith(web_tests_path):
diff --git a/third_party/blink/tools/blinkpy/w3c/wpt_results_processor.py b/third_party/blink/tools/blinkpy/w3c/wpt_results_processor.py
index 6528015..2d030ca 100644
--- a/third_party/blink/tools/blinkpy/w3c/wpt_results_processor.py
+++ b/third_party/blink/tools/blinkpy/w3c/wpt_results_processor.py
@@ -9,10 +9,11 @@
 import logging
 import optparse
 
+import mozinfo
 import six
 
+from blinkpy.common import path_finder
 from blinkpy.common.html_diff import html_diff
-from blinkpy.common.path_finder import PathFinder
 from blinkpy.common.system.log_utils import configure_logging
 from blinkpy.common.unified_diff import unified_diff
 from blinkpy.web_tests.models import test_failures
@@ -22,6 +23,9 @@
     ResultSinkReporter,
 )
 
+path_finder.bootstrap_wpt_imports()
+from wptrunner import manifestexpected, wptmanifest
+
 _log = logging.getLogger(__name__)
 
 
@@ -41,6 +45,11 @@
     return six.ensure_text(diff_content, encoding)
 
 
+def _remove_query_params(test_name):
+    index = test_name.rfind('?')
+    return test_name if index == -1 else test_name[:index]
+
+
 class WPTResultsProcessor(object):
     def __init__(self,
                  host,
@@ -57,7 +66,9 @@
         self.results_dir = results_dir
         self.sink = sink or ResultSinkReporter()
         self.wpt_manifest = self.port.wpt_manifest('external/wpt')
-        self.path_finder = PathFinder(self.fs)
+        self.path_finder = path_finder.PathFinder(self.fs)
+        # Provide placeholder properties until the wptreport is processed.
+        self.run_info = dict(mozinfo.info)
 
     @classmethod
     def from_options(cls, host, options):
@@ -77,12 +88,12 @@
 
     def main(self, options):
         self._recreate_artifacts_dir()
-        self.process_wpt_results(options.wpt_results)
-        self._copy_results_viewer()
         if options.wpt_report:
             self.process_wpt_report(options.wpt_report)
         else:
             _log.debug('No wpt report to process')
+        self.process_wpt_results(options.wpt_results)
+        self._copy_results_viewer()
 
     @classmethod
     def parse_args(cls, argv=None):
@@ -265,7 +276,7 @@
                                             test_name_prefix))
             return test_names
 
-    def _locate_expected_text(self, test_name, extension='.ini'):
+    def _read_expected_metadata(self, test_name):
         """Try to locate the expected output of this test, if it exists.
 
         The expected output of a test is checked in to the source tree beside
@@ -274,19 +285,28 @@
         blinkpy manifest) or ".any.js" tests (which appear in the output even
         though they do not actually run). Instead, they have corresponding
         tests like ".any.worker.html" that are covered here.
+
+        Raises:
+            ValueError: If the expected metadata was unreadable or unparsable.
         """
         # When looking into the WPT manifest, we omit "external/wpt" from the
         # web test name, since that part of the path is only relevant in
         # Chromium.
         wpt_name = self.path_finder.strip_wpt_path(test_name)
+        # TODO(crbug.com/1299650): Support virtual tests and metadata fallback.
         test_file_subpath = self.wpt_manifest.file_path_for_test_url(wpt_name)
-        if test_file_subpath:
-            expected_path = self.fs.join(self.web_tests_dir,
-                                         self.path_finder.wpt_prefix(),
-                                         test_file_subpath + extension)
-            if self.fs.exists(expected_path):
-                return expected_path
-        return ''
+        if not test_file_subpath:
+            raise ValueError('test ID did not resolve to a file')
+        metadata_root = self.path_finder.wpt_tests_dir()
+        manifest = manifestexpected.get_manifest(metadata_root,
+                                                 test_file_subpath, '/',
+                                                 self.run_info)
+        if not manifest:
+            raise ValueError('unable to read ".ini" file from disk')
+        test_manifest = manifest.get_test('/' + wpt_name)
+        if not test_manifest:
+            raise ValueError('test ID does not exist')
+        return wptmanifest.serialize(test_manifest.node)
 
     def _maybe_write_text_results(self, artifacts, test_name, test_passed):
         """Write actual, expected, and diff text outputs to disk, if possible.
@@ -316,10 +336,11 @@
         )
         artifacts['actual_text'] = [actual_subpath]
 
-        expected_source_path = self._locate_expected_text(test_name)
-        if not expected_source_path:
+        try:
+            expected_text = self._read_expected_metadata(test_name)
+        except (ValueError, KeyError, wptmanifest.parser.ParseError) as error:
+            _log.error('Unable to read metadata for %s: %s', test_name, error)
             return
-        expected_text = self.fs.read_text_file(expected_source_path)
         expected_subpath = self._write_artifact(
             expected_text,
             test_name,
@@ -472,9 +493,6 @@
             text=False,
         )
 
-    def _remove_query_params(self, test_name):
-        index = test_name.rfind('?')
-        return test_name if index == -1 else test_name[:index]
 
     def _add_result_to_sink(self, node, test_name, test_name_prefix=''):
         """Add test results to the result sink."""
@@ -493,7 +511,7 @@
             for path in paths:
                 artifacts.AddArtifact(name, path)
         test_path = self.fs.join(self.web_tests_dir,
-                                 self._remove_query_params(test_name))
+                                 _remove_query_params(test_name))
 
         for iteration, (actual,
                         duration) in enumerate(zip(actual_statuses,
@@ -567,6 +585,8 @@
         artifact_path = self.fs.join(self.artifacts_dir, report_filename)
         with self.fs.open_text_file_for_writing(artifact_path) as report_file:
             json.dump(report, report_file)
+
+        self.run_info.update(report['run_info'])
         _log.info('Processed wpt report (%s -> %s)', report_path,
                   artifact_path)
         artifact = {
diff --git a/third_party/blink/tools/blinkpy/w3c/wpt_results_processor_unittest.py b/third_party/blink/tools/blinkpy/w3c/wpt_results_processor_unittest.py
index 4203bb2..c42a1528 100644
--- a/third_party/blink/tools/blinkpy/w3c/wpt_results_processor_unittest.py
+++ b/third_party/blink/tools/blinkpy/w3c/wpt_results_processor_unittest.py
@@ -3,9 +3,11 @@
 # found in the LICENSE file.
 
 import base64
+import contextlib
 import json
 import re
-import unittest
+import textwrap
+from unittest.mock import patch, mock_open
 
 from blinkpy.common.host_mock import MockHost as BlinkMockHost
 from blinkpy.common.path_finder import PathFinder
@@ -13,7 +15,6 @@
 from blinkpy.web_tests.port.factory_mock import MockPortFactory
 from blinkpy.w3c.wpt_manifest import BASE_MANIFEST_NAME
 from blinkpy.w3c.wpt_results_processor import WPTResultsProcessor
-from typ.fakes.host_fake import FakeHost as TypFakeHost
 
 # The path where the output of a wpt run was written. This is the file that
 # gets processed by WPTResultsProcessor.
@@ -21,10 +22,10 @@
 
 
 class MockResultSink(object):
-    def __init__(self):
+    def __init__(self, host):
         self.sink_requests = []
         self.invocation_level_artifacts = {}
-        self.host = TypFakeHost()
+        self.host = host
 
     def report_individual_test_result(self, test_name_prefix, result,
                                       artifact_output_dir, expectations,
@@ -57,6 +58,10 @@
         self.fs = self.host.filesystem
         self.path_finder = PathFinder(self.fs)
         port = self.host.port_factory.get()
+        # `MockFileSystem` and `TestPort` use different web test directory
+        # placements to test nonstandard layouts. That is not a goal of this
+        # test case, so we settle on the former for consistency.
+        port.web_tests_dir = self.path_finder.web_tests_dir
         self.wpt_report_path = self.fs.join('out', 'Default',
                                             'wpt_report.json')
 
@@ -122,7 +127,7 @@
             artifacts_dir=self.fs.join('out', 'Default',
                                        'layout-test-results'),
             results_dir=self.fs.join('out', 'Default'),
-            sink=MockResultSink())
+            sink=MockResultSink(port.typ_host()))
 
     def _create_json_output(self, json_dict):
         """Writing some json output for processing."""
@@ -132,6 +137,24 @@
         """Loads the json output after post-processing."""
         return json.loads(self.fs.read_text_file(filename))
 
+    def _open_mock(self, filename, mode='r', **_kwargs):
+        """A mock for Python's built-in `open` backed by a Blink FS."""
+        mode_match = re.match(r'([rwa])(b?)', mode).groups()
+        open_func_map = {
+            ('r', ''): self.fs.open_text_file_for_reading,
+            ('w', ''): self.fs.open_text_file_for_writing,
+            ('r', 'b'): self.fs.open_binary_file_for_reading,
+            ('w', 'b'): self.fs.open_binary_file_for_writing,
+        }
+        return open_func_map[mode_match](filename)
+
+    @contextlib.contextmanager
+    def _mock_filesystem_builtins(self):
+        with contextlib.ExitStack() as stack:
+            stack.enter_context(patch('builtins.open', self._open_mock))
+            stack.enter_context(patch('os.path.join', self.fs.join))
+            yield
+
     def test_result_sink_for_test_expected_result(self):
         json_dict = {
             'tests': {
@@ -404,16 +427,15 @@
         # Verify JSONP
         artifact_path = self.fs.join(self.processor.artifacts_dir,
                                      'full_results_jsonp.js')
-        full_results_jsonp = written_files[artifact_path].decode('utf-8')
+        full_results_jsonp = self.fs.read_text_file(artifact_path)
         match = re.match(r'ADD_FULL_RESULTS\((.*)\);$', full_results_jsonp)
         self.assertIsNotNone(match)
-        self.assertEqual(
-            match.group(1),
-            written_files[OUTPUT_JSON_FILENAME].decode(encoding='utf-8'))
+        self.assertEqual(match.group(1),
+                         self.fs.read_text_file(OUTPUT_JSON_FILENAME))
 
         artifact_path = self.fs.join(self.processor.artifacts_dir,
                                      'failing_results.json')
-        failing_results_jsonp = written_files[artifact_path].decode('utf-8')
+        failing_results_jsonp = self.fs.read_text_file(artifact_path)
         match = re.match(r'ADD_RESULTS\((.*)\);$', failing_results_jsonp)
         self.assertIsNotNone(match)
         failing_results = json.loads(match.group(1))
@@ -461,8 +483,8 @@
         json_dict['tests']['test.html']['actual'] = 'FAIL'
         self._create_json_output(json_dict)
         self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
-        self.assertEqual("test.html actual text",
-                         written_files[actual_path].decode(encoding='utf-8'))
+        self.assertEqual('test.html actual text',
+                         self.fs.read_text_file(actual_path))
         # Ensure the artifact in the json was replaced with the location of
         # the newly-created file.
         updated_json = self._load_json_output()
@@ -494,12 +516,11 @@
         self._create_json_output(json_dict)
 
         self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
-        written_files = self.fs.written_files
         artifacts_subdir = self.fs.join(self.processor.artifacts_dir,
                                         'external', 'wpt')
         stderr_path = self.fs.join(artifacts_subdir, 'test-stderr.txt')
-        self.assertEqual(written_files[stderr_path].decode('utf-8'),
-                         'test.html exceptions')
+        self.assertEqual('test.html exceptions',
+                         self.fs.read_text_file(stderr_path))
 
         # Ensure the artifact in the json was replaced with the location of
         # the newly-created file.
@@ -529,13 +550,11 @@
         self._create_json_output(json_dict)
 
         self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
-        written_files = self.fs.written_files
         artifacts_subdir = self.fs.join(self.processor.artifacts_dir,
                                         'external', 'wpt')
         crash_log_path = self.fs.join(artifacts_subdir, 'test-crash-log.txt')
-        self.assertEqual(
-            "test.html crashed!",
-            written_files[crash_log_path].decode(encoding='utf-8'))
+        self.assertEqual('test.html crashed!',
+                         self.fs.read_text_file(crash_log_path))
 
         # Ensure the artifact in the json was replaced with the location of
         # the newly-created file.
@@ -569,20 +588,20 @@
         self._create_json_output(json_dict)
 
         self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
-        written_files = self.fs.written_files
         artifacts_subdir = self.fs.join(self.processor.artifacts_dir,
                                         'external', 'wpt')
         actual_path = self.fs.join(artifacts_subdir, 'reftest-actual.png')
-        self.assertEqual(base64.b64decode('abcd'), written_files[actual_path])
+        self.assertEqual(base64.b64decode('abcd'),
+                         self.fs.read_binary_file(actual_path))
         expected_path = self.fs.join(artifacts_subdir, 'reftest-expected.png')
         self.assertEqual(base64.b64decode('bcde'),
-                         written_files[expected_path])
+                         self.fs.read_binary_file(expected_path))
         diff_path = self.fs.join(artifacts_subdir, 'reftest-diff.png')
         self.assertEqual('\n'.join([
             '< bcde',
             '---',
             '> abcd',
-        ]), written_files[diff_path])
+        ]), self.fs.read_binary_file(diff_path))
 
         # Ensure the artifacts in the json were replaced with the location of
         # the newly-created files.
@@ -611,7 +630,10 @@
                     'actual': 'FAIL',
                     'artifacts': {
                         'wpt_actual_status': ['OK'],
-                        'wpt_actual_metadata': ['test.html actual text'],
+                        'wpt_actual_metadata': [
+                            '[test.html]\n  expected: OK\n',
+                            '  [Assert something]\n    expected: CRASH\n',
+                        ],
                     },
                 },
             },
@@ -619,21 +641,34 @@
         }
         self._create_json_output(json_dict)
         # Also create a checked-in metadata file for this test
+        checked_in_metadata = textwrap.dedent("""\
+            [test.html]
+              expected: OK
+              [Assert something]
+                expected: FAIL
+            """)
         self.fs.write_text_file(
             self.fs.join(self.processor.web_tests_dir, 'external', 'wpt',
-                         'test.html.ini'), 'test.html checked-in metadata')
+                         'test.html.ini'), checked_in_metadata)
 
-        self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
-        written_files = self.fs.written_files
+        with self._mock_filesystem_builtins():
+            self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
         artifacts_subdir = self.fs.join(self.processor.artifacts_dir,
                                         'external', 'wpt')
         actual_path = self.fs.join(artifacts_subdir, 'test-actual.txt')
-        self.assertEqual("test.html actual text",
-                         written_files[actual_path].decode(encoding='utf-8'))
+        self.assertEqual(
+            textwrap.dedent("""\
+                [test.html]
+                  expected: OK
+
+                  [Assert something]
+                    expected: CRASH
+                """), self.fs.read_text_file(actual_path))
+
         # The checked-in metadata file gets renamed from .ini to -expected.txt
         expected_path = self.fs.join(artifacts_subdir, 'test-expected.txt')
-        self.assertEqual("test.html checked-in metadata",
-                         written_files[expected_path].decode(encoding='utf-8'))
+        self.assertEqual(checked_in_metadata,
+                         self.fs.read_text_file(expected_path))
 
         # Ensure the artifacts in the json were replaced with the locations of
         # the newly-created files.
@@ -652,24 +687,68 @@
         # Ensure that a diff was also generated. There should be both additions
         # and deletions for this test since we have expected output. We don't
         # validate the entire diff files to avoid checking line numbers/markup.
-        diff_path = self.fs.join(artifacts_subdir, 'test-diff.txt')
-        self.assertIn('-test.html checked-in metadata',
-                      written_files[diff_path].decode(encoding='utf-8'))
-        self.assertIn('+test.html actual text',
-                      written_files[diff_path].decode(encoding='utf-8'))
+        diff_lines = self.fs.read_text_file(
+            self.fs.join(artifacts_subdir, 'test-diff.txt')).splitlines()
+        self.assertIn('-    expected: FAIL', diff_lines)
+        self.assertIn('+    expected: CRASH', diff_lines)
         self.assertEqual(
             [self.fs.join(path_from_out_dir_base, 'test-diff.txt')],
             test_node['artifacts']['text_diff'])
-        pretty_diff_path = self.fs.join(artifacts_subdir,
-                                        'test-pretty-diff.html')
-        self.assertIn("test.html checked-in metadata",
-                      written_files[pretty_diff_path].decode(encoding='utf-8'))
-        self.assertIn("test.html actual text",
-                      written_files[pretty_diff_path].decode(encoding='utf-8'))
+
+        pretty_diff_contents = self.fs.read_text_file(
+            self.fs.join(artifacts_subdir, 'test-pretty-diff.html'))
+        self.assertIn('expected: FAIL', pretty_diff_contents)
+        self.assertIn('expected: CRASH', pretty_diff_contents)
         self.assertEqual(
             [self.fs.join(path_from_out_dir_base, 'test-pretty-diff.html')],
             test_node['artifacts']['pretty_text_diff'])
 
+    def test_invalid_checked_in_metadata(self):
+        """Verify the processor handles a syntactically invalid metadata file:
+          * The tool does not crash.
+          * The actual text is created, but the expected text and diffs are not.
+        """
+        json_dict = {
+            'tests': {
+                'test.html': {
+                    'expected': 'PASS',
+                    'actual': 'FAIL',
+                    'artifacts': {
+                        'wpt_actual_status': ['OK'],
+                        'wpt_actual_metadata': [
+                            '[test.html]\n  expected: OK\n',
+                            '  [Assert something]\n    expected: CRASH\n',
+                        ],
+                    },
+                },
+            },
+            'path_delimiter': '/',
+        }
+        self._create_json_output(json_dict)
+        # Also create a checked-in metadata file for this test
+        self.fs.write_text_file(
+            self.fs.join(self.processor.web_tests_dir, 'external', 'wpt',
+                         'test.html.ini'),
+            textwrap.dedent("""\
+                [test.html]
+                  [bracket is not matched
+                """))
+
+        with self._mock_filesystem_builtins():
+            self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
+
+        path_from_out_dir_base = self.fs.join('layout-test-results',
+                                              'external', 'wpt')
+        updated_json = self._load_json_output()
+        test_node = updated_json['tests']['external']['wpt']['test.html']
+        self.assertNotIn('wpt_actual_metadata', test_node['artifacts'])
+        self.assertNotIn('expected_text', test_node['artifacts'])
+        self.assertNotIn('text_diff', test_node['artifacts'])
+        self.assertNotIn('pretty_text_diff', test_node['artifacts'])
+        self.assertEqual(
+            [self.fs.join(path_from_out_dir_base, 'test-actual.txt')],
+            test_node['artifacts']['actual_text'])
+
     def test_expected_output_for_variant(self):
         # Check that an -expected.txt file is created from a checked-in metadata
         # ini file for a variant test. Variants are a little different because
@@ -684,7 +763,9 @@
                     'actual': 'FAIL',
                     'artifacts': {
                         'wpt_actual_status': ['OK'],
-                        'wpt_actual_metadata': ['variant bar/abc actual text'],
+                        'wpt_actual_metadata': [
+                            '[variant.html?foo=bar/abc]\n  expected: OK\n',
+                        ],
                     },
                 },
             },
@@ -692,26 +773,35 @@
         }
         self._create_json_output(json_dict)
         # Also create a checked-in metadata file for this test. This filename
-        # matches the test *file* name, not the test name (which includes the
-        # variant).
+        # matches the test *file* name, not the test ID. The checked-in file
+        # contains expectations for all variants.
         self.fs.write_text_file(
             self.fs.join(self.processor.web_tests_dir, 'external', 'wpt',
                          'variant.html.ini'),
-            "variant.html checked-in metadata")
+            textwrap.dedent("""\
+                [variant.html?foo=bar/abc]
+                  expected: OK
 
-        self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
-        written_files = self.fs.written_files
+                [variant.html?foo=baz]
+                  expected: TIMEOUT
+                """))
+        with self._mock_filesystem_builtins():
+            self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
+        variant_metadata = textwrap.dedent("""\
+            [variant.html?foo=bar/abc]
+              expected: OK
+            """)
         artifacts_subdir = self.fs.join(self.processor.artifacts_dir,
                                         'external', 'wpt')
         actual_path = self.fs.join(artifacts_subdir,
-                                   "variant_foo=bar_abc-actual.txt")
-        self.assertEqual("variant bar/abc actual text",
-                         written_files[actual_path].decode(encoding='utf-8'))
+                                   'variant_foo=bar_abc-actual.txt')
+        self.assertEqual(variant_metadata, self.fs.read_text_file(actual_path))
         # The checked-in metadata file gets renamed from .ini to -expected.txt
         expected_path = self.fs.join(artifacts_subdir,
-                                     "variant_foo=bar_abc-expected.txt")
-        self.assertEqual("variant.html checked-in metadata",
-                         written_files[expected_path].decode(encoding='utf-8'))
+                                     'variant_foo=bar_abc-expected.txt')
+        # Exclude the `foo=baz` variant from the expected text.
+        self.assertEqual(variant_metadata,
+                         self.fs.read_text_file(expected_path))
 
         # Ensure the artifacts in the json were replaced with the locations of
         # the newly-created files.
@@ -746,7 +836,8 @@
                     'artifacts': {
                         'wpt_actual_status': ['OK'],
                         'wpt_actual_metadata': [
-                            'dir/multiglob worker actual text',
+                            '[multiglob.https.any.worker.html]\n'
+                            '  expected: OK\n',
                         ],
                     },
                 },
@@ -760,21 +851,34 @@
         self.fs.write_text_file(
             self.fs.join(self.processor.web_tests_dir, 'external', 'wpt',
                          'dir/multiglob.https.any.js.ini'),
-            "dir/multiglob checked-in metadata")
+            textwrap.dedent("""\
+                [multiglob.https.any.worker.html]
+                  expected: OK
 
-        self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
-        written_files = self.fs.written_files
+                [multiglob.https.any.window.html]
+                  expected: FAIL
+                """))
+
+        with self._mock_filesystem_builtins():
+            self.processor.process_wpt_results(OUTPUT_JSON_FILENAME)
         artifacts_subdir = self.fs.join(self.processor.artifacts_dir,
                                         'external', 'wpt')
         actual_path = self.fs.join(
             artifacts_subdir, 'dir/multiglob.https.any.worker-actual.txt')
-        self.assertEqual("dir/multiglob worker actual text",
-                         written_files[actual_path].decode(encoding='utf-8'))
+        self.assertEqual(
+            textwrap.dedent("""\
+                [multiglob.https.any.worker.html]
+                  expected: OK
+                """), self.fs.read_text_file(actual_path))
         # The checked-in metadata file gets renamed from .ini to -expected.txt
+        # and cut to the `worker` scope.
         expected_path = self.fs.join(
             artifacts_subdir, 'dir/multiglob.https.any.worker-expected.txt')
-        self.assertEqual("dir/multiglob checked-in metadata",
-                         written_files[expected_path].decode(encoding='utf-8'))
+        self.assertEqual(
+            textwrap.dedent("""\
+                [multiglob.https.any.worker.html]
+                  expected: OK
+                """), self.fs.read_text_file(expected_path))
 
         # Ensure the artifacts in the json were replaced with the locations of
         # the newly-created files.
diff --git a/third_party/blink/tools/blinkpy/web_tests/results.html b/third_party/blink/tools/blinkpy/web_tests/results.html
index 69a9afd..dc88bd44 100644
--- a/third_party/blink/tools/blinkpy/web_tests/results.html
+++ b/third_party/blink/tools/blinkpy/web_tests/results.html
@@ -268,11 +268,12 @@
 
   <p>Select the results you are interested in using "Query" buttons.</p>
   <p>Narrow down the results further with "Filter" search box and checkboxes.
-  The following types of search strings are supported:</p>
+  The search string can be a (full or partial) test name or bug number.
+  Additionally, the following range specifiers are supported:</p>
   <ul>
-  <li>Test name: full or partial,</li>
-  <li>Bug number: full or partial,</li>
-  <li>Range of test time duration: 'time:min-' or 'time:min-max' or 'time:-max' in seconds.</li>
+  <li>Range of test time duration: 'time:min-' or 'time:min-max' or 'time:-max' in seconds,</li>
+  <li>Total pixel difference: 'pixels:min-' or 'pixels:min-max' or 'pixels:-max',</li>
+  <li>Maximum channel difference: 'channel_max:min-' or 'channel_max:min-max' or 'channel_max:-max'.</li>
   </ul>
 
 
@@ -395,8 +396,8 @@
   <div id="filters">
     <span class="fix-width">Filters</span>
     <input id="text-filter" onsearch="Query.filterChanged()" type="search"
-           placeholder="test name | bug | time &#9166;"
-           title="Format of time: 'time:min-' or 'time:min-max' or 'time:-max' in seconds">
+           placeholder="[test name | bug] [time:min-max] [pixels:min-max] [channel_max:min-max] &#9166;"
+           title="Text filter, see Help for format information.">
     <label id="CRASH"><input type="checkbox">Crash <span></span></label>
     <label id="TIMEOUT"><input type="checkbox">Timeout <span></span></label>
     <label id="TEXT"><input type="checkbox">Text failure <span></span></label>
@@ -949,6 +950,25 @@
     this.query();
   },
 
+  parseRangeFilter: function(query, key) {
+    let range = query.match(key + ":([.0-9]*)-([.0-9]*)");
+
+    if (range) {
+      let min = parseFloat(range[1]);
+      let max = Number.MAX_VALUE;
+
+      if (range[2] != "") {
+        max = parseFloat(range[2]);
+      }
+
+      let rem_query = query.substring(0, range.index) + query.substring(range.index +
+          range[0].length);
+      return [min, max, rem_query];
+    } else {
+      return [0, Number.MAX_VALUE, query];
+    }
+  },
+
   applyFilters: function(queryFilter) {
     var filterMap = new Map();
     for (let el of Array.from(
@@ -956,32 +976,50 @@
         if (el.querySelector('input').checked)
           filterMap.set(el.id.replace("_", "+"), true);
     }
-    let searchText = document.querySelector("#text-filter").value.trim();
-    let timeRange = searchText.match(/^time:([ .0-9]*)-([ .0-9]*)$/);
-    let timeMin = 0, timeMax = Number.MAX_VALUE;
-    if (timeRange) {
-      timeMin = parseFloat(timeRange[1]);
-      if (timeRange[2] != "")
-        timeMax = parseFloat(timeRange[2]);
-    }
-    let textFilter = (!searchText || searchText.length < 1)
-      ? _ => true
-      : test => {
-          if (test.expectPath.includes(searchText))
-            return true;
-          if (Array.isArray(test.bugs)) {
-            for (let bug of test.bugs) {
-              if (bug.includes(searchText))
-                return true;
+    let originalQuery = document.querySelector("#text-filter").value;
+
+    let [timeMin, timeMax, timeQuery] = this.parseRangeFilter(originalQuery, "time");
+    let [pixelsMin, pixelsMax, pixelsQuery] = this.parseRangeFilter(timeQuery, "pixels");
+    let [channelMin, channelMax, channelQuery] = this.parseRangeFilter(pixelsQuery, "channel_max");
+
+    let searchText = channelQuery.trim();
+
+    let textFilter = test => {
+      if (searchText.length > 0) {
+        let match = false;
+        if (test.expectPath.includes(searchText))
+          match = true;
+        else if (Array.isArray(test.bugs)) {
+          for (let bug of test.bugs) {
+            if (bug.includes(searchText)) {
+              match = true;
+              break;
             }
           }
-          if (timeRange) {
-            let time = test.time || 0;
-            if (time >= timeMin && time <= timeMax)
-              return true;
-          }
+        }
+
+        if (!match) {
           return false;
-        };
+        }
+      }
+      let time = test.time || 0;
+      if (time < timeMin || time > timeMax)
+        return false;
+
+      if (test.image_diff_stats) {
+        let pixels = test.image_diff_stats.totalPixels;
+        if (pixels < pixelsMin || pixels > pixelsMax)
+          return false;
+
+        let channel_max = test.image_diff_stats.maxDifference;
+        if (channel_max < channelMin || channel_max > channelMax)
+          return false;
+      } else if (pixelsMin > 0 || channelMin > 0) {
+          return false;
+      }
+
+      return true;
+    };
     return test => {
       if (!queryFilter(test) || !textFilter(test))
         return false;
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 070113f..08b71a99 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -3367,7 +3367,7 @@
 crbug.com/626703 [ Win ] virtual/partitioned-cookies/http/tests/inspector-protocol/network/disabled-cache-navigation.js [ Failure ]
 
 # ====== New tests from wpt-importer added here ======
-crbug.com/626703 [ Win10.20h2 ] virtual/attribution-reporting-debug-mode/wpt_internal/attribution-reporting/debug-key.sub.https.html?include=trigger [ Timeout Failure ]
+crbug.com/626703 [ Win10.20h2 ] virtual/attribution-reporting-debug-mode/wpt_internal/attribution-reporting/debug-key.sub.https.html?include=trigger [ Failure Timeout ]
 crbug.com/626703 [ Mac11 ] virtual/attribution-reporting-debug-mode/wpt_internal/attribution-reporting/source-registration.sub.https.html?method=img&eligible [ Timeout ]
 crbug.com/626703 [ Mac11 ] virtual/off-main-thread-css-paint/external/wpt/css/css-paint-api/invalid-image-paint-error.https.html [ Failure ]
 crbug.com/626703 [ Mac11 ] virtual/off-main-thread-css-paint/external/wpt/css/css-paint-api/geometry-background-image-002.https.html [ Failure ]
diff --git a/third_party/blink/web_tests/VirtualTestSuites b/third_party/blink/web_tests/VirtualTestSuites
index 62633c2..e2c2088 100644
--- a/third_party/blink/web_tests/VirtualTestSuites
+++ b/third_party/blink/web_tests/VirtualTestSuites
@@ -1306,6 +1306,12 @@
     "args": ["--enable-features=ForceDeferScriptIntervention"]
   },
   {
+    "prefix": "force-in-order-script",
+    "platforms": ["Linux", "Mac", "Win"],
+    "bases": ["wpt_internal/in-order-script-scheduling"],
+    "args": ["--enable-features=ForceInOrderScript"]
+  },
+  {
     "prefix": "threaded-preload-scanner",
     "platforms": ["Linux", "Mac", "Win"],
     "bases": [
diff --git a/third_party/blink/web_tests/external/Version b/third_party/blink/web_tests/external/Version
index 2e5390b..f46a1cb0 100644
--- a/third_party/blink/web_tests/external/Version
+++ b/third_party/blink/web_tests/external/Version
@@ -1 +1 @@
-Version: 69d20d0e3431b88bc778b6ec321a561292d4c054
+Version: 179e67f86c91e4229d67a32b357e11a191ebd7fa
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
index 04f66da..16ceee04 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_8.json
@@ -376384,6 +376384,13 @@
         {}
        ]
       ],
+      "color-mixed-num-pct.html": [
+       "c0f586da8081823c7aa10ca72f54357fe7a1525d",
+       [
+        null,
+        {}
+       ]
+      ],
       "color-valid.html": [
        "22c6abe7fe5060739435e92721cc45a2dc3ad6eb",
        [
@@ -528599,7 +528606,7 @@
       ]
      ],
      "focus-tabindex-order-shadow-varying-tabindex-2.html": [
-      "c575896676092f05dafe434d5338a0c7f09bc9e6",
+      "1755aaf442af97cb864531ad0f19b5e58187c32b",
       [
        null,
        {
@@ -528608,7 +528615,7 @@
       ]
      ],
      "focus-tabindex-order-shadow-varying-tabindex-3.html": [
-      "4ba3296249deaf714226bc7bd7523dfa151378bd",
+      "e0570395ec8c15200a3dc84744e09d99e8868d9a",
       [
        null,
        {
diff --git a/third_party/blink/web_tests/external/wpt/css/css-color/parsing/color-mixed-num-pct.html b/third_party/blink/web_tests/external/wpt/css/css-color/parsing/color-mixed-num-pct.html
new file mode 100644
index 0000000..c0f586d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-color/parsing/color-mixed-num-pct.html
@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Color 4: color() parsing, mixed number, percent and none</title>
+<link rel="help" href="https://drafts.csswg.org/css-color-4/#color-function">
+<link rel="author" title="Chris Lilley" href="mailto:chris@w3.org">
+<meta name="assert" content="number, percent and none can be freely intermixed in color function">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="test"></div>
+<script>
+    const div = document.querySelector("#test");
+    function testColorFunction(description, rule, expectedValue) {
+        test(function() {
+            div.style.color = "black";
+            div.style.color = rule;
+            assert_equals(getComputedStyle(div).color, expectedValue);
+        }, description);
+    }
+
+    // Opaque sRGB in color()
+    testColorFunction("sRGB all numbers", "color(srgb 1.00 0.50 0.200)", "color(srgb 1 0.5 0.2)");
+    testColorFunction("sRGB all percent", "color(srgb 100% 50% 20%)", "color(srgb 1 0.5 0.2)");
+    testColorFunction("sRGB mixed number and percent", "color(srgb 100% 0.5 20%)", "color(srgb 1 0.5 0.2)");
+    testColorFunction("sRGB mixed number and percent 2", "color(srgb 1.00 50% 0.2)", "color(srgb 1 0.5 0.2)");
+    testColorFunction("sRGB all none", "color(srgb none none none)", "color(srgb 0 0 0)");
+    testColorFunction("sRGB number and none", "color(srgb 1.00 none 0.2)", "color(srgb 1 0 0.2)");
+    testColorFunction("sRGB percent and none", "color(srgb 100% none 20%)", "color(srgb 1 0 0.2)");
+    testColorFunction("sRGB number, percent and none", "color(srgb 100% none 0.2)", "color(srgb 1 0 0.2)");
+
+    // non-unity alpha, sRGB in  color()
+    testColorFunction("sRGB with alpha, all numbers", "color(srgb 1.00 0.50 0.200 / 0.6)", "color(srgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("sRGB with alpha, all percent", "color(srgb 100% 50% 20%)", "color(srgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("sRGB with alpha, mixed number and percent", "color(srgb 100% 0.5 20% / 0.6)", "color(srgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("sRGB with alpha, mixed number and percent 2", "color(srgb 1.00 50% 0.2 / 60%)", "color(srgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("sRGB with alpha, all none", "color(srgb none none none / none)", "color(srgb 0 0 0 / 0)");
+    testColorFunction("sRGB with alpha, number and none", "color(srgb 1.00 none 0.2 / none)", "color(srgb 1 0 0.2 / 0)");
+    testColorFunction("sRGB with alpha, percent and none", "color(srgb 100% none 20% / 30%)", "color(srgb 1 0 0.2 / 0.3)");
+    testColorFunction("sRGB with alpha, number, percent and none", "color(srgb 100% none 0.2 / 23.7%)", "color(srgb 1 0 0.2 / 0.237)");
+
+    // Opaque linear-light sRGB in color()
+    testColorFunction("Linear-light sRGB all numbers", "color(srgb-linear 1.00 0.50 0.200)", "color(srgb-linear 1 0.5 0.2)");
+    testColorFunction("Linear-light sRGB all percent", "color(srgb-linear 100% 50% 20%)", "color(srgb-linear 1 0.5 0.2)");
+    testColorFunction("Linear-light sRGB mixed number and percent", "color(srgb-linear 100% 0.5 20%)", "color(srgb-linear 1 0.5 0.2)");
+    testColorFunction("Linear-light sRGB mixed number and percent 2", "color(srgb-linear 1.00 50% 0.2)", "color(srgb-linear 1 0.5 0.2)");
+    testColorFunction("Linear-light sRGB all none", "color(srgb-linear none none none)", "color(srgb-linear 0 0 0)");
+    testColorFunction("Linear-light sRGB number and none", "color(srgb-linear 1.00 none 0.2)", "color(srgb-linear 1 0 0.2)");
+    testColorFunction("Linear-light sRGB percent and none", "color(srgb-linear 100% none 20%)", "color(srgb-linear 1 0 0.2)");
+    testColorFunction("Linear-light sRGB number, percent and none", "color(srgb-linear 100% none 0.2)", "color(srgb-linear 1 0 0.2)");
+
+    // non-unity alpha, linear-light sRGB in  color()
+    testColorFunction("Linear-light sRGB with alpha, all numbers", "color(srgb-linear 1.00 0.50 0.200 / 0.6)", "color(srgb-linear 1 0.5 0.2 / 0.6)");
+    testColorFunction("Linear-light sRGB with alpha, all percent", "color(srgb-linear 100% 50% 20%)", "color(srgb-linear 1 0.5 0.2 / 0.6)");
+    testColorFunction("Linear-light sRGB with alpha, mixed number and percent", "color(srgb-linear 100% 0.5 20% / 0.6)", "color(srgb-linear 1 0.5 0.2 / 0.6)");
+    testColorFunction("Linear-light sRGB with alpha, mixed number and percent 2", "color(srgb-linear 1.00 50% 0.2 / 60%)", "color(srgb-linear 1 0.5 0.2 / 0.6)");
+    testColorFunction("Linear-light sRGB with alpha, all none", "color(srgb-linear none none none / none)", "color(srgb-linear 0 0 0 / 0)");
+    testColorFunction("Linear-light sRGB with alpha, number and none", "color(srgb-linear 1.00 none 0.2 / none)", "color(srgb-linear 1 0 0.2 / 0)");
+    testColorFunction("Linear-light sRGB with alpha, percent and none", "color(srgb-linear 100% none 20% / 30%)", "color(srgb-linear 1 0 0.2 / 0.3)");
+    testColorFunction("Linear-light sRGB with alpha, number, percent and none", "color(srgb-linear 100% none 0.2 / 23.7%)", "color(srgb-linear 1 0 0.2 / 0.237)");
+
+    // Opaque Display P3 in color()
+    testColorFunction("Display P3 all numbers", "color(display-p3 1.00 0.50 0.200)", "color(display-p3 1 0.5 0.2)");
+    testColorFunction("Display P3 all percent", "color(display-p3 100% 50% 20%)", "color(display-p3 1 0.5 0.2)");
+    testColorFunction("Display P3 mixed number and percent", "color(display-p3 100% 0.5 20%)", "color(display-p3 1 0.5 0.2)");
+    testColorFunction("Display P3 mixed number and percent 2", "color(display-p3 1.00 50% 0.2)", "color(display-p3 1 0.5 0.2)");
+    testColorFunction("Display P3 all none", "color(display-p3 none none none)", "color(display-p3 0 0 0)");
+    testColorFunction("Display P3 number and none", "color(display-p3 1.00 none 0.2)", "color(display-p3 1 0 0.2)");
+    testColorFunction("Display P3 percent and none", "color(display-p3 100% none 20%)", "color(display-p3 1 0 0.2)");
+    testColorFunction("Display P3 number, percent and none", "color(display-p3 100% none 0.2)", "color(display-p3 1 0 0.2)");
+
+    // non-unity alpha, Display P3 in  color()
+    testColorFunction("Display P3 with alpha, all numbers", "color(display-p3 1.00 0.50 0.200 / 0.6)", "color(display-p3 1 0.5 0.2 / 0.6)");
+    testColorFunction("Display P3 with alpha, all percent", "color(display-p3 100% 50% 20%)", "color(display-p3 1 0.5 0.2 / 0.6)");
+    testColorFunction("Display P3 with alpha, mixed number and percent", "color(display-p3 100% 0.5 20% / 0.6)", "color(display-p3 1 0.5 0.2 / 0.6)");
+    testColorFunction("Display P3 with alpha, mixed number and percent 2", "color(display-p3 1.00 50% 0.2 / 60%)", "color(display-p3 1 0.5 0.2 / 0.6)");
+    testColorFunction("Display P3 with alpha, all none", "color(display-p3 none none none / none)", "color(display-p3 0 0 0 / 0)");
+    testColorFunction("Display P3 with alpha, number and none", "color(display-p3 1.00 none 0.2 / none)", "color(display-p3 1 0 0.2 / 0)");
+    testColorFunction("Display P3 with alpha, percent and none", "color(display-p3 100% none 20% / 30%)", "color(display-p3 1 0 0.2 / 0.3)");
+    testColorFunction("Display P3 with alpha, number, percent and none", "color(display-p3 100% none 0.2 / 23.7%)", "color(display-p3 1 0 0.2 / 0.237)");
+
+    // Opaque A98 RGB in color()
+    testColorFunction("A98 RGB all numbers", "color(a98-rgb 1.00 0.50 0.200)", "color(a98-rgb 1 0.5 0.2)");
+    testColorFunction("A98 RGB all percent", "color(a98-rgb 100% 50% 20%)", "color(a98-rgb 1 0.5 0.2)");
+    testColorFunction("A98 RGB mixed number and percent", "color(a98-rgb 100% 0.5 20%)", "color(a98-rgb 1 0.5 0.2)");
+    testColorFunction("A98 RGB mixed number and percent 2", "color(a98-rgb 1.00 50% 0.2)", "color(a98-rgb 1 0.5 0.2)");
+    testColorFunction("A98 RGB all none", "color(a98-rgb none none none)", "color(a98-rgb 0 0 0)");
+    testColorFunction("A98 RGB number and none", "color(a98-rgb 1.00 none 0.2)", "color(a98-rgb 1 0 0.2)");
+    testColorFunction("A98 RGB percent and none", "color(a98-rgb 100% none 20%)", "color(a98-rgb 1 0 0.2)");
+    testColorFunction("A98 RGB number, percent and none", "color(a98-rgb 100% none 0.2)", "color(a98-rgb 1 0 0.2)");
+
+    // non-unity alpha, A98 RGB in  color()
+    testColorFunction("A98 RGB with alpha, all numbers", "color(a98-rgb 1.00 0.50 0.200 / 0.6)", "color(a98-rgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("A98 RGB with alpha, all percent", "color(a98-rgb 100% 50% 20%)", "color(a98-rgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("A98 RGB with alpha, mixed number and percent", "color(a98-rgb 100% 0.5 20% / 0.6)", "color(a98-rgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("A98 RGB with alpha, mixed number and percent 2", "color(a98-rgb 1.00 50% 0.2 / 60%)", "color(a98-rgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("A98 RGB with alpha, all none", "color(a98-rgb none none none / none)", "color(a98-rgb 0 0 0 / 0)");
+    testColorFunction("A98 RGB with alpha, number and none", "color(a98-rgb 1.00 none 0.2 / none)", "color(a98-rgb 1 0 0.2 / 0)");
+    testColorFunction("A98 RGB with alpha, percent and none", "color(a98-rgb 100% none 20% / 30%)", "color(a98-rgb 1 0 0.2 / 0.3)");
+    testColorFunction("A98 RGB with alpha, number, percent and none", "color(a98-rgb 100% none 0.2 / 23.7%)", "color(a98-rgb 1 0 0.2 / 0.237)");
+
+    // Opaque ProPhoto RGB in color()
+    testColorFunction("ProPhoto RGB all numbers", "color(prophoto-rgb 1.00 0.50 0.200)", "color(prophoto-rgb 1 0.5 0.2)");
+    testColorFunction("ProPhoto RGB all percent", "color(prophoto-rgb 100% 50% 20%)", "color(prophoto-rgb 1 0.5 0.2)");
+    testColorFunction("ProPhoto RGB mixed number and percent", "color(prophoto-rgb 100% 0.5 20%)", "color(prophoto-rgb 1 0.5 0.2)");
+    testColorFunction("ProPhoto RGB mixed number and percent 2", "color(prophoto-rgb 1.00 50% 0.2)", "color(prophoto-rgb 1 0.5 0.2)");
+    testColorFunction("ProPhoto RGB all none", "color(prophoto-rgb none none none)", "color(prophoto-rgb 0 0 0)");
+    testColorFunction("ProPhoto RGB number and none", "color(prophoto-rgb 1.00 none 0.2)", "color(prophoto-rgb 1 0 0.2)");
+    testColorFunction("ProPhoto RGB percent and none", "color(prophoto-rgb 100% none 20%)", "color(prophoto-rgb 1 0 0.2)");
+    testColorFunction("ProPhoto RGB number, percent and none", "color(prophoto-rgb 100% none 0.2)", "color(prophoto-rgb 1 0 0.2)");
+
+    // non-unity alpha, ProPhoto RGB in  color()
+    testColorFunction("ProPhoto RGB with alpha, all numbers", "color(prophoto-rgb 1.00 0.50 0.200 / 0.6)", "color(prophoto-rgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("ProPhoto RGB with alpha, all percent", "color(prophoto-rgb 100% 50% 20%)", "color(prophoto-rgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("ProPhoto RGB with alpha, mixed number and percent", "color(prophoto-rgb 100% 0.5 20% / 0.6)", "color(prophoto-rgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("ProPhoto RGB with alpha, mixed number and percent 2", "color(prophoto-rgb 1.00 50% 0.2 / 60%)", "color(prophoto-rgb 1 0.5 0.2 / 0.6)");
+    testColorFunction("ProPhoto RGB with alpha, all none", "color(prophoto-rgb none none none / none)", "color(prophoto-rgb 0 0 0 / 0)");
+    testColorFunction("ProPhoto RGB with alpha, number and none", "color(prophoto-rgb 1.00 none 0.2 / none)", "color(prophoto-rgb 1 0 0.2 / 0)");
+    testColorFunction("ProPhoto RGB with alpha, percent and none", "color(prophoto-rgb 100% none 20% / 30%)", "color(prophoto-rgb 1 0 0.2 / 0.3)");
+    testColorFunction("ProPhoto RGB with alpha, number, percent and none", "color(prophoto-rgb 100% none 0.2 / 23.7%)", "color(prophoto-rgb 1 0 0.2 / 0.237)");
+
+    // Opaque Rec BT.2020 in  color()
+    testColorFunction("Rec BT.2020 all numbers", "color(rec2020 1.00 0.50 0.200)", "color(rec2020 1 0.5 0.2)");
+    testColorFunction("Rec BT.2020 all percent", "color(rec2020 100% 50% 20%)", "color(rec2020 1 0.5 0.2)");
+    testColorFunction("Rec BT.2020 mixed number and percent", "color(rec2020 100% 0.5 20%)", "color(rec2020 1 0.5 0.2)");
+    testColorFunction("Rec BT.2020 mixed number and percent 2", "color(rec2020 1.00 50% 0.2)", "color(rec2020 1 0.5 0.2)");
+    testColorFunction("Rec BT.2020 all none", "color(rec2020 none none none)", "color(rec2020 0 0 0)");
+    testColorFunction("Rec BT.2020 number and none", "color(rec2020 1.00 none 0.2)", "color(rec2020 1 0 0.2)");
+    testColorFunction("Rec BT.2020 percent and none", "color(rec2020 100% none 20%)", "color(rec2020 1 0 0.2)");
+    testColorFunction("Rec BT.2020 number, percent and none", "color(rec2020 100% none 0.2)", "color(rec2020 1 0 0.2)");
+
+    // non-unity alpha, Rec BT.2020 in  color()
+    testColorFunction("Rec BT.2020 with alpha, all numbers", "color(rec2020 1.00 0.50 0.200 / 0.6)", "color(rec2020 1 0.5 0.2 / 0.6)");
+    testColorFunction("Rec BT.2020 with alpha, all percent", "color(rec2020 100% 50% 20%)", "color(rec2020 1 0.5 0.2 / 0.6)");
+    testColorFunction("Rec BT.2020 with alpha, mixed number and percent", "color(rec2020 100% 0.5 20% / 0.6)", "color(rec2020 1 0.5 0.2 / 0.6)");
+    testColorFunction("Rec BT.2020 with alpha, mixed number and percent 2", "color(rec2020 1.00 50% 0.2 / 60%)", "color(rec2020 1 0.5 0.2 / 0.6)");
+    testColorFunction("Rec BT.2020 with alpha, all none", "color(rec2020 none none none / none)", "color(rec2020 0 0 0 / 0)");
+    testColorFunction("Rec BT.2020 with alpha, number and none", "color(rec2020 1.00 none 0.2 / none)", "color(rec2020 1 0 0.2 / 0)");
+    testColorFunction("Rec BT.2020 with alpha, percent and none", "color(rec2020 100% none 20% / 30%)", "color(rec2020 1 0 0.2 / 0.3)");
+    testColorFunction("Rec BT.2020 with alpha, number, percent and none", "color(rec2020 100% none 0.2 / 23.7%)", "color(rec2020 1 0 0.2 / 0.237)");
+
+    // Opaque CIE XYZ D50 in color()
+    testColorFunction("CIE XYZ D50 all numbers", "color(xyz-d50 1.00 0.50 0.200)", "color(xyz-d50 1 0.5 0.2)");
+    testColorFunction("CIE XYZ D50 all percent", "color(xyz-d50 100% 50% 20%)", "color(xyz-d50 1 0.5 0.2)");
+    testColorFunction("CIE XYZ D50 mixed number and percent", "color(xyz-d50 100% 0.5 20%)", "color(xyz-d50 1 0.5 0.2)");
+    testColorFunction("CIE XYZ D50 mixed number and percent 2", "color(xyz-d50 1.00 50% 0.2)", "color(xyz-d50 1 0.5 0.2)");
+    testColorFunction("CIE XYZ D50 all none", "color(xyz-d50 none none none)", "color(xyz-d50 0 0 0)");
+    testColorFunction("CIE XYZ D50 number and none", "color(xyz-d50 1.00 none 0.2)", "color(xyz-d50 1 0 0.2)");
+    testColorFunction("CIE XYZ D50 percent and none", "color(xyz-d50 100% none 20%)", "color(xyz-d50 1 0 0.2)");
+    testColorFunction("CIE XYZ D50 number, percent and none", "color(xyz-d50 100% none 0.2)", "color(xyz-d50 1 0 0.2)");
+
+    // non-unity alpha, CIE XYZ D50 in  color()
+    testColorFunction("CIE XYZ D50 with alpha, all numbers", "color(xyz-d50 1.00 0.50 0.200 / 0.6)", "color(xyz-d50 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ D50 with alpha, all percent", "color(xyz-d50 100% 50% 20%)", "color(xyz-d50 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ D50 with alpha, mixed number and percent", "color(xyz-d50 100% 0.5 20% / 0.6)", "color(xyz-d50 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ D50 with alpha, mixed number and percent 2", "color(xyz-d50 1.00 50% 0.2 / 60%)", "color(xyz-d50 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ D50 with alpha, all none", "color(xyz-d50 none none none / none)", "color(xyz-d50 0 0 0 / 0)");
+    testColorFunction("CIE XYZ D50 with alpha, number and none", "color(xyz-d50 1.00 none 0.2 / none)", "color(xyz-d50 1 0 0.2 / 0)");
+    testColorFunction("CIE XYZ D50 with alpha, percent and none", "color(xyz-d50 100% none 20% / 30%)", "color(xyz-d50 1 0 0.2 / 0.3)");
+    testColorFunction("CIE XYZ D50 with alpha, number, percent and none", "color(xyz-d50 100% none 0.2 / 23.7%)", "color(xyz-d50 1 0 0.2 / 0.237)");
+
+    // Opaque CIE XYZ D65 in color()
+    testColorFunction("CIE XYZ D65 all numbers", "color(xyz-d65 1.00 0.50 0.200)", "color(xyz-d65 1 0.5 0.2)");
+    testColorFunction("CIE XYZ D65 all percent", "color(xyz-d65 100% 50% 20%)", "color(xyz-d65 1 0.5 0.2)");
+    testColorFunction("CIE XYZ D65 mixed number and percent", "color(xyz-d65 100% 0.5 20%)", "color(xyz-d65 1 0.5 0.2)");
+    testColorFunction("CIE XYZ D65 mixed number and percent 2", "color(xyz-d65 1.00 50% 0.2)", "color(xyz-d65 1 0.5 0.2)");
+    testColorFunction("CIE XYZ D65 all none", "color(xyz-d65 none none none)", "color(xyz-d65 0 0 0)");
+    testColorFunction("CIE XYZ D65 number and none", "color(xyz-d65 1.00 none 0.2)", "color(xyz-d65 1 0 0.2)");
+    testColorFunction("CIE XYZ D65 percent and none", "color(xyz-d65 100% none 20%)", "color(xyz-d65 1 0 0.2)");
+    testColorFunction("CIE XYZ D65 number, percent and none", "color(xyz-d65 100% none 0.2)", "color(xyz-d65 1 0 0.2)");
+
+    // non-unity alpha, CIE XYZ D65 in  color()
+    testColorFunction("CIE XYZ D65 with alpha, all numbers", "color(xyz-d65 1.00 0.50 0.200 / 0.6)", "color(xyz-d65 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ D65 with alpha, all percent", "color(xyz-d65 100% 50% 20%)", "color(xyz-d65 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ D65 with alpha, mixed number and percent", "color(xyz-d65 100% 0.5 20% / 0.6)", "color(xyz-d65 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ D65 with alpha, mixed number and percent 2", "color(xyz-d65 1.00 50% 0.2 / 60%)", "color(xyz-d65 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ D65 with alpha, all none", "color(xyz-d65 none none none / none)", "color(xyz-d65 0 0 0 / 0)");
+    testColorFunction("CIE XYZ D65 with alpha, number and none", "color(xyz-d65 1.00 none 0.2 / none)", "color(xyz-d65 1 0 0.2 / 0)");
+    testColorFunction("CIE XYZ D65 with alpha, percent and none", "color(xyz-d65 100% none 20% / 30%)", "color(xyz-d65 1 0 0.2 / 0.3)");
+    testColorFunction("CIE XYZ D65 with alpha, number, percent and none", "color(xyz-d65 100% none 0.2 / 23.7%)", "color(xyz-d65 1 0 0.2 / 0.237)");
+
+    // Opaque CIE XYZ (implicit D65) in color()
+    testColorFunction("CIE XYZ (implicit D65) all numbers", "color(xyz 1.00 0.50 0.200)", "color(xyz-d65 1 0.5 0.2)");
+    testColorFunction("CIE XYZ (implicit D65) all percent", "color(xyz 100% 50% 20%)", "color(xyz-d65 1 0.5 0.2)");
+    testColorFunction("CIE XYZ (implicit D65) mixed number and percent", "color(xyz 100% 0.5 20%)", "color(xyz-d65 1 0.5 0.2)");
+    testColorFunction("CIE XYZ (implicit D65) mixed number and percent 2", "color(xyz 1.00 50% 0.2)", "color(xyz-d65 1 0.5 0.2)");
+    testColorFunction("CIE XYZ (implicit D65) all none", "color(xyz none none none)", "color(xyz-d65 0 0 0)");
+    testColorFunction("CIE XYZ (implicit D65) number and none", "color(xyz 1.00 none 0.2)", "color(xyz-d65 1 0 0.2)");
+    testColorFunction("CIE XYZ (implicit D65) percent and none", "color(xyz 100% none 20%)", "color(xyz-d65 1 0 0.2)");
+    testColorFunction("CIE XYZ (implicit D65) number, percent and none", "color(xyz 100% none 0.2)", "color(xyz-d65 1 0 0.2)");
+
+    // non-unity alpha, CIE XYZ (implicit D65) in  color()
+    testColorFunction("CIE XYZ (implicit D65) with alpha, all numbers", "color(xyz 1.00 0.50 0.200 / 0.6)", "color(xyz-d65 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ (implicit D65) with alpha, all percent", "color(xyz 100% 50% 20%)", "color(xyz-d65 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ (implicit D65) with alpha, mixed number and percent", "color(xyz 100% 0.5 20% / 0.6)", "color(xyz-d65 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ (implicit D65) with alpha, mixed number and percent 2", "color(xyz 1.00 50% 0.2 / 60%)", "color(xyz-d65 1 0.5 0.2 / 0.6)");
+    testColorFunction("CIE XYZ (implicit D65) with alpha, all none", "color(xyz none none none / none)", "color(xyz-d65 0 0 0 / 0)");
+    testColorFunction("CIE XYZ (implicit D65) with alpha, number and none", "color(xyz 1.00 none 0.2 / none)", "color(xyz-d65 1 0 0.2 / 0)");
+    testColorFunction("CIE XYZ (implicit D65) with alpha, percent and none", "color(xyz 100% none 20% / 30%)", "color(xyz-d65 1 0 0.2 / 0.3)");
+    testColorFunction("CIE XYZ (implicit D65) with alpha, number, percent and none", "color(xyz 100% none 0.2 / 23.7%)", "color(xyz-d65 1 0 0.2 / 0.237)");
+
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-2.html b/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-2.html
index c575896..1755aaf 100644
--- a/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-2.html
+++ b/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-2.html
@@ -12,7 +12,7 @@
 promise_test(async () => {
   function createButtonInShadowDOM(host) {
     const root = host.attachShadow({mode: "open"});
-    root.innerHTML = "<button>Button</button>";
+    root.innerHTML = "<input>";
     document.body.appendChild(host);
     return root;
   }
@@ -30,12 +30,12 @@
   const host3 = document.createElement("div");
   const root3 = createButtonInShadowDOM(host3);
 
-  root1.querySelector("button").focus();
+  root1.querySelector("input").focus();
 
   let forwarderFocused = false;
   forwarder.addEventListener("focus", () => {
     forwarderFocused = true;
-    root2.querySelector("button").focus();
+    root2.querySelector("input").focus();
   });
 
   // Structure:
@@ -50,17 +50,17 @@
   //   #ShadowRoot
   //     <button>Button</button>
   assert_equals(document.activeElement, host1);
-  assert_equals(root1.activeElement, root1.querySelector("button"));
+  assert_equals(root1.activeElement, root1.querySelector("input"));
 
   await navigateFocusForward();
   assert_true(forwarderFocused);
   assert_equals(document.activeElement, host2);
-  assert_equals(root2.activeElement, root2.querySelector("button"));
+  assert_equals(root2.activeElement, root2.querySelector("input"));
 
   // In buggy Firefox build, the following focus navigation will
   // move the focus back to #host1's button.
   await navigateFocusForward();
   assert_equals(document.activeElement, host3);
-  assert_equals(root3.activeElement, root3.querySelector("button"));
+  assert_equals(root3.activeElement, root3.querySelector("input"));
 }, "Order with different tabindex on host")
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-3.html b/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-3.html
index 4ba3296..e057039 100644
--- a/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-3.html
+++ b/third_party/blink/web_tests/external/wpt/shadow-dom/focus/focus-tabindex-order-shadow-varying-tabindex-3.html
@@ -12,7 +12,7 @@
 promise_test(async () => {
   function createButtonInShadowDOM(host, parent) {
     const root = host.attachShadow({mode: "open"});
-    root.innerHTML = "<button>Button</button>";
+    root.innerHTML = "<input>";
     parent.appendChild(host);
     return root;
   }
@@ -39,12 +39,12 @@
   const host2_3 = document.createElement("div");
   const root2_3 = createButtonInShadowDOM(host2_3, root2);
 
-  root1.querySelector("button").focus();
+  root1.querySelector("input").focus();
 
   let forwarderFocused = false;
   forwarder.addEventListener("focus", () => {
     forwarderFocused = true;
-    root2_2.querySelector("button").focus();
+    root2_2.querySelector("input").focus();
   });
 
   // Structure:
@@ -64,17 +64,17 @@
   //       #ShadowRoot
   //         <button>Button</button>
   assert_equals(document.activeElement, host1);
-  assert_equals(root1.activeElement, root1.querySelector("button"));
+  assert_equals(root1.activeElement, root1.querySelector("input"));
 
   await navigateFocusForward();
   assert_true(forwarderFocused);
   assert_equals(document.activeElement, host2);
-  assert_equals(root2_2.activeElement, root2_2.querySelector("button"));
+  assert_equals(root2_2.activeElement, root2_2.querySelector("input"));
 
   // In buggy Firefox build, the following focus navigation will
   // move the focus back to #host1_1's button.
   await navigateFocusForward();
   assert_equals(document.activeElement, host2);
-  assert_equals(root2_3.activeElement, root2_3.querySelector("button"));
+  assert_equals(root2_3.activeElement, root2_3.querySelector("input"));
 }, "Order with different tabindex on host")
 </script>
diff --git a/third_party/blink/web_tests/platform/generic/external/wpt/css/css-color/parsing/color-mixed-num-pct-expected.txt b/third_party/blink/web_tests/platform/generic/external/wpt/css/css-color/parsing/color-mixed-num-pct-expected.txt
new file mode 100644
index 0000000..16c0a449
--- /dev/null
+++ b/third_party/blink/web_tests/platform/generic/external/wpt/css/css-color/parsing/color-mixed-num-pct-expected.txt
@@ -0,0 +1,148 @@
+This is a testharness.js-based test.
+Found 144 tests; 0 PASS, 144 FAIL, 0 TIMEOUT, 0 NOTRUN.
+FAIL sRGB all numbers assert_equals: expected "color(srgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL sRGB all percent assert_equals: expected "color(srgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL sRGB mixed number and percent assert_equals: expected "color(srgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL sRGB mixed number and percent 2 assert_equals: expected "color(srgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL sRGB all none assert_equals: expected "color(srgb 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL sRGB number and none assert_equals: expected "color(srgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL sRGB percent and none assert_equals: expected "color(srgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL sRGB number, percent and none assert_equals: expected "color(srgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL sRGB with alpha, all numbers assert_equals: expected "color(srgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL sRGB with alpha, all percent assert_equals: expected "color(srgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL sRGB with alpha, mixed number and percent assert_equals: expected "color(srgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL sRGB with alpha, mixed number and percent 2 assert_equals: expected "color(srgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL sRGB with alpha, all none assert_equals: expected "color(srgb 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL sRGB with alpha, number and none assert_equals: expected "color(srgb 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL sRGB with alpha, percent and none assert_equals: expected "color(srgb 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL sRGB with alpha, number, percent and none assert_equals: expected "color(srgb 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB all numbers assert_equals: expected "color(srgb-linear 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB all percent assert_equals: expected "color(srgb-linear 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB mixed number and percent assert_equals: expected "color(srgb-linear 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB mixed number and percent 2 assert_equals: expected "color(srgb-linear 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB all none assert_equals: expected "color(srgb-linear 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB number and none assert_equals: expected "color(srgb-linear 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB percent and none assert_equals: expected "color(srgb-linear 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB number, percent and none assert_equals: expected "color(srgb-linear 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB with alpha, all numbers assert_equals: expected "color(srgb-linear 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB with alpha, all percent assert_equals: expected "color(srgb-linear 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB with alpha, mixed number and percent assert_equals: expected "color(srgb-linear 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB with alpha, mixed number and percent 2 assert_equals: expected "color(srgb-linear 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB with alpha, all none assert_equals: expected "color(srgb-linear 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB with alpha, number and none assert_equals: expected "color(srgb-linear 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB with alpha, percent and none assert_equals: expected "color(srgb-linear 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL Linear-light sRGB with alpha, number, percent and none assert_equals: expected "color(srgb-linear 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+FAIL Display P3 all numbers assert_equals: expected "color(display-p3 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Display P3 all percent assert_equals: expected "color(display-p3 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Display P3 mixed number and percent assert_equals: expected "color(display-p3 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Display P3 mixed number and percent 2 assert_equals: expected "color(display-p3 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Display P3 all none assert_equals: expected "color(display-p3 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL Display P3 number and none assert_equals: expected "color(display-p3 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Display P3 percent and none assert_equals: expected "color(display-p3 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Display P3 number, percent and none assert_equals: expected "color(display-p3 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Display P3 with alpha, all numbers assert_equals: expected "color(display-p3 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Display P3 with alpha, all percent assert_equals: expected "color(display-p3 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Display P3 with alpha, mixed number and percent assert_equals: expected "color(display-p3 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Display P3 with alpha, mixed number and percent 2 assert_equals: expected "color(display-p3 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Display P3 with alpha, all none assert_equals: expected "color(display-p3 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL Display P3 with alpha, number and none assert_equals: expected "color(display-p3 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL Display P3 with alpha, percent and none assert_equals: expected "color(display-p3 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL Display P3 with alpha, number, percent and none assert_equals: expected "color(display-p3 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB all numbers assert_equals: expected "color(a98-rgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB all percent assert_equals: expected "color(a98-rgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB mixed number and percent assert_equals: expected "color(a98-rgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB mixed number and percent 2 assert_equals: expected "color(a98-rgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB all none assert_equals: expected "color(a98-rgb 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB number and none assert_equals: expected "color(a98-rgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB percent and none assert_equals: expected "color(a98-rgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB number, percent and none assert_equals: expected "color(a98-rgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB with alpha, all numbers assert_equals: expected "color(a98-rgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB with alpha, all percent assert_equals: expected "color(a98-rgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB with alpha, mixed number and percent assert_equals: expected "color(a98-rgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB with alpha, mixed number and percent 2 assert_equals: expected "color(a98-rgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB with alpha, all none assert_equals: expected "color(a98-rgb 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB with alpha, number and none assert_equals: expected "color(a98-rgb 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB with alpha, percent and none assert_equals: expected "color(a98-rgb 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL A98 RGB with alpha, number, percent and none assert_equals: expected "color(a98-rgb 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB all numbers assert_equals: expected "color(prophoto-rgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB all percent assert_equals: expected "color(prophoto-rgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB mixed number and percent assert_equals: expected "color(prophoto-rgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB mixed number and percent 2 assert_equals: expected "color(prophoto-rgb 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB all none assert_equals: expected "color(prophoto-rgb 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB number and none assert_equals: expected "color(prophoto-rgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB percent and none assert_equals: expected "color(prophoto-rgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB number, percent and none assert_equals: expected "color(prophoto-rgb 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB with alpha, all numbers assert_equals: expected "color(prophoto-rgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB with alpha, all percent assert_equals: expected "color(prophoto-rgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB with alpha, mixed number and percent assert_equals: expected "color(prophoto-rgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB with alpha, mixed number and percent 2 assert_equals: expected "color(prophoto-rgb 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB with alpha, all none assert_equals: expected "color(prophoto-rgb 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB with alpha, number and none assert_equals: expected "color(prophoto-rgb 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB with alpha, percent and none assert_equals: expected "color(prophoto-rgb 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL ProPhoto RGB with alpha, number, percent and none assert_equals: expected "color(prophoto-rgb 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 all numbers assert_equals: expected "color(rec2020 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 all percent assert_equals: expected "color(rec2020 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 mixed number and percent assert_equals: expected "color(rec2020 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 mixed number and percent 2 assert_equals: expected "color(rec2020 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 all none assert_equals: expected "color(rec2020 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 number and none assert_equals: expected "color(rec2020 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 percent and none assert_equals: expected "color(rec2020 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 number, percent and none assert_equals: expected "color(rec2020 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 with alpha, all numbers assert_equals: expected "color(rec2020 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 with alpha, all percent assert_equals: expected "color(rec2020 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 with alpha, mixed number and percent assert_equals: expected "color(rec2020 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 with alpha, mixed number and percent 2 assert_equals: expected "color(rec2020 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 with alpha, all none assert_equals: expected "color(rec2020 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 with alpha, number and none assert_equals: expected "color(rec2020 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 with alpha, percent and none assert_equals: expected "color(rec2020 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL Rec BT.2020 with alpha, number, percent and none assert_equals: expected "color(rec2020 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 all numbers assert_equals: expected "color(xyz-d50 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 all percent assert_equals: expected "color(xyz-d50 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 mixed number and percent assert_equals: expected "color(xyz-d50 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 mixed number and percent 2 assert_equals: expected "color(xyz-d50 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 all none assert_equals: expected "color(xyz-d50 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 number and none assert_equals: expected "color(xyz-d50 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 percent and none assert_equals: expected "color(xyz-d50 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 number, percent and none assert_equals: expected "color(xyz-d50 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 with alpha, all numbers assert_equals: expected "color(xyz-d50 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 with alpha, all percent assert_equals: expected "color(xyz-d50 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 with alpha, mixed number and percent assert_equals: expected "color(xyz-d50 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 with alpha, mixed number and percent 2 assert_equals: expected "color(xyz-d50 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 with alpha, all none assert_equals: expected "color(xyz-d50 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 with alpha, number and none assert_equals: expected "color(xyz-d50 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 with alpha, percent and none assert_equals: expected "color(xyz-d50 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D50 with alpha, number, percent and none assert_equals: expected "color(xyz-d50 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 all numbers assert_equals: expected "color(xyz-d65 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 all percent assert_equals: expected "color(xyz-d65 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 mixed number and percent assert_equals: expected "color(xyz-d65 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 mixed number and percent 2 assert_equals: expected "color(xyz-d65 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 all none assert_equals: expected "color(xyz-d65 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 number and none assert_equals: expected "color(xyz-d65 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 percent and none assert_equals: expected "color(xyz-d65 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 number, percent and none assert_equals: expected "color(xyz-d65 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 with alpha, all numbers assert_equals: expected "color(xyz-d65 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 with alpha, all percent assert_equals: expected "color(xyz-d65 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 with alpha, mixed number and percent assert_equals: expected "color(xyz-d65 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 with alpha, mixed number and percent 2 assert_equals: expected "color(xyz-d65 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 with alpha, all none assert_equals: expected "color(xyz-d65 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 with alpha, number and none assert_equals: expected "color(xyz-d65 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 with alpha, percent and none assert_equals: expected "color(xyz-d65 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ D65 with alpha, number, percent and none assert_equals: expected "color(xyz-d65 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) all numbers assert_equals: expected "color(xyz-d65 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) all percent assert_equals: expected "color(xyz-d65 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) mixed number and percent assert_equals: expected "color(xyz-d65 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) mixed number and percent 2 assert_equals: expected "color(xyz-d65 1 0.5 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) all none assert_equals: expected "color(xyz-d65 0 0 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) number and none assert_equals: expected "color(xyz-d65 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) percent and none assert_equals: expected "color(xyz-d65 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) number, percent and none assert_equals: expected "color(xyz-d65 1 0 0.2)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) with alpha, all numbers assert_equals: expected "color(xyz-d65 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) with alpha, all percent assert_equals: expected "color(xyz-d65 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) with alpha, mixed number and percent assert_equals: expected "color(xyz-d65 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) with alpha, mixed number and percent 2 assert_equals: expected "color(xyz-d65 1 0.5 0.2 / 0.6)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) with alpha, all none assert_equals: expected "color(xyz-d65 0 0 0 / 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) with alpha, number and none assert_equals: expected "color(xyz-d65 1 0 0.2 / 0)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) with alpha, percent and none assert_equals: expected "color(xyz-d65 1 0 0.2 / 0.3)" but got "rgb(0, 0, 0)"
+FAIL CIE XYZ (implicit D65) with alpha, number, percent and none assert_equals: expected "color(xyz-d65 1 0 0.2 / 0.237)" but got "rgb(0, 0, 0)"
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/platform/generic/virtual/force-in-order-script/wpt_internal/in-order-script-scheduling/async-script-expected.txt b/third_party/blink/web_tests/platform/generic/virtual/force-in-order-script/wpt_internal/in-order-script-scheduling/async-script-expected.txt
new file mode 100644
index 0000000..e3e3ddeba
--- /dev/null
+++ b/third_party/blink/web_tests/platform/generic/virtual/force-in-order-script/wpt_internal/in-order-script-scheduling/async-script-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL InOrder Script Execution Order Uncaught Error: assert_array_equals: Execution order expected property 1 to be "Sync1" but got "Async1" (expected array ["Inline1", "Sync1", "Inline2", "EndOfBody", "DOMContentLoaded", "Async1"] got ["Inline1", "Async1", "Sync1", "Inline2", "EndOfBody", "DOMContentLoaded"])
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/platform/generic/virtual/force-in-order-script/wpt_internal/in-order-script-scheduling/no-parser-blocking-expected.txt b/third_party/blink/web_tests/platform/generic/virtual/force-in-order-script/wpt_internal/in-order-script-scheduling/no-parser-blocking-expected.txt
new file mode 100644
index 0000000..5ab9844
--- /dev/null
+++ b/third_party/blink/web_tests/platform/generic/virtual/force-in-order-script/wpt_internal/in-order-script-scheduling/no-parser-blocking-expected.txt
@@ -0,0 +1,4 @@
+This is a testharness.js-based test.
+FAIL InOrder Script Execution Order Uncaught Error: assert_array_equals: Execution order expected property 1 to be "Sync1" but got "EndOfBody" (expected array ["Inline1", "Sync1", "EndOfBody", "DOMContentLoaded", "Async1"] got ["Inline1", "EndOfBody", "DOMContentLoaded", "Async1", "Sync1"])
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/platform/generic/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt b/third_party/blink/web_tests/platform/generic/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
index 18915aff..00b27ce 100644
--- a/third_party/blink/web_tests/platform/generic/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
+++ b/third_party/blink/web_tests/platform/generic/virtual/stable/webexposed/global-interface-listing-dedicated-worker-expected.txt
@@ -811,6 +811,31 @@
 [Worker]     method constructor
 [Worker]     method decodingInfo
 [Worker]     method encodingInfo
+[Worker] interface MediaSource : EventTarget
+[Worker]     static getter canConstructInDedicatedWorker
+[Worker]     static method isTypeSupported
+[Worker]     attribute @@toStringTag
+[Worker]     getter activeSourceBuffers
+[Worker]     getter duration
+[Worker]     getter handle
+[Worker]     getter onsourceclose
+[Worker]     getter onsourceended
+[Worker]     getter onsourceopen
+[Worker]     getter readyState
+[Worker]     getter sourceBuffers
+[Worker]     method addSourceBuffer
+[Worker]     method clearLiveSeekableRange
+[Worker]     method constructor
+[Worker]     method endOfStream
+[Worker]     method removeSourceBuffer
+[Worker]     method setLiveSeekableRange
+[Worker]     setter duration
+[Worker]     setter onsourceclose
+[Worker]     setter onsourceended
+[Worker]     setter onsourceopen
+[Worker] interface MediaSourceHandle
+[Worker]     attribute @@toStringTag
+[Worker]     method constructor
 [Worker] interface MessageChannel
 [Worker]     attribute @@toStringTag
 [Worker]     getter port1
@@ -1322,6 +1347,42 @@
 [Worker]     method unregister
 [Worker]     method update
 [Worker]     setter onupdatefound
+[Worker] interface SourceBuffer : EventTarget
+[Worker]     attribute @@toStringTag
+[Worker]     getter appendWindowEnd
+[Worker]     getter appendWindowStart
+[Worker]     getter buffered
+[Worker]     getter mode
+[Worker]     getter onabort
+[Worker]     getter onerror
+[Worker]     getter onupdate
+[Worker]     getter onupdateend
+[Worker]     getter onupdatestart
+[Worker]     getter timestampOffset
+[Worker]     getter updating
+[Worker]     method abort
+[Worker]     method appendBuffer
+[Worker]     method changeType
+[Worker]     method constructor
+[Worker]     method remove
+[Worker]     setter appendWindowEnd
+[Worker]     setter appendWindowStart
+[Worker]     setter mode
+[Worker]     setter onabort
+[Worker]     setter onerror
+[Worker]     setter onupdate
+[Worker]     setter onupdateend
+[Worker]     setter onupdatestart
+[Worker]     setter timestampOffset
+[Worker] interface SourceBufferList : EventTarget
+[Worker]     attribute @@toStringTag
+[Worker]     getter length
+[Worker]     getter onaddsourcebuffer
+[Worker]     getter onremovesourcebuffer
+[Worker]     method @@iterator
+[Worker]     method constructor
+[Worker]     setter onaddsourcebuffer
+[Worker]     setter onremovesourcebuffer
 [Worker] interface StorageManager : EventTarget
 [Worker]     attribute @@toStringTag
 [Worker]     method constructor
diff --git a/third_party/blink/web_tests/platform/generic/virtual/stable/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/platform/generic/virtual/stable/webexposed/global-interface-listing-expected.txt
index 3496db81..42727dc1 100644
--- a/third_party/blink/web_tests/platform/generic/virtual/stable/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/platform/generic/virtual/stable/webexposed/global-interface-listing-expected.txt
@@ -4701,10 +4701,12 @@
     setter metadata
     setter playbackState
 interface MediaSource : EventTarget
+    static getter canConstructInDedicatedWorker
     static method isTypeSupported
     attribute @@toStringTag
     getter activeSourceBuffers
     getter duration
+    getter handle
     getter onsourceclose
     getter onsourceended
     getter onsourceopen
@@ -4720,6 +4722,9 @@
     setter onsourceclose
     setter onsourceended
     setter onsourceopen
+interface MediaSourceHandle
+    attribute @@toStringTag
+    method constructor
 interface MediaStream : EventTarget
     attribute @@toStringTag
     getter active
diff --git a/third_party/blink/web_tests/virtual/force-in-order-script/README.md b/third_party/blink/web_tests/virtual/force-in-order-script/README.md
new file mode 100644
index 0000000..8ba8c76
--- /dev/null
+++ b/third_party/blink/web_tests/virtual/force-in-order-script/README.md
@@ -0,0 +1,3 @@
+This suite runs the tests in in-oder-script-scheduling/ with
+`--enable-features=ForceInOrderScript` to force asynchronous loading to
+synchronous script. See https://crbug.com/1344772
diff --git a/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/README.md b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/README.md
new file mode 100644
index 0000000..a608b75
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/README.md
@@ -0,0 +1,3 @@
+The tests in this directory is intended for Chromium's ForceInOrder
+experiment https://crbug.com/1344772, containing scenarios that would be
+affected by ForceInOrder.
diff --git a/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/async-script.html b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/async-script.html
new file mode 100644
index 0000000..cf233a00d
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/async-script.html
@@ -0,0 +1,38 @@
+<!doctype html>
+<title>InOrder Script Execution Order</title>
+<html>
+
+<head>
+  <meta charset="utf-8">
+  <script src="/resources/testharness.js"></script>
+  <script src="/resources/testharnessreport.js"></script>
+  <script src="resources/helper.js"></script>
+</head>
+
+<body>
+  <script>
+    setup({ single_test: true });
+    function finish() {
+      assert_array_equals(
+        window.result,
+        ["Inline1", "Sync1", "Inline2", "EndOfBody",
+          "DOMContentLoaded", "Async1"], "Execution order");
+        // When ForceInOrder is enabled, the order is following:
+        // ["Inline1", "Async1", "Sync1", "Inline2",
+        // "EndOfBody", "DOMContentLoaded"]
+      done();
+    }
+    window.addEventListener("load", finish);
+    logScript("Inline1");
+  </script>
+
+  <!-- Add 1 sec delay to make the loading happens after DOMContentLoaded -->
+  <script src="resources/async-script-1.js?pipe=trickle(d1)" async></script>
+  <script src="resources/sync-script-1.js"></script>
+  <script>
+    logScript("Inline2");
+  </script>
+  <pre id="bodyend">End</pre>
+</body>
+
+</html>
diff --git a/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/no-parser-blocking.html b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/no-parser-blocking.html
new file mode 100644
index 0000000..bbcbe87
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/no-parser-blocking.html
@@ -0,0 +1,34 @@
+<!doctype html>
+<title>InOrder Script Execution Order</title>
+<html>
+
+<head>
+  <meta charset="utf-8">
+  <script src="/resources/testharness.js"></script>
+  <script src="/resources/testharnessreport.js"></script>
+  <script src="resources/helper.js"></script>
+</head>
+
+<body>
+  <script>
+    setup({ single_test: true });
+    function finish() {
+      assert_array_equals(
+        window.result,
+        ["Inline1", "Sync1", "EndOfBody", "DOMContentLoaded", "Async1"],
+        "Execution order");
+        // When ForceInOrder is enabled, the order is following:
+        // ["Inline1", "EndOfBody", "DOMContentLoaded", "Async1", "Sync1"],
+      done();
+    }
+    logScript("Inline1");
+    window.addEventListener("load", finish);
+  </script>
+
+  <!-- Add 1 sec delay to make the loading happens after DOMContentLoaded -->
+  <script src="resources/async-script-1.js?pipe=trickle(d1)" async></script>
+  <script src="resources/sync-script-1.js"></script>
+  <pre id="bodyend">End</pre>
+</body>
+
+</html>
diff --git a/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/async-script-1.js b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/async-script-1.js
new file mode 100644
index 0000000..267f324
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/async-script-1.js
@@ -0,0 +1 @@
+logScript("Async1");
diff --git a/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/helper.js b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/helper.js
new file mode 100644
index 0000000..51b7580
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/helper.js
@@ -0,0 +1,20 @@
+window.result = [];
+function log(msg) {
+  window.result.push(msg);
+}
+function checkIfReachedBodyEnd() {
+  const endelement = document.getElementById("bodyend");
+  // `<pre id="bodyend">End</pre>` is needed at the end of HTML.
+  if (endelement && endelement.textContent === "End") {
+    log("EndOfBody");
+    endelement.textContent = "Detected";
+  }
+}
+function logScript(msg) {
+  checkIfReachedBodyEnd();
+  log(msg);
+}
+
+document.addEventListener("DOMContentLoaded", () => {
+  logScript("DOMContentLoaded");
+});
diff --git a/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/sync-script-1.js b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/sync-script-1.js
new file mode 100644
index 0000000..726b563
--- /dev/null
+++ b/third_party/blink/web_tests/wpt_internal/in-order-script-scheduling/resources/sync-script-1.js
@@ -0,0 +1 @@
+logScript("Sync1");
diff --git a/third_party/closure_compiler/externs/metrics_private.js b/third_party/closure_compiler/externs/metrics_private.js
index 37aea13..cb6ae7e 100644
--- a/third_party/closure_compiler/externs/metrics_private.js
+++ b/third_party/closure_compiler/externs/metrics_private.js
@@ -141,14 +141,6 @@
 
 /**
  * Increments the count associated with the hash of |value| in the sparse
- * histogram defined by the |metricName| using base::PersistentHash(value).
- * @param {string} metricName
- * @param {string} value
- */
- chrome.metricsPrivate.recordSparseHashable = function(metricName, value) {};
-
-/**
- * Increments the count associated with the hash of |value| in the sparse
  * histogram defined by the |metricName| using base::HashMetricName(value).
  * @param {string} metricName
  * @param {string} value
diff --git a/third_party/freetype/README.chromium b/third_party/freetype/README.chromium
index 9a2f04a2a..c07af3db 100644
--- a/third_party/freetype/README.chromium
+++ b/third_party/freetype/README.chromium
@@ -1,7 +1,7 @@
 Name: FreeType
 URL: http://www.freetype.org/
-Version: VER-2-12-1-68-g9de432f7f
-Revision: 9de432f7f2989a6ad13024404b2290c529a82858
+Version: VER-2-12-1-70-ga18ad83e8
+Revision: a18ad83e8b4708a38b7ee8cb877b8698b8a6d508
 CPEPrefix: cpe:/a:freetype:freetype:2.11.1
 License: Custom license "inspired by the BSD, Artistic, and IJG (Independent
          JPEG Group) licenses"
diff --git a/third_party/ipcz/src/ipcz/local_router_link.cc b/third_party/ipcz/src/ipcz/local_router_link.cc
index 8e8ee3d6..4922f81 100644
--- a/third_party/ipcz/src/ipcz/local_router_link.cc
+++ b/third_party/ipcz/src/ipcz/local_router_link.cc
@@ -18,10 +18,17 @@
 
 class LocalRouterLink::SharedState : public RefCounted {
  public:
-  SharedState(LinkType type, Ref<Router> router_a, Ref<Router> router_b)
+  SharedState(LinkType type,
+              LocalRouterLink::InitialState initial_state,
+              Ref<Router> router_a,
+              Ref<Router> router_b)
       : type_(type),
         router_a_(std::move(router_a)),
-        router_b_(std::move(router_b)) {}
+        router_b_(std::move(router_b)) {
+    if (initial_state == LocalRouterLink::kStable) {
+      link_state_.status = RouterLinkState::kStable;
+    }
+  }
 
   LinkType type() const { return type_; }
 
@@ -63,14 +70,14 @@
 };
 
 // static
-RouterLink::Pair LocalRouterLink::ConnectRouters(LinkType type,
-                                                 const Router::Pair& routers) {
+RouterLink::Pair LocalRouterLink::CreatePair(LinkType type,
+                                             const Router::Pair& routers,
+                                             InitialState initial_state) {
   ABSL_ASSERT(type == LinkType::kCentral || type == LinkType::kBridge);
-  auto state = MakeRefCounted<SharedState>(type, routers.first, routers.second);
+  auto state = MakeRefCounted<SharedState>(type, initial_state, routers.first,
+                                           routers.second);
   auto a = AdoptRef(new LocalRouterLink(LinkSide::kA, state));
   auto b = AdoptRef(new LocalRouterLink(LinkSide::kB, state));
-  routers.first->SetOutwardLink(a);
-  routers.second->SetOutwardLink(b);
   return {a, b};
 }
 
@@ -87,8 +94,12 @@
   return &state_->link_state();
 }
 
-bool LocalRouterLink::HasLocalPeer(const Router& router) {
-  return state_->GetRouter(side_.opposite()).get() == &router;
+Ref<Router> LocalRouterLink::GetLocalPeer() {
+  return state_->GetRouter(side_.opposite());
+}
+
+RemoteRouterLink* LocalRouterLink::AsRemoteRouterLink() {
+  return nullptr;
 }
 
 void LocalRouterLink::AcceptParcel(Parcel& parcel) {
@@ -136,7 +147,7 @@
 bool LocalRouterLink::FlushOtherSideIfWaiting() {
   const LinkSide other_side = side_.opposite();
   if (state_->link_state().ResetWaitingBit(other_side)) {
-    state_->GetRouter(other_side)->Flush();
+    state_->GetRouter(other_side)->Flush(Router::kForceProxyBypassAttempt);
     return true;
   }
   return false;
diff --git a/third_party/ipcz/src/ipcz/local_router_link.h b/third_party/ipcz/src/ipcz/local_router_link.h
index e17d5a11..77291e8 100644
--- a/third_party/ipcz/src/ipcz/local_router_link.h
+++ b/third_party/ipcz/src/ipcz/local_router_link.h
@@ -21,15 +21,22 @@
 class LocalRouterLink : public RouterLink {
  public:
   // Creates a new pair of LocalRouterLinks linking the given pair of Routers
-  // together. The Routers must not currently have outward links. `type` must
-  // be either kCentral or kBridge, as local links may never be peripheral.
-  static RouterLink::Pair ConnectRouters(LinkType type,
-                                         const Router::Pair& routers);
+  // together. `type` must be either kCentral or kBridge, as local links may
+  // never be peripheral. `initial_state` determines whether the new link starts
+  // in a stable state.
+  //
+  // It is the caller's responsibilty to give the returned links to their
+  // respective Routers.
+  enum InitialState { kUnstable, kStable };
+  static RouterLink::Pair CreatePair(LinkType type,
+                                     const Router::Pair& routers,
+                                     InitialState initial_state = kUnstable);
 
   // RouterLink:
   LinkType GetType() const override;
   RouterLinkState* GetLinkState() const override;
-  bool HasLocalPeer(const Router& router) override;
+  Ref<Router> GetLocalPeer() override;
+  RemoteRouterLink* AsRemoteRouterLink() override;
   void AcceptParcel(Parcel& parcel) override;
   void AcceptRouteClosure(SequenceNumber sequence_length) override;
   void AcceptRouteDisconnected() override;
diff --git a/third_party/ipcz/src/ipcz/node_link.cc b/third_party/ipcz/src/ipcz/node_link.cc
index 68d7ba4..ed87b2c 100644
--- a/third_party/ipcz/src/ipcz/node_link.cc
+++ b/third_party/ipcz/src/ipcz/node_link.cc
@@ -442,7 +442,7 @@
   }
 
   return receiver->AcceptBypassLink(
-      WrapRefCounted(this), accept.params().new_sublink, std::move(link_state),
+      *this, accept.params().new_sublink, std::move(link_state),
       accept.params().inbound_sequence_length_from_bypassed_link);
 }
 
@@ -477,9 +477,9 @@
   if (link_state.is_null()) {
     return false;
   }
-  return router->BypassPeerWithLink(*this, bypass.params().new_sublink,
-                                    std::move(link_state),
-                                    bypass.params().inbound_sequence_length);
+  return router->AcceptBypassLink(*this, bypass.params().new_sublink,
+                                  std::move(link_state),
+                                  bypass.params().inbound_sequence_length);
 }
 
 bool NodeLink::OnStopProxyingToLocalPeer(msg::StopProxyingToLocalPeer& stop) {
@@ -494,7 +494,7 @@
 
 bool NodeLink::OnFlushRouter(msg::FlushRouter& flush) {
   if (Ref<Router> router = GetRouter(flush.params().sublink)) {
-    router->Flush();
+    router->Flush(Router::kForceProxyBypassAttempt);
   }
   return true;
 }
diff --git a/third_party/ipcz/src/ipcz/node_link_test.cc b/third_party/ipcz/src/ipcz/node_link_test.cc
index 94e91c1..b504e29 100644
--- a/third_party/ipcz/src/ipcz/node_link_test.cc
+++ b/third_party/ipcz/src/ipcz/node_link_test.cc
@@ -65,12 +65,13 @@
   auto [link0, link1] = LinkNodes(node0, node1);
   auto router0 = MakeRefCounted<Router>();
   auto router1 = MakeRefCounted<Router>();
+  FragmentRef<RouterLinkState> link_state =
+      link0->memory().GetInitialRouterLinkState(0);
   router0->SetOutwardLink(link0->AddRemoteRouterLink(
-      SublinkId(0), link0->memory().GetInitialRouterLinkState(0),
-      LinkType::kCentral, LinkSide::kA, router0));
+      SublinkId(0), link_state, LinkType::kCentral, LinkSide::kA, router0));
   router1->SetOutwardLink(link1->AddRemoteRouterLink(
-      SublinkId(0), link0->memory().GetInitialRouterLinkState(0),
-      LinkType::kCentral, LinkSide::kB, router1));
+      SublinkId(0), link_state, LinkType::kCentral, LinkSide::kB, router1));
+  link_state->status = RouterLinkState::kStable;
 
   EXPECT_FALSE(router1->IsPeerClosed());
   router0->CloseRoute();
diff --git a/third_party/ipcz/src/ipcz/portal.cc b/third_party/ipcz/src/ipcz/portal.cc
index 025258b9..4de1d7cc 100644
--- a/third_party/ipcz/src/ipcz/portal.cc
+++ b/third_party/ipcz/src/ipcz/portal.cc
@@ -46,7 +46,10 @@
   DVLOG(5) << "Created new portal pair with routers " << routers.first.get()
            << " and " << routers.second.get();
 
-  LocalRouterLink::ConnectRouters(LinkType::kCentral, routers);
+  auto links = LocalRouterLink::CreatePair(LinkType::kCentral, routers,
+                                           LocalRouterLink::kStable);
+  routers.first->SetOutwardLink(std::move(links.first));
+  routers.second->SetOutwardLink(std::move(links.second));
   return {MakeRefCounted<Portal>(node, std::move(routers.first)),
           MakeRefCounted<Portal>(node, std::move(routers.second))};
 }
diff --git a/third_party/ipcz/src/ipcz/remote_router_link.cc b/third_party/ipcz/src/ipcz/remote_router_link.cc
index 0c2be7f1..4602db6 100644
--- a/third_party/ipcz/src/ipcz/remote_router_link.cc
+++ b/third_party/ipcz/src/ipcz/remote_router_link.cc
@@ -84,7 +84,7 @@
     MarkSideStable();
   }
   if (Ref<Router> router = node_link()->GetRouter(sublink_)) {
-    router->Flush();
+    router->Flush(Router::kForceProxyBypassAttempt);
   }
 }
 
@@ -96,8 +96,12 @@
   return link_state_.load(std::memory_order_acquire);
 }
 
-bool RemoteRouterLink::HasLocalPeer(const Router& router) {
-  return false;
+Ref<Router> RemoteRouterLink::GetLocalPeer() {
+  return nullptr;
+}
+
+RemoteRouterLink* RemoteRouterLink::AsRemoteRouterLink() {
+  return this;
 }
 
 void RemoteRouterLink::AcceptParcel(Parcel& parcel) {
diff --git a/third_party/ipcz/src/ipcz/remote_router_link.h b/third_party/ipcz/src/ipcz/remote_router_link.h
index 859dd547..98950ab 100644
--- a/third_party/ipcz/src/ipcz/remote_router_link.h
+++ b/third_party/ipcz/src/ipcz/remote_router_link.h
@@ -51,7 +51,8 @@
   // RouterLink:
   LinkType GetType() const override;
   RouterLinkState* GetLinkState() const override;
-  bool HasLocalPeer(const Router& router) override;
+  Ref<Router> GetLocalPeer() override;
+  RemoteRouterLink* AsRemoteRouterLink() override;
   void AcceptParcel(Parcel& parcel) override;
   void AcceptRouteClosure(SequenceNumber sequence_length) override;
   void AcceptRouteDisconnected() override;
diff --git a/third_party/ipcz/src/ipcz/route_edge_test.cc b/third_party/ipcz/src/ipcz/route_edge_test.cc
index 53134e4..8d84a24 100644
--- a/third_party/ipcz/src/ipcz/route_edge_test.cc
+++ b/third_party/ipcz/src/ipcz/route_edge_test.cc
@@ -25,9 +25,7 @@
     auto a = MakeRefCounted<Router>();
     auto b = MakeRefCounted<Router>();
     auto [a_link, b_blink] =
-        LocalRouterLink::ConnectRouters(LinkType::kCentral, {a, b});
-    a->CloseRoute();
-    b->CloseRoute();
+        LocalRouterLink::CreatePair(LinkType::kCentral, {a, b});
     return a_link;
   }
 };
diff --git a/third_party/ipcz/src/ipcz/router.cc b/third_party/ipcz/src/ipcz/router.cc
index 779e6fc0f..1badab2 100644
--- a/third_party/ipcz/src/ipcz/router.cc
+++ b/third_party/ipcz/src/ipcz/router.cc
@@ -10,6 +10,7 @@
 #include <utility>
 
 #include "ipcz/ipcz.h"
+#include "ipcz/local_router_link.h"
 #include "ipcz/node_link.h"
 #include "ipcz/remote_router_link.h"
 #include "ipcz/sequence_number.h"
@@ -18,6 +19,7 @@
 #include "third_party/abseil-cpp/absl/container/inlined_vector.h"
 #include "third_party/abseil-cpp/absl/synchronization/mutex.h"
 #include "util/log.h"
+#include "util/multi_mutex_lock.h"
 
 namespace ipcz {
 
@@ -82,6 +84,15 @@
   return (status_.flags & IPCZ_PORTAL_STATUS_DEAD) != 0;
 }
 
+bool Router::IsOnCentralRemoteLink() {
+  absl::MutexLock lock(&mutex_);
+  // This may only be called on terminal Routers.
+  ABSL_ASSERT(!inward_edge_);
+  return outward_edge_.primary_link() && outward_edge_.is_stable() &&
+         outward_edge_.primary_link()->GetType().is_central() &&
+         !outward_edge_.primary_link()->GetLocalPeer();
+}
+
 void Router::QueryStatus(IpczPortalStatus& status) {
   absl::MutexLock lock(&mutex_);
   const size_t size = std::min(status.size, status_.size);
@@ -92,7 +103,7 @@
 bool Router::HasLocalPeer(Router& router) {
   absl::MutexLock lock(&mutex_);
   return outward_edge_.primary_link() &&
-         outward_edge_.primary_link()->HasLocalPeer(router);
+         outward_edge_.primary_link()->GetLocalPeer() == &router;
 }
 
 IpczResult Router::SendOutboundParcel(Parcel& parcel) {
@@ -149,6 +160,14 @@
 
   {
     absl::MutexLock lock(&mutex_);
+
+    // If we have a stable inward edge (or none at all), and the outward edge
+    // is stable too, our new link can be marked stable from our side.
+    if (link->GetType().is_central() && outward_edge_.is_stable() &&
+        (!inward_edge_ || inward_edge_->is_stable())) {
+      link->MarkSideStable();
+    }
+
     if (!is_disconnected_) {
       outward_edge_.SetPrimaryLink(std::move(link));
     }
@@ -161,7 +180,7 @@
     return;
   }
 
-  Flush();
+  Flush(kForceProxyBypassAttempt);
 }
 
 bool Router::AcceptInboundParcel(Parcel& parcel) {
@@ -398,8 +417,7 @@
     DVLOG(4) << "Disconnected new Router immediately after deserialization";
     router->AcceptRouteDisconnectedFrom(LinkType::kPeripheralOutward);
   }
-
-  router->Flush();
+  router->Flush(kForceProxyBypassAttempt);
   return router;
 }
 
@@ -493,46 +511,242 @@
 
   // We may have inbound parcels queued which need to be forwarded to the new
   // Router, so give them a chance to be flushed out.
-  Flush();
+  Flush(kForceProxyBypassAttempt);
 }
 
 bool Router::BypassPeer(RemoteRouterLink& requestor,
                         const NodeName& bypass_target_node,
                         SublinkId bypass_target_sublink) {
-  // TODO: Implement this.
-  return true;
+  NodeLink& from_node_link = *requestor.node_link();
+
+  // Validate that the source of this request is actually our peripheral outward
+  // peer, and that we are therefore its inward peer.
+  {
+    absl::MutexLock lock(&mutex_);
+    const Ref<RouterLink>& outward_link = outward_edge_.primary_link();
+    if (!outward_link) {
+      // This Router may have been disconnected already due to some other
+      // failure along the route. This is not the fault of the requestor, so we
+      // silently ignore the request.
+      return true;
+    }
+
+    if (outward_link != &requestor ||
+        !outward_link->GetType().is_peripheral_outward()) {
+      DLOG(ERROR) << "Rejecting RequestProxyBypass received on "
+                  << requestor.Describe() << " with existing "
+                  << outward_edge_.primary_link()->Describe();
+      return false;
+    }
+  }
+
+  // There are two distinct cases to handle. The first case here is when the
+  // proxy's outward peer lives on a different node from us.
+  if (bypass_target_node != from_node_link.local_node_name()) {
+    Ref<NodeLink> link_to_bypass_target =
+        from_node_link.node()->GetLink(bypass_target_node);
+    if (link_to_bypass_target) {
+      return BypassPeerWithNewRemoteLink(
+          requestor, *link_to_bypass_target, bypass_target_sublink,
+          link_to_bypass_target->memory().TryAllocateRouterLinkState());
+    }
+
+    // We need to establish a link to the target node before we can proceed.
+    from_node_link.node()->EstablishLink(
+        bypass_target_node,
+        [router = WrapRefCounted(this), requestor = WrapRefCounted(&requestor),
+         bypass_target_sublink](NodeLink* link_to_bypass_target) {
+          if (!link_to_bypass_target) {
+            DLOG(ERROR) << "Disconnecting Router due to failed introduction";
+            router->AcceptRouteDisconnectedFrom(LinkType::kPeripheralOutward);
+            return;
+          }
+
+          router->BypassPeerWithNewRemoteLink(
+              *requestor, *link_to_bypass_target, bypass_target_sublink,
+              link_to_bypass_target->memory().TryAllocateRouterLinkState());
+        });
+    return true;
+  }
+
+  // The second case is when the proxy's outward peer lives on our own node.
+  return BypassPeerWithNewLocalLink(requestor, bypass_target_sublink);
 }
 
 bool Router::AcceptBypassLink(
-    Ref<NodeLink> new_node_link,
+    NodeLink& new_node_link,
     SublinkId new_sublink,
     FragmentRef<RouterLinkState> new_link_state,
     SequenceNumber inbound_sequence_length_from_bypassed_link) {
-  // TODO: Implement this.
+  SequenceNumber length_to_proxy_from_us;
+  Ref<RemoteRouterLink> old_link;
+  Ref<RemoteRouterLink> new_link;
+  {
+    absl::ReleasableMutexLock lock(&mutex_);
+    if (is_disconnected_ || !outward_edge_.primary_link()) {
+      // We've already been unexpectedly disconnected from the proxy, so the
+      // route is dysfunctional. Don't establish new links.
+      DVLOG(4) << "Discarding proxy bypass link due to peer disconnection";
+      return true;
+    }
+
+    old_link =
+        WrapRefCounted(outward_edge_.primary_link()->AsRemoteRouterLink());
+    if (!old_link) {
+      // It only makes sense to receive this at a router whose outward link is
+      // remote. If we have a non-remote outward link, something is wrong.
+      DVLOG(4) << "Rejecting unexpected bypass link";
+      return false;
+    }
+
+    if (old_link->node_link() != &new_node_link &&
+        !old_link->CanNodeRequestBypass(new_node_link.remote_node_name())) {
+      // The new link must either go to the same node as the old link, or the
+      // the old link must have been expecting a bypass link to the new node.
+      DLOG(ERROR) << "Rejecting unauthorized BypassProxy";
+      return false;
+    }
+
+    length_to_proxy_from_us = outbound_parcels_.current_sequence_number();
+    if (!outward_edge_.BeginPrimaryLinkDecay()) {
+      DLOG(ERROR) << "Rejecting BypassProxy on failure to decay link";
+      return false;
+    }
+
+    // By convention the initiator of a bypass assumes side A of the bypass
+    // link, so we assume side B.
+    new_link = new_node_link.AddRemoteRouterLink(
+        new_sublink, std::move(new_link_state), LinkType::kCentral,
+        LinkSide::kB, WrapRefCounted(this));
+
+    if (new_link) {
+      DVLOG(4) << "Bypassing proxy on other end of " << old_link->Describe()
+               << " using a new " << new_link->Describe()
+               << " with length to proxy " << length_to_proxy_from_us
+               << " and length from proxy "
+               << inbound_sequence_length_from_bypassed_link;
+
+      outward_edge_.set_length_to_decaying_link(length_to_proxy_from_us);
+      outward_edge_.set_length_from_decaying_link(
+          inbound_sequence_length_from_bypassed_link);
+      outward_edge_.SetPrimaryLink(new_link);
+    }
+  }
+
+  if (!new_link) {
+    AcceptRouteDisconnectedFrom(LinkType::kCentral);
+    return true;
+  }
+
+  if (new_link->node_link() == old_link->node_link()) {
+    // If the new link goes to the same place as the old link, we only need
+    // to tell the proxy there to stop proxying. It has already conspired with
+    // its local outward peer.
+    old_link->StopProxyingToLocalPeer(length_to_proxy_from_us);
+  } else {
+    // Otherwise, tell the proxy to stop proxying and let its inward peer (our
+    // new outward peer) know that the proxy will stop.
+    old_link->StopProxying(length_to_proxy_from_us,
+                           inbound_sequence_length_from_bypassed_link);
+    new_link->ProxyWillStop(length_to_proxy_from_us);
+  }
+
+  Flush();
   return true;
 }
 
 bool Router::StopProxying(SequenceNumber inbound_sequence_length,
                           SequenceNumber outbound_sequence_length) {
-  // TODO: Implement this.
+  {
+    absl::MutexLock lock(&mutex_);
+    if (outward_edge_.is_stable() || !inward_edge_ ||
+        inward_edge_->is_stable()) {
+      // Proxies begin decaying their links before requesting to be bypassed,
+      // and they don't adopt new links after that. So if either edge is stable
+      // then someone is doing something wrong.
+      DLOG(ERROR) << "Rejecting StopProxying on invalid or non-proxying Router";
+      return false;
+    }
+
+    inward_edge_->set_length_to_decaying_link(inbound_sequence_length);
+    inward_edge_->set_length_from_decaying_link(outbound_sequence_length);
+    outward_edge_.set_length_to_decaying_link(outbound_sequence_length);
+    outward_edge_.set_length_from_decaying_link(inbound_sequence_length);
+  }
+
+  Flush();
   return true;
 }
 
 bool Router::NotifyProxyWillStop(SequenceNumber inbound_sequence_length) {
-  // TODO: Implement this.
-  return true;
-}
+  {
+    absl::MutexLock lock(&mutex_);
+    if (outward_edge_.is_stable()) {
+      // If the outward edge is already stable, either this request is invalid,
+      // or we've lost all links due to disconnection. In the latter case we
+      // can silently ignore this, but the former case is a validation failure.
+      return is_disconnected_;
+    }
 
-bool Router::BypassPeerWithLink(NodeLink& from_node_link,
-                                SublinkId new_sublink,
-                                FragmentRef<RouterLinkState> new_link_state,
-                                SequenceNumber inbound_sequence_length) {
-  // TODO: Implement this.
+    DVLOG(4) << "Bypassed proxy will stop forwarding inbound parcels after a "
+             << "sequence length of " << inbound_sequence_length;
+
+    outward_edge_.set_length_from_decaying_link(inbound_sequence_length);
+  }
+
+  Flush();
   return true;
 }
 
 bool Router::StopProxyingToLocalPeer(SequenceNumber outbound_sequence_length) {
-  // TODO: Implement this.
+  Ref<Router> local_peer;
+  {
+    absl::MutexLock lock(&mutex_);
+    if (outward_edge_.decaying_link()) {
+      local_peer = outward_edge_.decaying_link()->GetLocalPeer();
+    } else {
+      // Ignore this request if we've been unexpectedly disconnected.
+      return is_disconnected_;
+    }
+  }
+
+  if (!local_peer) {
+    // It's invalid to send call this on a Router with a non-local outward peer.
+    DLOG(ERROR) << "Rejecting StopProxyingToLocalPeer with no local peer";
+    return false;
+  }
+
+  {
+    MultiMutexLock lock(&mutex_, &local_peer->mutex_);
+    const Ref<RouterLink>& our_link = outward_edge_.decaying_link();
+    const Ref<RouterLink>& peer_link =
+        local_peer->outward_edge_.decaying_link();
+    if (!our_link || !peer_link) {
+      // Either Router may have been unexpectedly disconnected, in which case
+      // we can ignore this request.
+      return true;
+    }
+
+    if (!inward_edge_ || our_link->GetLocalPeer() != local_peer ||
+        peer_link->GetLocalPeer() != this) {
+      // Consistency check: this must be a proxying router, and both this router
+      // and its local peer must link to each other.
+      DLOG(ERROR) << "Rejecting StopProxyingToLocalPeer at invalid proxy";
+      return false;
+    }
+
+    DVLOG(4) << "Stopping proxy with decaying "
+             << inward_edge_->decaying_link()->Describe() << " and decaying "
+             << our_link->Describe();
+
+    local_peer->outward_edge_.set_length_from_decaying_link(
+        outbound_sequence_length);
+    outward_edge_.set_length_to_decaying_link(outbound_sequence_length);
+    inward_edge_->set_length_from_decaying_link(outbound_sequence_length);
+  }
+
+  Flush();
+  local_peer->Flush();
   return true;
 }
 
@@ -561,7 +775,7 @@
   }
 }
 
-void Router::Flush() {
+void Router::Flush(FlushBehavior behavior) {
   Ref<RouterLink> outward_link;
   Ref<RouterLink> inward_link;
   Ref<RouterLink> decaying_outward_link;
@@ -570,6 +784,10 @@
   Ref<RouterLink> dead_outward_link;
   absl::optional<SequenceNumber> final_inward_sequence_length;
   absl::optional<SequenceNumber> final_outward_sequence_length;
+  bool on_central_link = false;
+  bool inward_link_decayed = false;
+  bool outward_link_decayed = false;
+  bool dropped_last_decaying_link = false;
   ParcelsToFlush parcels_to_flush;
   {
     absl::MutexLock lock(&mutex_);
@@ -581,6 +799,7 @@
     decaying_outward_link = outward_edge_.decaying_link();
     decaying_inward_link =
         inward_edge_ ? inward_edge_->decaying_link() : nullptr;
+    on_central_link = outward_link && outward_link->GetType().is_central();
 
     // Collect any parcels which are safe to transmit now. Note that we do not
     // transmit anything or generally call into any RouterLinks while `mutex_`
@@ -591,11 +810,53 @@
     // is released further below.
 
     CollectParcelsToFlush(outbound_parcels_, outward_edge_, parcels_to_flush);
-    if (inward_edge_) {
-      CollectParcelsToFlush(inbound_parcels_, *inward_edge_, parcels_to_flush);
+    const SequenceNumber outbound_sequence_length_sent =
+        outbound_parcels_.current_sequence_number();
+    const SequenceNumber inbound_sequence_length_received =
+        inbound_parcels_.GetCurrentSequenceLength();
+    if (outward_edge_.MaybeFinishDecay(outbound_sequence_length_sent,
+                                       inbound_sequence_length_received)) {
+      DVLOG(4) << "Outward " << decaying_outward_link->Describe()
+               << " fully decayed at " << outbound_sequence_length_sent
+               << " sent and " << inbound_sequence_length_received
+               << " recived";
+      outward_link_decayed = true;
     }
 
-    if (outward_link && outbound_parcels_.IsSequenceFullyConsumed()) {
+    if (inward_edge_) {
+      CollectParcelsToFlush(inbound_parcels_, *inward_edge_, parcels_to_flush);
+      const SequenceNumber inbound_sequence_length_sent =
+          inbound_parcels_.current_sequence_number();
+      const SequenceNumber outbound_sequence_length_received =
+          outbound_parcels_.GetCurrentSequenceLength();
+      if (inward_edge_->MaybeFinishDecay(inbound_sequence_length_sent,
+                                         outbound_sequence_length_received)) {
+        DVLOG(4) << "Inward " << decaying_inward_link->Describe()
+                 << " fully decayed at " << inbound_sequence_length_sent
+                 << " sent and " << outbound_sequence_length_received
+                 << " received";
+        inward_link_decayed = true;
+      }
+    }
+
+    // If we're dropping the last of our decaying links, our outward link may
+    // now be stable. This may unblock proxy bypass or other operations.
+    const bool inward_edge_stable =
+        !decaying_inward_link || inward_link_decayed;
+    const bool outward_edge_stable =
+        outward_link && (!decaying_outward_link || outward_link_decayed);
+    const bool both_edges_stable = inward_edge_stable && outward_edge_stable;
+    const bool either_link_decayed =
+        inward_link_decayed || outward_link_decayed;
+    if (on_central_link && either_link_decayed && both_edges_stable) {
+      DVLOG(4) << "Router with fully decayed links may be eligible for bypass "
+               << " with outward " << outward_link->Describe();
+      outward_link->MarkSideStable();
+      dropped_last_decaying_link = true;
+    }
+
+    if (on_central_link && outbound_parcels_.IsSequenceFullyConsumed() &&
+        outward_link->TryLockForClosure()) {
       // Notify the other end of the route that this end is closed. See the
       // AcceptRouteClosure() invocation further below.
       final_outward_sequence_length =
@@ -627,6 +888,14 @@
     parcel.link->AcceptParcel(parcel.parcel);
   }
 
+  if (outward_link_decayed) {
+    decaying_outward_link->Deactivate();
+  }
+
+  if (inward_link_decayed) {
+    decaying_inward_link->Deactivate();
+  }
+
   if (dead_outward_link) {
     if (final_outward_sequence_length) {
       dead_outward_link->AcceptRouteClosure(*final_outward_sequence_length);
@@ -640,6 +909,298 @@
     }
     dead_inward_link->Deactivate();
   }
+
+  if (dead_outward_link || !on_central_link) {
+    // If we're not on a central link, there's no more work to do.
+    return;
+  }
+
+  if (!dropped_last_decaying_link && behavior != kForceProxyBypassAttempt) {
+    // No relevant state changes, so there are no new bypass opportunities.
+    return;
+  }
+
+  if (inward_link && MaybeStartSelfBypass()) {
+    return;
+  }
+
+  if (outward_link) {
+    outward_link->FlushOtherSideIfWaiting();
+  }
+}
+
+bool Router::MaybeStartSelfBypass() {
+  Ref<RemoteRouterLink> remote_inward_link;
+  Ref<RemoteRouterLink> remote_outward_link;
+  Ref<Router> local_outward_peer;
+  {
+    absl::MutexLock lock(&mutex_);
+    if (!inward_edge_ || !inward_edge_->primary_link() ||
+        !inward_edge_->is_stable()) {
+      // Only a proxy with stable links can be bypassed.
+      return false;
+    }
+
+    const Ref<RouterLink>& outward_link = outward_edge_.primary_link();
+    RemoteRouterLink* inward_link =
+        inward_edge_->primary_link()->AsRemoteRouterLink();
+    if (!outward_link || !inward_link) {
+      return false;
+    }
+
+    const NodeName& inward_peer_name =
+        inward_link->node_link()->remote_node_name();
+    if (!outward_link->TryLockForBypass(inward_peer_name)) {
+      DVLOG(4) << "Proxy bypass blocked by busy " << outward_link->Describe();
+      return false;
+    }
+
+    remote_inward_link = WrapRefCounted(inward_link);
+    local_outward_peer = outward_link->GetLocalPeer();
+    if (!local_outward_peer) {
+      remote_outward_link = WrapRefCounted(outward_link->AsRemoteRouterLink());
+    }
+  }
+
+  if (remote_outward_link) {
+    // The simpler case here: our outward peer is on another node, so we begin
+    // decaying our inward and outward links and ask the inward peer to bypass
+    // us ASAP.
+    {
+      absl::MutexLock lock(&mutex_);
+      if (!inward_edge_ || !inward_edge_->primary_link() ||
+          !outward_edge_.primary_link()) {
+        // We've been disconnected since leaving the block above. Nothing to do.
+        return false;
+      }
+
+      outward_edge_.BeginPrimaryLinkDecay();
+      inward_edge_->BeginPrimaryLinkDecay();
+    }
+
+    DVLOG(4) << "Proxy sending bypass request to inward peer over "
+             << remote_inward_link->Describe()
+             << " targeting outward peer on other side of "
+             << remote_outward_link->Describe();
+
+    remote_inward_link->BypassPeer(
+        remote_outward_link->node_link()->remote_node_name(),
+        remote_outward_link->sublink());
+    return true;
+  }
+
+  // When the bypass target is local to the same node as this router, we can
+  // establish the bypass link immediately and send it to the remote inward
+  // peer.
+  return StartSelfBypassToLocalPeer(
+      *local_outward_peer, *remote_inward_link,
+      remote_inward_link->node_link()->memory().TryAllocateRouterLinkState());
+}
+
+bool Router::StartSelfBypassToLocalPeer(
+    Router& local_outward_peer,
+    RemoteRouterLink& inward_link,
+    FragmentRef<RouterLinkState> new_link_state) {
+  if (new_link_state.is_null()) {
+    NodeLinkMemory& memory = inward_link.node_link()->memory();
+    memory.AllocateRouterLinkState(
+        [router = WrapRefCounted(this),
+         local_outward_peer = WrapRefCounted(&local_outward_peer),
+         inward_link = WrapRefCounted(&inward_link)](
+            FragmentRef<RouterLinkState> new_link_state) {
+          router->StartSelfBypassToLocalPeer(*local_outward_peer, *inward_link,
+                                             std::move(new_link_state));
+        });
+    return true;
+  }
+
+  Ref<RemoteRouterLink> new_link;
+  SequenceNumber length_from_outward_peer;
+  const SublinkId new_sublink =
+      inward_link.node_link()->memory().AllocateSublinkIds(1);
+  {
+    MultiMutexLock lock(&mutex_, &local_outward_peer.mutex_);
+
+    const Ref<RouterLink>& outward_link = outward_edge_.primary_link();
+    const Ref<RouterLink>& peer_outward_link =
+        local_outward_peer.outward_edge_.primary_link();
+    if (!outward_link || !peer_outward_link || is_disconnected_ ||
+        local_outward_peer.is_disconnected_) {
+      DVLOG(4) << "Proxy bypass blocked due to peer closure or disconnection";
+      return false;
+    }
+
+    DVLOG(4) << "Proxy requesting own bypass from inward peer on "
+             << inward_link.node_link()->remote_node_name().ToString()
+             << " to local outward peer";
+
+    ABSL_ASSERT(outward_link->GetLocalPeer() == &local_outward_peer);
+    ABSL_ASSERT(peer_outward_link->GetLocalPeer() == this);
+
+    // Decay both of our existing links, as well as the local peer's link to us.
+    length_from_outward_peer =
+        local_outward_peer.outbound_parcels_.current_sequence_number();
+    local_outward_peer.outward_edge_.BeginPrimaryLinkDecay();
+    local_outward_peer.outward_edge_.set_length_to_decaying_link(
+        length_from_outward_peer);
+    outward_edge_.BeginPrimaryLinkDecay();
+    outward_edge_.set_length_from_decaying_link(length_from_outward_peer);
+    inward_edge_->BeginPrimaryLinkDecay();
+    inward_edge_->set_length_to_decaying_link(length_from_outward_peer);
+
+    new_link = inward_link.node_link()->AddRemoteRouterLink(
+        new_sublink, new_link_state, LinkType::kCentral, LinkSide::kA,
+        WrapRefCounted(&local_outward_peer));
+  }
+
+  if (!new_link) {
+    AcceptRouteDisconnectedFrom(LinkType::kCentral);
+    return false;
+  }
+
+  // Inform our inward peer on another node that they can bypass us using the
+  // new link we just created to our own outward local peer. Once that message
+  // is sent, it's safe for that local peer to adopt the new link.
+  inward_link.BypassPeerWithLink(new_sublink, std::move(new_link_state),
+                                 length_from_outward_peer);
+  local_outward_peer.SetOutwardLink(std::move(new_link));
+  return true;
+}
+
+bool Router::BypassPeerWithNewRemoteLink(
+    RemoteRouterLink& requestor,
+    NodeLink& node_link,
+    SublinkId bypass_target_sublink,
+    FragmentRef<RouterLinkState> new_link_state) {
+  if (new_link_state.is_null()) {
+    // We can't proceed with bypass until we have a fragment allocated for a new
+    // RouterLinkState.
+    node_link.memory().AllocateRouterLinkState(
+        [router = WrapRefCounted(this), requestor = WrapRefCounted(&requestor),
+         node_link = WrapRefCounted(&node_link),
+         bypass_target_sublink](FragmentRef<RouterLinkState> new_link_state) {
+          router->BypassPeerWithNewRemoteLink(*requestor, *node_link,
+                                              bypass_target_sublink,
+                                              std::move(new_link_state));
+        });
+    return true;
+  }
+
+  // Begin decaying our outward link.
+  SequenceNumber length_to_decaying_link;
+  Ref<RouterLink> new_link;
+  const SublinkId new_sublink = node_link.memory().AllocateSublinkIds(1);
+  {
+    absl::ReleasableMutexLock lock(&mutex_);
+    if (!outward_edge_.primary_link() || is_disconnected_) {
+      // We've been disconnected since leaving the above block. Don't bother
+      // to request a bypass. This is not the requestor's fault, so it's not
+      // treated as an error.
+      return true;
+    }
+
+    if (!outward_edge_.BeginPrimaryLinkDecay()) {
+      DLOG(ERROR) << "Rejecting BypassPeer on failure to decay link";
+      return false;
+    }
+
+    length_to_decaying_link = outbound_parcels_.current_sequence_number();
+    outward_edge_.set_length_to_decaying_link(length_to_decaying_link);
+    new_link = node_link.AddRemoteRouterLink(new_sublink, new_link_state,
+                                             LinkType::kCentral, LinkSide::kA,
+                                             WrapRefCounted(this));
+  }
+
+  if (!new_link) {
+    // The NodeLink was disconnected before we could create a new link for
+    // this Router. This is not the requestor's fault, so it's not treated as
+    // an error.
+    AcceptRouteDisconnectedFrom(LinkType::kCentral);
+    return true;
+  }
+
+  const NodeName proxy_node_name = requestor.node_link()->remote_node_name();
+  DVLOG(4) << "Sending AcceptBypassLink from "
+           << node_link.local_node_name().ToString() << " to "
+           << node_link.remote_node_name().ToString() << " with new sublink "
+           << new_sublink << " to replace a link to proxy "
+           << proxy_node_name.ToString() << " via sublink "
+           << bypass_target_sublink;
+
+  node_link.AcceptBypassLink(proxy_node_name, bypass_target_sublink,
+                             length_to_decaying_link, new_sublink,
+                             std::move(new_link_state));
+
+  // NOTE: This link is intentionally set *after* transmitting the
+  // above message. Otherwise the router might race on another thread to send
+  // messages via `new_sublink`, and the remote node would have no idea where
+  // to route them.
+  SetOutwardLink(std::move(new_link));
+  return true;
+}
+
+bool Router::BypassPeerWithNewLocalLink(RemoteRouterLink& requestor,
+                                        SublinkId bypass_target_sublink) {
+  NodeLink& from_node_link = *requestor.node_link();
+  const Ref<Router> new_local_peer =
+      from_node_link.GetRouter(bypass_target_sublink);
+  if (!new_local_peer) {
+    // The peer may have already been destroyed or disconnected from the proxy
+    // by the time we get here.
+    AcceptRouteDisconnectedFrom(LinkType::kPeripheralOutward);
+    return true;
+  }
+
+  Ref<RouterLink> link_from_new_local_peer_to_proxy;
+  SequenceNumber length_to_proxy_from_us;
+  SequenceNumber length_from_proxy_to_us;
+  {
+    MultiMutexLock lock(&mutex_, &new_local_peer->mutex_);
+    length_from_proxy_to_us =
+        new_local_peer->outbound_parcels_.current_sequence_number();
+    length_to_proxy_from_us = outbound_parcels_.current_sequence_number();
+
+    DVLOG(4) << "Proxy bypass requested with new local peer on "
+             << from_node_link.local_node_name().ToString() << " and proxy on "
+             << from_node_link.remote_node_name().ToString() << " via sublinks "
+             << bypass_target_sublink << " and " << requestor.sublink()
+             << "; length to the proxy is " << length_to_proxy_from_us
+             << " and length from the proxy " << length_from_proxy_to_us;
+
+    link_from_new_local_peer_to_proxy =
+        new_local_peer->outward_edge_.primary_link();
+    if (!outward_edge_.primary_link() || !link_from_new_local_peer_to_proxy ||
+        is_disconnected_ || new_local_peer->is_disconnected_) {
+      return true;
+    }
+
+    // Otherwise immediately begin decay of both links to the proxy.
+    if (!outward_edge_.BeginPrimaryLinkDecay() ||
+        !new_local_peer->outward_edge_.BeginPrimaryLinkDecay()) {
+      DLOG(ERROR) << "Rejecting RequestProxyBypass on failure to decay link";
+      return false;
+    }
+    outward_edge_.set_length_to_decaying_link(length_to_proxy_from_us);
+    outward_edge_.set_length_from_decaying_link(length_from_proxy_to_us);
+    new_local_peer->outward_edge_.set_length_to_decaying_link(
+        length_from_proxy_to_us);
+    new_local_peer->outward_edge_.set_length_from_decaying_link(
+        length_to_proxy_from_us);
+
+    // Finally, link the two routers with a new LocalRouterLink. This link will
+    // remain unstable until the decaying proxy links are gone.
+    RouterLink::Pair links = LocalRouterLink::CreatePair(
+        LinkType::kCentral, Router::Pair(WrapRefCounted(this), new_local_peer));
+    outward_edge_.SetPrimaryLink(std::move(links.first));
+    new_local_peer->outward_edge_.SetPrimaryLink(std::move(links.second));
+  }
+
+  link_from_new_local_peer_to_proxy->StopProxying(length_from_proxy_to_us,
+                                                  length_to_proxy_from_us);
+
+  Flush();
+  new_local_peer->Flush();
+  return true;
 }
 
 }  // namespace ipcz
diff --git a/third_party/ipcz/src/ipcz/router.h b/third_party/ipcz/src/ipcz/router.h
index 847622a3..5ffd3615 100644
--- a/third_party/ipcz/src/ipcz/router.h
+++ b/third_party/ipcz/src/ipcz/router.h
@@ -32,12 +32,15 @@
 //
 // Before a Router can participate in any actual routing, it must have an
 // outward link to another Router (see SetOutwardLink()). To establish a locally
-// connected pair of Routers, pass both to LocalRouterLink::ConnectRouters(),
-// which internally calls SetOutwardLink() on both:
+// connected pair of Routers, pass both to LocalRouterLink::Create() and pass
+// each returned link to the coresponding router:
 //
 //     Router::Pair routers = {MakeRefCounted<Router>(),
 //                             MakeRefCounted<Router>()};
-//     LocalRouterLink::ConnectRouters(LinkType::kCentral, routers);
+//     RouterLink::Pair links =
+//         LocalRouterLink::CreatePair(LinkType::kCentral, routers);
+//     routers.first->SetOutwardLink(std::move(links.first));
+//     routers.second->SetOutwardLink(std::move(links.second));
 //
 // Each ipcz Portal directly controls a terminal Router along its route, and
 // all routes stabilize to eventually consist of only two interconnected
@@ -59,11 +62,18 @@
   // retrieved.
   bool IsRouteDead();
 
+  // Indicates whether this Router is currently on a central link which is
+  // connected to a router on another node. Used by tests to verify route
+  // reduction behavior, and may only be called on terminal Routers, i.e.
+  // Routers controlled directly by a Portal.
+  bool IsOnCentralRemoteLink();
+
   // Fills in an IpczPortalStatus corresponding to the current state of this
   // Router.
   void QueryStatus(IpczPortalStatus& status);
 
-  // Returns true iff this is a LocalRouterLink whose peer router is `router`.
+  // Returns true iff this Router's outward link is a LocalRouterLink between
+  // `this` and `router`.
   bool HasLocalPeer(Router& router);
 
   // Attempts to send an outbound parcel originating from this Router. Called
@@ -162,19 +172,36 @@
   // bypass is completed immediately by establishing a new LocalRotuerLink
   // between the two routers. In this case a StopProxying message is sent back
   // to the requestor in order to finalize the bypass.
+  //
+  // Returns true if the BypassPeer() request was valid, or false if it was
+  // invalid. Note that a return value of true does not necessarily imply that
+  // bypass was or will be successful (e.g. it may silently fail due to lost
+  // node connections).
   bool BypassPeer(RemoteRouterLink& requestor,
                   const NodeName& bypass_target_node,
                   SublinkId bypass_target_sublink);
 
   // Begins decaying this router's outward link and replaces it with a new link
-  // over `new_node_link` via `new_sublink`, and using (optional)
-  // `new_link_state` for its shared state.
+  // over `new_node_link` via `new_sublink`, and using `new_link_state` for its
+  // shared state.
   //
   // `inbound_sequence_length_from_bypassed_link` conveys the final length of
   // sequence of inbound parcels to expect over the decaying link from the peer.
   // See comments on the BypassPeer definition in node_messages_generator.h.
+  //
+  // Returns true if the request was valid, or false if it was invalid. An
+  // invalid request implies that a remote node tried to do something bad and
+  // should be disconnected ASAP. Note that a return value of true does not
+  // necessarily imply that the bypass link was accepted, as it may be
+  // silently discarded if other links have been disconnected already.
+  //
+  // If `new_node_link` links to a remote node which differs from that of this
+  // router's current outward link, the current outward link must have already
+  // been configured to accept replacement by the new remote node via its
+  // RouterLinkState's `allowed_bypass_request_source` field. This method
+  // authenticates the request accordingly.
   bool AcceptBypassLink(
-      Ref<NodeLink> new_node_link,
+      NodeLink& new_node_link,
       SublinkId new_sublink,
       FragmentRef<RouterLinkState> new_link_state,
       SequenceNumber inbound_sequence_length_from_bypassed_link);
@@ -183,6 +210,9 @@
   // decaying links. Once these lengths are set and sequences have progressed
   // to the specified length in each direction, those decaying links -- and
   // eventually the router itself -- are dropped.
+  //
+  // Returns true if and only if this router is a proxy with decaying inward and
+  // outward links. Otherwise returns false, indicating an invalid request.
   bool StopProxying(SequenceNumber inbound_sequence_length,
                     SequenceNumber outbound_sequence_length);
 
@@ -190,23 +220,18 @@
   // this router's decaying outward link. Once this length is set and the
   // decaying link has forwarded the full sequence of parcels up to this limit,
   // the decaying link can be dropped.
-  bool NotifyProxyWillStop(SequenceNumber inbound_sequence_length);
-
-  // Begins decaying this router's outward link and replaces it with a new link
-  // using `new_sublink` over `from_node_link`, the node issuing this request.
-  // `new_link_state` if non-null specifies the shared memory location of the
-  // RouterLinkState for this link.
   //
-  // `inbound_sequence_length` conveys the final length of the sequence of
-  // inbound parcels to expect over the decaying link.
-  bool BypassPeerWithLink(NodeLink& from_node_link,
-                          SublinkId new_sublink,
-                          FragmentRef<RouterLinkState> new_link_state,
-                          SequenceNumber inbound_sequence_length);
+  // Returns true if this router has a decaying outward link -- implying that
+  // its outward peer is a proxy -- or the router has been disconnected.
+  // Otherwise the request is invalid and this returns false.
+  bool NotifyProxyWillStop(SequenceNumber inbound_sequence_length);
 
   // Configures the final sequence length of outbound parcels to expect on this
   // proxying Router's decaying inward link. Once this is set and the decaying
   // link has received the full sequence of parcels, the link can be dropped.
+  //
+  // Returns true if the request is valid, meaning that this Router is a proxy
+  // whose outward peer is local to the same node. Otherwise this returns false.
   bool StopProxyingToLocalPeer(SequenceNumber outbound_sequence_length);
 
   // Notifies this Router that one of its links has been disconnected from a
@@ -234,7 +259,17 @@
   //
   // A safe way to ensure that is for RouterLink implementations to only call
   // into Router using a reference held on the calling stack.
-  void Flush();
+  //
+  // The specified FlushBehavior determines whether the Flush() operation will
+  // unconditionally attempt to initiate bypass of this Router or its outward
+  // peer after performing all other flushing operations. By default, bypass
+  // progress is only attempted if the flush iteslf resulted in an unstable
+  // central link becoming potentially stable. But various operations which
+  // invoke Flush() may also elicit state changes that can unblock a bypass
+  // operation. These operatoins may specify kForceProxyBypassAttempt in such
+  // cases.
+  enum FlushBehavior { kDefault, kForceProxyBypassAttempt };
+  void Flush(FlushBehavior behavior = kDefault);
 
  private:
   ~Router() override;
@@ -248,6 +283,38 @@
   // unblock our bypass.
   bool MaybeStartSelfBypass();
 
+  // Starts bypass of this Router when its outward peer lives on the same node.
+  // This must only be called once the central link is already locked. If
+  // `new_link_state` is non-null, it will be used for the RouterLinkState of
+  // the new RemoteRouterLink between this Routers inward and outward peers.
+  // Otherwise one will be allocated asynchronously before proceeding.
+  //
+  // Returns true if and only if self-bypass has been initiated by reaching out
+  // to this router's inward peer with with a BypassPeer() or
+  // BypassPeerWithLink() request. Otherwise returns false.
+  bool StartSelfBypassToLocalPeer(Router& local_outward_peer,
+                                  RemoteRouterLink& inward_link,
+                                  FragmentRef<RouterLinkState> new_link_state);
+
+  // Attempts to bypass the link identified by `requestor` in favor of a new
+  // link that runs over `node_link`. If `new_link_state` is non-null, it will
+  // be used for the RouterLinkState of the new RemoteRouterLink; otherwise one
+  // will be allocated asynchronously before proceeding.
+  //
+  // Returns true if and only if this request was valid.
+  bool BypassPeerWithNewRemoteLink(RemoteRouterLink& requestor,
+                                   NodeLink& node_link,
+                                   SublinkId bypass_target_sublink,
+                                   FragmentRef<RouterLinkState> new_link_state);
+
+  // Attempts to bypass the link identified by `requestor` in favor of a new
+  // LocalRouterLink to a Router bound to `bypass_target_sublink` on the same
+  // NodeLink as `requestor`.
+  //
+  // Returns true if and only if this request was valid.
+  bool BypassPeerWithNewLocalLink(RemoteRouterLink& requestor,
+                                  SublinkId bypass_target_sublink);
+
   absl::Mutex mutex_;
 
   // The current computed portal status to be reflected by a portal controlling
diff --git a/third_party/ipcz/src/ipcz/router_link.h b/third_party/ipcz/src/ipcz/router_link.h
index 59e13ee..b6fa1538 100644
--- a/third_party/ipcz/src/ipcz/router_link.h
+++ b/third_party/ipcz/src/ipcz/router_link.h
@@ -39,9 +39,13 @@
   // returns null.
   virtual RouterLinkState* GetLinkState() const = 0;
 
-  // Returns true if this is a LocalRouterLink and the Router on the other side
-  // of the link is `router`.
-  virtual bool HasLocalPeer(const Router& router) = 0;
+  // Returns the Router on the other end of this link, if this is a
+  // LocalRouterLink. Otherwise returns null.
+  virtual Ref<Router> GetLocalPeer() = 0;
+
+  // If this is a RemoteRouterLink, returns a downcast reference to it.
+  // Otherwise returns null.
+  virtual RemoteRouterLink* AsRemoteRouterLink() = 0;
 
   // Passes a parcel to the Router on the other side of this link to be queued
   // and/or router further.
diff --git a/third_party/ipcz/src/ipcz/router_link_test.cc b/third_party/ipcz/src/ipcz/router_link_test.cc
index 77336c9945c..d4ee861 100644
--- a/third_party/ipcz/src/ipcz/router_link_test.cc
+++ b/third_party/ipcz/src/ipcz/router_link_test.cc
@@ -128,7 +128,9 @@
     switch (GetParam()) {
       case RouterLinkTestMode::kLocal:
         std::tie(a_link_, b_link_) =
-            LocalRouterLink::ConnectRouters(LinkType::kCentral, {a_, b_});
+            LocalRouterLink::CreatePair(LinkType::kCentral, {a_, b_});
+        a_->SetOutwardLink(a_link_);
+        b_->SetOutwardLink(b_link_);
         break;
 
       case RouterLinkTestMode::kRemote: {
@@ -169,7 +171,7 @@
 };
 
 TEST_P(RouterLinkTest, Locking) {
-  EXPECT_EQ(RouterLinkState::kUnstable, link_status());
+  link_state().status = RouterLinkState::kUnstable;
 
   // No locking can take place until both sides are marked stable.
   EXPECT_FALSE(a_link().TryLockForBypass(kTestPeer1Name));
@@ -217,6 +219,8 @@
 }
 
 TEST_P(RouterLinkTest, FlushOtherSideIfWaiting) {
+  link_state().status = RouterLinkState::kUnstable;
+
   // FlushOtherSideIfWaiting() does nothing if the other side is not, in fact,
   // waiting for something.
   EXPECT_FALSE(a_link().FlushOtherSideIfWaiting());
diff --git a/third_party/ipcz/src/remote_portal_test.cc b/third_party/ipcz/src/remote_portal_test.cc
index 2d41f4f..1611b9e 100644
--- a/third_party/ipcz/src/remote_portal_test.cc
+++ b/third_party/ipcz/src/remote_portal_test.cc
@@ -49,6 +49,7 @@
   EXPECT_NE(IPCZ_INVALID_HANDLE, p);
 
   VerifyEndToEnd(p);
+  WaitForDirectRemoteLink(p);
   CloseAll({p, b});
 }
 
@@ -59,6 +60,7 @@
   EXPECT_EQ(IPCZ_RESULT_OK, Put(c, kTestMessage1, {&p, 1}));
 
   VerifyEndToEnd(q);
+  WaitForDirectRemoteLink(q);
   CloseAll({q, c});
 }
 
@@ -80,6 +82,7 @@
     EXPECT_EQ(kTestMessage1, message);
   }
 
+  WaitForDirectRemoteLink(q);
   PingPong(b);
   CloseAll({q, b});
 }
@@ -100,6 +103,7 @@
     EXPECT_EQ(kTestMessage2, message);
   }
 
+  WaitForDirectRemoteLink(p);
   PingPong(b);
   CloseAll({p, b});
 }
@@ -117,7 +121,7 @@
   CloseAll({c1, c2});
 }
 
-constexpr size_t kTransferBackAndForthNumIterations = 1;
+constexpr size_t kTransferBackAndForthNumIterations = 100;
 
 MULTINODE_TEST_NODE(RemotePortalTestNode, TransferBackAndForthClient) {
   IpczHandle b = ConnectToBroker();
@@ -149,6 +153,7 @@
   }
 
   VerifyEndToEndLocal(q, p);
+  WaitForDirectLocalLink(q, p);
   CloseAll({q, p, c});
 }
 
diff --git a/third_party/ipcz/src/test/test_base.cc b/third_party/ipcz/src/test/test_base.cc
index f10e0ff..de9e098 100644
--- a/third_party/ipcz/src/test/test_base.cc
+++ b/third_party/ipcz/src/test/test_base.cc
@@ -4,10 +4,16 @@
 
 #include "test/test_base.h"
 
+#include <chrono>
+#include <thread>
+
 #include "api.h"
 #include "ipcz/ipcz.h"
+#include "ipcz/portal.h"
+#include "ipcz/router.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/abseil-cpp/absl/synchronization/notification.h"
+#include "util/ref_counted.h"
 
 namespace ipcz::test::internal {
 
@@ -187,6 +193,31 @@
   EXPECT_EQ(kMessage1, message);
 }
 
+void TestBase::WaitForDirectRemoteLink(IpczHandle portal) {
+  const Ref<Router> router = Portal::FromHandle(portal)->router();
+  while (!router->IsOnCentralRemoteLink()) {
+    using namespace std::chrono_literals;
+    std::this_thread::sleep_for(8ms);
+  }
+
+  const std::string kMessage = "very direct wow";
+  EXPECT_EQ(IPCZ_RESULT_OK, Put(portal, kMessage));
+
+  std::string message;
+  EXPECT_EQ(IPCZ_RESULT_OK, WaitToGet(portal, &message));
+  EXPECT_EQ(kMessage, message);
+}
+
+void TestBase::WaitForDirectLocalLink(IpczHandle a, IpczHandle b) {
+  const Ref<Router> router_a = Portal::FromHandle(a)->router();
+  const Ref<Router> router_b = Portal::FromHandle(b)->router();
+  while (!router_a->HasLocalPeer(*router_b) &&
+         !router_b->HasLocalPeer(*router_a)) {
+    using namespace std::chrono_literals;
+    std::this_thread::sleep_for(8ms);
+  }
+}
+
 void TestBase::HandleEvent(const IpczTrapEvent* event) {
   auto handler =
       absl::WrapUnique(reinterpret_cast<TrapEventHandler*>(event->context));
diff --git a/third_party/ipcz/src/test/test_base.h b/third_party/ipcz/src/test/test_base.h
index f9e4a08..cdcad57b 100644
--- a/third_party/ipcz/src/test/test_base.h
+++ b/third_party/ipcz/src/test/test_base.h
@@ -101,6 +101,16 @@
   // both `a` and `b`, and then this waits to read the same message from both.
   void VerifyEndToEndLocal(IpczHandle a, IpczHandle b);
 
+  // Waits until `portal` is backed by a Router which is connected directly to
+  // its peer portal's Router on another node, with no proxies in between. Must
+  // be called on each portal of the portal pair in order to properly verify a
+  // direct route end-to-end.
+  void WaitForDirectRemoteLink(IpczHandle portal);
+
+  // Waits for portals `a` and `b` to become direct local peers, after any
+  // potential proxies in between are eliminated.
+  void WaitForDirectLocalLink(IpczHandle a, IpczHandle b);
+
  private:
   static void HandleEvent(const IpczTrapEvent* event);
 
diff --git a/tools/checkteamtags/PRESUBMIT.py b/tools/checkteamtags/PRESUBMIT.py
index 912521fa..857d3101 100644
--- a/tools/checkteamtags/PRESUBMIT.py
+++ b/tools/checkteamtags/PRESUBMIT.py
@@ -35,7 +35,7 @@
                                              'checkteamtags')
   test_runner = input_api.os_path.join(checkteamtags_dir, 'run_tests')
   return_code = input_api.subprocess.call(
-      [input_api.python_executable, test_runner])
+      [input_api.python3_executable, test_runner])
   if return_code:
     message = 'Checkteamtags unit tests did not all pass.'
     return [output_api.PresubmitError(message)]
diff --git a/tools/checkteamtags/checkteamtags.py b/tools/checkteamtags/checkteamtags.py
index f53c5af5..17aa5ad 100755
--- a/tools/checkteamtags/checkteamtags.py
+++ b/tools/checkteamtags/checkteamtags.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # Copyright (c) 2017 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
@@ -14,7 +14,7 @@
 import posixpath
 import re
 import sys
-import urllib2
+import urllib.request
 
 from collections import defaultdict
 
@@ -89,7 +89,7 @@
   Returns:
     A string containing the details of any multi-team per component.
   """
-  mappings_file = json.load(urllib2.urlopen(options.current_mapping_url))
+  mappings_file = json.load(urllib.request.urlopen(options.current_mapping_url))
   new_dir_to_component = mappings_file.get('dir-to-component', {})
   new_dir_to_team = mappings_file.get('dir-to-team', {})
 
@@ -233,8 +233,10 @@
   levels = [logging.ERROR, logging.INFO, logging.DEBUG]
   logging.basicConfig(level=levels[min(len(levels) - 1, options.verbose)])
 
-  errors = filter(None, [check_owners(*rel_and_full_paths(options.root, f))
-                         for f in args])
+  errors = list(
+      filter(None,
+             [check_owners(*rel_and_full_paths(options.root, f))
+              for f in args]))
 
   warnings = None
   if not errors:
diff --git a/tools/checkteamtags/checkteamtags_test.py b/tools/checkteamtags/checkteamtags_test.py
index 2692f83..efc9e0c 100644
--- a/tools/checkteamtags/checkteamtags_test.py
+++ b/tools/checkteamtags/checkteamtags_test.py
@@ -134,112 +134,113 @@
 @mock.patch('sys.stdout', mock.MagicMock())
 @mock.patch('os.path.exists', mock.MagicMock())
 class CheckTeamTagsTest(unittest.TestCase):
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testNoTags(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(NO_TAGS)
       self.assertEqual(0, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testMultipleComponentTags(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(MULTIPLE_COMPONENT_TAGS)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testMultipleComponentsInTag(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(MULTIPLE_COMPONENTS_IN_TAG)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testMissingComponent(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(MISSING_COMPONENT)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testInvalidComponentPrefix1(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(INVALID_COMPONENT_PREFIX1)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testInvalidComponentPrefix2(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(INVALID_COMPONENT_PREFIX2)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testInvalidComponentPrefix3(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(INVALID_COMPONENT_PREFIX3)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testMultipleTeamTags(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(MULTIPLE_TEAM_TAGS)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testMultipleTeamsInTag(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(MULTIPLE_TEAMS_IN_TAG)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testMissingTeam(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(MISSING_TEAM)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testInvalidTeamPrefix1(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(INVALID_TEAM_PREFIX1)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testInvalidTeamPrefix2(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(INVALID_TEAM_PREFIX2)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testInvalidTeamPrefix3(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(INVALID_TEAM_PREFIX3)
       self.assertEqual(1, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open())
+  @mock.patch('urllib.request.urlopen', mock_url_open())
   @mock.patch('sys.argv', ['checkteamtags', '--bare' ,'OWNERS'])
   def testBasic(self):
     with mock.patch(open_name, create=True) as mock_open:
       mock_open.return_value = mock_file(BASIC)
       self.assertEqual(0, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open({
-      'dir-to-component': {
-          'some/dir':      'V8>mock_component',
-      },
-      'component-to-team': {
-          'V8>mock_component': 'some-other-team@chromium.org',
-      },
-  }))
+  @mock.patch('urllib.request.urlopen',
+              mock_url_open({
+                  'dir-to-component': {
+                      'some/dir': 'V8>mock_component',
+                  },
+                  'component-to-team': {
+                      'V8>mock_component': 'some-other-team@chromium.org',
+                  },
+              }))
   @mock.patch('sys.argv', ['checkteamtags', 'fakepath/OWNERS'])
   def testMultipleTeams(self):
     with mock.patch(open_name, create=True) as mock_open:
@@ -248,14 +249,15 @@
         mock_open_2.return_value = mock_file(BASIC)
         self.assertEqual(0, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open({
-      'dir-to-component': {
-          'some/dir':      'V8>mock_component',
-      },
-      'component-to-team': {
-          'V8>mock_component': 'some-other-team@chromium.org',
-      },
-  }))
+  @mock.patch('urllib.request.urlopen',
+              mock_url_open({
+                  'dir-to-component': {
+                      'some/dir': 'V8>mock_component',
+                  },
+                  'component-to-team': {
+                      'V8>mock_component': 'some-other-team@chromium.org',
+                  },
+              }))
   @mock.patch('sys.argv', ['checkteamtags', '--bare', 'some/dir/OWNERS'])
   def testMappingPassRename(self):
     with mock.patch(open_name, create=True) as mock_open:
@@ -264,14 +266,15 @@
         mock_open_2.return_value = mock_file(BASIC)
         self.assertEqual(0, checkteamtags.main())
 
-  @mock.patch('urllib2.urlopen', mock_url_open({
-      'dir-to-component': {
-          'some/dir/':      'V8>mock_component',
-      },
-      'component-to-team': {
-          'V8>mock_component': 'some-team@chromium.org',
-      },
-  }))
+  @mock.patch('urllib.request.urlopen',
+              mock_url_open({
+                  'dir-to-component': {
+                      'some/dir/': 'V8>mock_component',
+                  },
+                  'component-to-team': {
+                      'V8>mock_component': 'some-team@chromium.org',
+                  },
+              }))
   @mock.patch('sys.argv', ['checkteamtags', '--bare', 'other/dir/OWNERS'])
   def testMappingPassNew(self):
     with mock.patch(open_name, create=True) as mock_open:
diff --git a/tools/checkteamtags/extract_components.py b/tools/checkteamtags/extract_components.py
index 73f4586..007a3a3 100755
--- a/tools/checkteamtags/extract_components.py
+++ b/tools/checkteamtags/extract_components.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # Copyright (c) 2017 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
@@ -92,7 +92,7 @@
   print("\nUnder directory %s " % root)
   # number of depth to display, default is max depth under root
   num_output_depth = len(stats['OWNERS-count-by-depth'])
-  if (options.stat_coverage > 0
+  if (options.stat_coverage and options.stat_coverage > 0
       and options.stat_coverage < num_output_depth):
     num_output_depth = options.stat_coverage
 
diff --git a/tools/checkteamtags/extract_components_test.py b/tools/checkteamtags/extract_components_test.py
index b046a1b6..aa59491 100644
--- a/tools/checkteamtags/extract_components_test.py
+++ b/tools/checkteamtags/extract_components_test.py
@@ -8,7 +8,7 @@
 import sys
 import unittest
 
-from StringIO import StringIO
+from io import StringIO
 
 import extract_components
 
diff --git a/tools/code_coverage/create_js_source_maps/create_js_source_maps.gni b/tools/code_coverage/create_js_source_maps/create_js_source_maps.gni
index 9d3f28e5..4ecd411 100644
--- a/tools/code_coverage/create_js_source_maps/create_js_source_maps.gni
+++ b/tools/code_coverage/create_js_source_maps/create_js_source_maps.gni
@@ -12,25 +12,22 @@
 template("create_js_source_maps") {
   assert(enable_webui_inline_sourcemaps)
 
-  action_foreach(target_name) {
+  action(target_name) {
+    forward_variables_from(invoker,
+                           [
+                             "sources",
+                             "outputs",
+                             "deps",
+                           ])
     script =
         "//tools/code_coverage/create_js_source_maps/create_js_source_maps.py"
-    args = []
+    args = [ "--sources" ] + rebase_path(invoker.sources, root_out_dir) +
+           [ "--outputs" ] + rebase_path(invoker.outputs, root_out_dir)
     inputs = [
       "//tools/code_coverage/create_js_source_maps/create_js_source_maps.js",
     ]
-    sources = []
-    deps = invoker.deps
-    foreach(dependency, deps) {
-      foreach(preprocess_output, get_target_outputs(dependency)) {
-        if (get_path_info(preprocess_output, "extension") == "ts" ||
-            get_path_info(preprocess_output, "extension") == "js") {
-          sources += [ preprocess_output ]
-        }
-      }
+    if (defined(invoker.inline_sourcemaps) && invoker.inline_sourcemaps) {
+      args += [ "--inline-sourcemaps" ]
     }
-    rebased = rebase_path("{{source}}.map", root_out_dir, "/")
-    outputs = [ "$root_out_dir/$rebased" ]
-    args = [ "{{source}}" ]
   }
 }
diff --git a/tools/code_coverage/create_js_source_maps/create_js_source_maps.js b/tools/code_coverage/create_js_source_maps/create_js_source_maps.js
index 9e4c9f3..3136b1e91 100644
--- a/tools/code_coverage/create_js_source_maps/create_js_source_maps.js
+++ b/tools/code_coverage/create_js_source_maps/create_js_source_maps.js
@@ -54,13 +54,19 @@
 
 /**
  * Processes one processed TypeScript or JavaScript file and produces one
- * source map file.
+ * source map file / appends a source map.
  *
  * @param {string} inputFileName The TypeScript or JavaScript file to read from.
+ * @param {string} outputFileName If `inlineSourcemaps`, the output TypeScript
+ *                                or JavaScript file with the append source map.
+ *                                Otherwise, the standalone map file.
  * @param {boolean} verbose If true, print detailed information about the
  *                          mappings as they are added.
+ * @param {boolean} inlineSourcemaps If true, append source map instead of
+ *                                   creating standalone map file.
  */
-function processOneFile(inputFileName, verbose) {
+function processOneFile(
+    inputFileName, outputFileName, verbose, inlineSourcemaps) {
   const inputFile = fs.readFileSync(inputFileName, 'utf8');
   const inputLines = inputFile.split('\n');
   const inputFileBaseName = path.basename(inputFileName);
@@ -87,7 +93,15 @@
     }
   }
 
-  fs.writeFileSync(inputFileName + '.map', map.toString());
+  if (!inlineSourcemaps) {
+    fs.writeFileSync(outputFileName, map.toString());
+  } else {
+    const mapBase64 = Buffer.from(map.toString()).toString('base64');
+    const output =
+        `${inputFile}\n//# sourceMappingURL=data:application/json;base64,${
+            mapBase64}`;
+    fs.writeFileSync(outputFileName, output);
+  }
 }
 
 function main() {
@@ -99,11 +113,16 @@
   parser.addArgument(
       ['-v', '--verbose'],
       {help: 'Print each mapping & removed-line comment', action: 'storeTrue'});
+  parser.addArgument(['--inline-sourcemaps'], {
+    help: 'Copies contents of input to output and appends inline source maps',
+    action: 'storeTrue',
+  });
   parser.addArgument('input', {help: 'Input file name', action: 'store'});
+  parser.addArgument('output', {help: 'Output file name', action: 'store'});
 
   const argv = parser.parseArgs();
 
-  processOneFile(argv.input, argv.verbose);
+  processOneFile(argv.input, argv.output, argv.verbose, argv.inline_sourcemaps);
 }
 
 main();
diff --git a/tools/code_coverage/create_js_source_maps/create_js_source_maps.py b/tools/code_coverage/create_js_source_maps/create_js_source_maps.py
index 8f861453..c33b9d3 100755
--- a/tools/code_coverage/create_js_source_maps/create_js_source_maps.py
+++ b/tools/code_coverage/create_js_source_maps/create_js_source_maps.py
@@ -3,6 +3,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import argparse
 import sys
 from pathlib import Path
 
@@ -13,8 +14,24 @@
 sys.path.append(str(_NODE_PATH))
 import node
 
-# Invokes "node create_js_source_maps.js (args)""
-# We can't use third_party/node/node.py directly from the gni template because
-# we don't have a good way to specify the path to create_js_source_maps.js in a
-# gni template.
-node.RunNode([str(_SOURCE_MAP_CREATOR)] + sys.argv[1:])
+
+def main(argv):
+  parser = argparse.ArgumentParser()
+  parser.add_argument('--sources', required=True, nargs="*")
+  parser.add_argument('--outputs', required=True, nargs="*")
+  parser.add_argument('--inline-sourcemaps', action='store_true')
+  args = parser.parse_args(argv)
+
+  for source_file, output_file in zip(args.sources, args.outputs):
+    # Invokes "node create_js_source_maps.js (args)""
+    # We can't use third_party/node/node.py directly from the gni template
+    # because we don't have a good way to specify the path to
+    # create_js_source_maps.js in a gni template.
+    # TODO(crbug.com/1337530): Launching node is expensive. Instead, update the
+    # JS script to accept multiple input/output files and do only one node run.
+    node.RunNode([str(_SOURCE_MAP_CREATOR), source_file, output_file] +
+                 (['--inline-sourcemaps'] if args.inline_sourcemaps else []))
+
+
+if __name__ == '__main__':
+  main(sys.argv[1:])
diff --git a/tools/code_coverage/create_js_source_maps/test/create_js_source_maps_test.py b/tools/code_coverage/create_js_source_maps/test/create_js_source_maps_test.py
index c02e0325..c2f6c9c 100755
--- a/tools/code_coverage/create_js_source_maps/test/create_js_source_maps_test.py
+++ b/tools/code_coverage/create_js_source_maps/test/create_js_source_maps_test.py
@@ -3,6 +3,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import base64
 import json
 import os
 import shutil
@@ -10,12 +11,14 @@
 import tempfile
 import unittest
 
+from parameterized import parameterized
 from pathlib import Path
 
 _HERE_DIR = Path(__file__).parent.resolve()
 _SOURCE_MAP_PROCESSOR = (_HERE_DIR.parent /
                          'create_js_source_maps.js').resolve()
 _SOURCE_MAP_TRANSLATOR = (_HERE_DIR / 'translate_source_map.js').resolve()
+_SOURCE_MAP_PREFIX = b'//# sourceMappingURL=data:application/json;base64,'
 
 _NODE_PATH = (_HERE_DIR.parent.parent.parent.parent / 'third_party' /
               'node').resolve()
@@ -48,7 +51,8 @@
     assert isinstance(result['column'], int)
     return result['line'], result['column']
 
-  def testPostProcessedFile(self):
+  @parameterized.expand([(True, ), (False, )])
+  def testPostProcessedFile(self, inline_sourcemap):
     ''' Test that a known starting file translates back correctly
 
     Assume we start with the following file:
@@ -82,12 +86,32 @@
                                                  suffix=".js")
     os.write(input_fd, file_after_preprocess)
     os.close(input_fd)
-    node.RunNode([str(_SOURCE_MAP_PROCESSOR), input_file_name])
-    map_path = input_file_name + ".map"
+    output_file_name = input_file_name + ".out"
+    node.RunNode([
+        str(_SOURCE_MAP_PROCESSOR),
+        input_file_name,
+        output_file_name,
+    ] + (["--inline-sourcemaps"] if inline_sourcemap else []))
+
+    if inline_sourcemap:
+      with open(output_file_name, 'rb') as output_file:
+        output = output_file.read()
+      output_lines = output.splitlines()
+
+      # Check source map was appended properly.
+      self.assertGreaterEqual(len(output_lines), 1)
+      self.assertEqual(file_after_preprocess,
+                       output[:-(len(output_lines[-1]) + 1)])
+      self.assertTrue(output_lines[-1].startswith(_SOURCE_MAP_PREFIX))
+
+      source_map = base64.b64decode(output_lines[-1][len(_SOURCE_MAP_PREFIX):])
+    else:
+      with open(output_file_name) as map_file:
+        source_map = map_file.read()
 
     # Check mappings:
     # Line 1 is before any removed lines, so it still maps to line 1
-    line, column = self._translate(map_path, 1, 2)
+    line, column = self._translate(source_map, 1, 2)
     self.assertEqual(line, 1)
     # Column number always snaps back to the column number of the most recent
     # mapping point, so it's zero not the correct column number. This seems to
@@ -95,17 +119,17 @@
     self.assertEqual(column, 0)
 
     # Original line 5 ends up on translated line 3
-    line, column = self._translate(map_path, 3, 2)
+    line, column = self._translate(source_map, 3, 2)
     self.assertEqual(line, 5)
     self.assertEqual(column, 0)
 
     # Original line 10 ends up on line 5
-    line, column = self._translate(map_path, 5, 2)
+    line, column = self._translate(source_map, 5, 2)
     self.assertEqual(line, 10)
     self.assertEqual(column, 0)
 
     # Original line 11 ends up on line 6
-    line, column = self._translate(map_path, 6, 2)
+    line, column = self._translate(source_map, 6, 2)
     self.assertEqual(line, 11)
     self.assertEqual(column, 0)
 
diff --git a/tools/code_coverage/create_js_source_maps/test/translate_source_map.js b/tools/code_coverage/create_js_source_maps/test/translate_source_map.js
index 7feb893..10f0d0b 100644
--- a/tools/code_coverage/create_js_source_maps/test/translate_source_map.js
+++ b/tools/code_coverage/create_js_source_maps/test/translate_source_map.js
@@ -9,7 +9,6 @@
  *
  * Helper for create_js_source_maps_test.py.
  */
-import fs from 'fs';
 
 import {SourceMapConsumer} from '../../../../third_party/js_code_coverage/node_modules/source-map/source-map.js';
 // TODO(crbug.com/1307980): Move argparse to the js_code_coverage library.
@@ -34,7 +33,7 @@
 const argv = parser.parseArgs();
 
 
-const sourceMap = JSON.parse(fs.readFileSync(argv.source_map));
+const sourceMap = JSON.parse(argv.source_map);
 // Async function to get around "Cannot use keyword 'await' outside an async
 // function" complaint in ESLint. Our version of node would allow us to use
 // 'await' at the top level, but our version of ESLint fails.
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index fa9f0de..89ed0e1 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -10318,22 +10318,29 @@
 </enum>
 
 <enum name="BackPressConsumer">
-  <int value="0" label="TEXT_BUBBLE"/>
-  <int value="1" label="VR_DELEGATE"/>
-  <int value="2" label="AR_DELEGATE"/>
-  <int value="3" label="SCENE_OVERLAY"/>
-  <int value="4" label="START_SURFACE_MEDIATOR"/>
-  <int value="5" label="SELECTION_POPUP"/>
-  <int value="6" label="MANUAL_FILLING"/>
-  <int value="7" label="FULLSCREEN"/>
-  <int value="8" label="BOTTOM_SHEET"/>
-  <int value="9" label="TAB_MODAL_HANDLER"/>
-  <int value="10" label="TAB_SWITCHER_TO_BROWSING"/>
-  <int value="11" label="CLOSE_WATCHER"/>
-  <int value="12" label="TOOLBAR_TAB_CONTROLLER"/>
-  <int value="13" label="TAB_RETURN_TO_CHROME_START_SURFACE"/>
-  <int value="14" label="SHOW_READING_LIST"/>
-  <int value="15" label="MINIMIZE_APP_AND_CLOSE_TAB"/>
+<!-- Append the new enumerator to the end. Add the label in the format
+  of "(value of BackPressHandler.Type) <Name of BackPressHandler.Type>".
+  It is okay the new value of enumerator is different from value of
+  BackPressHandler.Type.
+  -->
+
+  <int value="0" label="(00) TEXT_BUBBLE"/>
+  <int value="1" label="(01) VR_DELEGATE"/>
+  <int value="2" label="(02) AR_DELEGATE"/>
+  <int value="3" label="(03) SCENE_OVERLAY"/>
+  <int value="4" label="(04) START_SURFACE_MEDIATOR"/>
+  <int value="5" label="(05) SELECTION_POPUP"/>
+  <int value="6" label="(06) MANUAL_FILLING"/>
+  <int value="7" label="(07) FULLSCREEN"/>
+  <int value="8" label="(08) BOTTOM_SHEET"/>
+  <int value="9" label="(09) TAB_MODAL_HANDLER"/>
+  <int value="10" label="(10) TAB_SWITCHER_TO_BROWSING"/>
+  <int value="11" label="(11) CLOSE_WATCHER"/>
+  <int value="12" label="(13) TOOLBAR_TAB_CONTROLLER"/>
+  <int value="13" label="(14) TAB_RETURN_TO_CHROME_START_SURFACE"/>
+  <int value="14" label="(15) SHOW_READING_LIST"/>
+  <int value="15" label="(16) MINIMIZE_APP_AND_CLOSE_TAB"/>
+  <int value="16" label="(12) FIND_TOOLBAR"/>
 </enum>
 
 <enum name="BadMessageReasonAutofill">
@@ -15852,54 +15859,54 @@
   <int value="0" label="Camera image"/>
   <int value="1" label="User defined"/>
   <int value="2" label="Profile image"/>
-  <int value="10" label="Beaker"/>
-  <int value="11" label="Bee"/>
-  <int value="12" label="Briefcase"/>
-  <int value="13" label="Circles"/>
-  <int value="14" label="Cloud"/>
-  <int value="15" label="Cupcake"/>
-  <int value="16" label="Day"/>
-  <int value="17" label="Flower"/>
-  <int value="18" label="Globe"/>
-  <int value="19" label="Hot air"/>
-  <int value="20" label="Ladybug"/>
-  <int value="21" label="Leaf"/>
-  <int value="22" label="Night"/>
-  <int value="23" label="Plane"/>
-  <int value="24" label="Robot body"/>
-  <int value="25" label="Robot head"/>
-  <int value="26" label="Toolbox"/>
-  <int value="27" label="User color"/>
-  <int value="28" label="User enterprise"/>
-  <int value="29" label="Bicycle"/>
-  <int value="30" label="Bokeh"/>
-  <int value="31" label="Chess"/>
-  <int value="32" label="Coffee"/>
-  <int value="33" label="Dragonfly"/>
-  <int value="34" label="Frog"/>
-  <int value="35" label="Gazania Flower"/>
-  <int value="36" label="Jack Russell Terrier"/>
-  <int value="37" label="Jellyfish"/>
-  <int value="38" label="Kiwi"/>
-  <int value="39" label="Penguin1"/>
-  <int value="40" label="Rainbowfish"/>
-  <int value="41" label="Record player"/>
-  <int value="42" label="Upside Down"/>
-  <int value="43" label="Cat"/>
-  <int value="44" label="Penguin2"/>
-  <int value="45" label="Fox"/>
-  <int value="46" label="Snail"/>
-  <int value="47" label="Red butterfly"/>
-  <int value="48" label="Cat"/>
-  <int value="49" label="Corgi"/>
-  <int value="50" label="Rabbit"/>
-  <int value="51" label="Pink butterfly"/>
-  <int value="52" label="Monkey"/>
-  <int value="53" label="Dragon"/>
-  <int value="54" label="Elephant"/>
-  <int value="55" label="Panda"/>
-  <int value="56" label="Unicorn"/>
-  <int value="57" label="Butterflies"/>
+  <int value="10" label="Beaker (deprecated)"/>
+  <int value="11" label="Bee (deprecated)"/>
+  <int value="12" label="Briefcase (deprecated)"/>
+  <int value="13" label="Circles (deprecated)"/>
+  <int value="14" label="Cloud (deprecated)"/>
+  <int value="15" label="Cupcake (deprecated)"/>
+  <int value="16" label="Day (deprecated)"/>
+  <int value="17" label="Flower (deprecated)"/>
+  <int value="18" label="Globe (deprecated)"/>
+  <int value="19" label="Hot air (deprecated)"/>
+  <int value="20" label="Ladybug (deprecated)"/>
+  <int value="21" label="Leaf (deprecated)"/>
+  <int value="22" label="Night (deprecated)"/>
+  <int value="23" label="Plane (deprecated)"/>
+  <int value="24" label="Robot body (deprecated)"/>
+  <int value="25" label="Robot head (deprecated)"/>
+  <int value="26" label="Toolbox (deprecated)"/>
+  <int value="27" label="User color (deprecated)"/>
+  <int value="28" label="User enterprise (deprecated)"/>
+  <int value="29" label="Bicycle (deprecated)"/>
+  <int value="30" label="Bokeh (deprecated)"/>
+  <int value="31" label="Chess (deprecated)"/>
+  <int value="32" label="Coffee (deprecated)"/>
+  <int value="33" label="Dragonfly (deprecated)"/>
+  <int value="34" label="Frog (deprecated)"/>
+  <int value="35" label="Gazania Flower (deprecated)"/>
+  <int value="36" label="Jack Russell Terrier (deprecated)"/>
+  <int value="37" label="Jellyfish (deprecated)"/>
+  <int value="38" label="Kiwi (deprecated)"/>
+  <int value="39" label="Penguin1 (deprecated)"/>
+  <int value="40" label="Rainbowfish (deprecated)"/>
+  <int value="41" label="Record player (deprecated)"/>
+  <int value="42" label="Upside Down (deprecated)"/>
+  <int value="43" label="Cat (deprecated)"/>
+  <int value="44" label="Penguin2 (deprecated)"/>
+  <int value="45" label="Fox (deprecated)"/>
+  <int value="46" label="Snail (deprecated)"/>
+  <int value="47" label="Red butterfly (deprecated)"/>
+  <int value="48" label="Cat (deprecated)"/>
+  <int value="49" label="Corgi (deprecated)"/>
+  <int value="50" label="Rabbit (deprecated)"/>
+  <int value="51" label="Pink butterfly (deprecated)"/>
+  <int value="52" label="Monkey (deprecated)"/>
+  <int value="53" label="Dragon (deprecated)"/>
+  <int value="54" label="Elephant (deprecated)"/>
+  <int value="55" label="Panda (deprecated)"/>
+  <int value="56" label="Unicorn (deprecated)"/>
+  <int value="57" label="Butterflies (deprecated)"/>
   <int value="58" label="Bird"/>
   <int value="59" label="Ramen"/>
   <int value="60" label="Tamagotchi"/>
@@ -15918,11 +15925,11 @@
   <int value="73" label="Onigiri"/>
   <int value="74" label="Melon"/>
   <int value="75" label="Avocado"/>
-  <int value="76" label="Landing"/>
-  <int value="77" label="Lunar"/>
-  <int value="78" label="Dots"/>
-  <int value="79" label="Spin"/>
-  <int value="80" label="Grids"/>
+  <int value="76" label="Landing (deprecated)"/>
+  <int value="77" label="Lunar (deprecated)"/>
+  <int value="78" label="Dots (deprecated)"/>
+  <int value="79" label="Spin (deprecated)"/>
+  <int value="80" label="Grid (deprecated)s"/>
   <int value="81" label="Botanist"/>
   <int value="82" label="Burger"/>
   <int value="83" label="Graduate"/>
@@ -34676,7 +34683,7 @@
   <int value="1189" label="FILEMANAGERPRIVATE_GETRECENTFILES"/>
   <int value="1190" label="FILEMANAGERPRIVATE_RENAMEVOLUME"/>
   <int value="1191" label="AUTOTESTPRIVATE_SETMOUSEREVERSESCROLL"/>
-  <int value="1192" label="METRICSPRIVATE_RECORDSPARSEHASHABLE"/>
+  <int value="1192" label="DELETED_METRICSPRIVATE_RECORDSPARSEHASHABLE"/>
   <int value="1193" label="NETWORKINGPRIVATE_SELECTCELLULARMOBILENETWORK"/>
   <int value="1194" label="PASSWORDSPRIVATE_IMPORTPASSWORDS"/>
   <int value="1195" label="PASSWORDSPRIVATE_EXPORTPASSWORDS"/>
@@ -40905,6 +40912,7 @@
   <int value="4314" label="LinkRelPrefetchAsDocumentCrossOrigin"/>
   <int value="4315" label="PersistentQuotaType"/>
   <int value="4316" label="CrossOriginScrollIntoView"/>
+  <int value="4317" label="LinkRelCanonical"/>
 </enum>
 
 <enum name="FeaturePolicyAllowlistType">
diff --git a/tools/metrics/histograms/metadata/ash/histograms.xml b/tools/metrics/histograms/metadata/ash/histograms.xml
index f3b9ca6..ea5bc0c 100644
--- a/tools/metrics/histograms/metadata/ash/histograms.xml
+++ b/tools/metrics/histograms/metadata/ash/histograms.xml
@@ -1004,7 +1004,7 @@
 
 <histogram
     name="Ash.CaptureModeController.CaptureAudioOnMetric.{TabletOrClamshell}"
-    enum="BooleanEnabled" expires_after="2022-09-09">
+    enum="BooleanEnabled" expires_after="2023-08-01">
   <owner>michelefan@chromium.org</owner>
   <owner>gzadina@google.com</owner>
   <summary>
@@ -1118,7 +1118,7 @@
 
 <histogram
     name="Ash.CaptureModeController.Projector.RecordingStartsWithCamera.{TabletOrClamshell}"
-    enum="BooleanEnabled" expires_after="2022-09-09">
+    enum="BooleanEnabled" expires_after="2023-08-01">
   <owner>michelefan@chromium.org</owner>
   <owner>gzadina@google.com</owner>
   <summary>
@@ -1154,7 +1154,7 @@
 
 <histogram
     name="Ash.CaptureModeController.RecordingCameraPositionOnStart.{TabletOrClamshell}"
-    enum="CameraPreviewSnapPosition" expires_after="2022-09-09">
+    enum="CameraPreviewSnapPosition" expires_after="2023-08-01">
   <owner>michelefan@chromium.org</owner>
   <owner>gzadina@google.com</owner>
   <summary>
@@ -1166,7 +1166,7 @@
 
 <histogram
     name="Ash.CaptureModeController.RecordingCameraSizeOnStart.{TabletOrClamshell}"
-    enum="CaptureModeCameraSize" expires_after="2022-09-09">
+    enum="CaptureModeCameraSize" expires_after="2023-08-01">
   <owner>michelefan@chromium.org</owner>
   <owner>gzadina@google.com</owner>
   <summary>
@@ -1178,7 +1178,7 @@
 
 <histogram
     name="Ash.CaptureModeController.RecordingStartsWithCamera.{TabletOrClamshell}"
-    enum="BooleanEnabled" expires_after="2022-09-09">
+    enum="BooleanEnabled" expires_after="2023-08-01">
   <owner>michelefan@chromium.org</owner>
   <owner>gzadina@google.com</owner>
   <summary>
@@ -1189,7 +1189,7 @@
 </histogram>
 
 <histogram name="Ash.CaptureModeController.SaveLocation.{TabletOrClamshell}"
-    enum="CaptureModeSaveToLocation" expires_after="2022-09-09">
+    enum="CaptureModeSaveToLocation" expires_after="2023-08-01">
   <owner>michelefan@chromium.org</owner>
   <owner>gzadina@google.com</owner>
   <summary>
@@ -1264,7 +1264,7 @@
 
 <histogram
     name="Ash.CaptureModeController.SwitchToDefaultReason.{TabletOrClamshell}"
-    enum="CaptureModeSwitchToDefaultReason" expires_after="2022-09-09">
+    enum="CaptureModeSwitchToDefaultReason" expires_after="2023-08-01">
   <owner>michelefan@chromium.org</owner>
   <owner>gzadina@google.com</owner>
   <summary>
diff --git a/tools/metrics/histograms/metadata/language/histograms.xml b/tools/metrics/histograms/metadata/language/histograms.xml
index f9a321fa..f2111f4 100644
--- a/tools/metrics/histograms/metadata/language/histograms.xml
+++ b/tools/metrics/histograms/metadata/language/histograms.xml
@@ -431,6 +431,30 @@
   </summary>
 </histogram>
 
+<histogram name="LanguageUsage.ULP.Initiation.NeverLanguagesMissingFromULP"
+    enum="LocaleCodeISO639" expires_after="2023-01-15">
+  <owner>perrier@google.com</owner>
+  <owner>chrome-language@google.com</owner>
+  <summary>
+    The language code of each Never Translate language that is not in a users
+    ULP.
+
+    Recorded once at startup when ULP is initialized.
+  </summary>
+</histogram>
+
+<histogram
+    name="LanguageUsage.ULP.Initiation.NeverLanguagesMissingFromULP.Count"
+    units="count" expires_after="2023-01-15">
+  <owner>perrier@google.com</owner>
+  <owner>chrome-language@google.com</owner>
+  <summary>
+    Count of Never Translate languages that are not in a users ULP.
+
+    Recorded once at startup when ULP is initialized.
+  </summary>
+</histogram>
+
 <histogram name="LanguageUsage.ULP.Initiation.Status{AccountType}"
     enum="ULPInitiationStatus" expires_after="2022-09-11">
   <owner>jds@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/omnibox/histograms.xml b/tools/metrics/histograms/metadata/omnibox/histograms.xml
index 81968bf7..d82f80d 100644
--- a/tools/metrics/histograms/metadata/omnibox/histograms.xml
+++ b/tools/metrics/histograms/metadata/omnibox/histograms.xml
@@ -46,6 +46,27 @@
                Chrome."/>
 </variants>
 
+<variants name="OmniboxAutocompleteUpdateSlice">
+  <variant name=""
+      summary="This slice measures match changes for all updates, regardless
+               of whether it or the previous update were asynchronous or
+               synchronous. Logged exactly once per update; 0, 1, or multiple
+               times per input. The count here will be the sum of the counts
+               for the other 2 slices."/>
+  <variant name="Async"
+      summary="This slice measures match changes between the last update for
+               the current input, whether it be asynchronous or synchronous,
+               and the current asynchronous, i.e. non-first, update of the
+               current input. Logged exactly once per asynchronous update; 0,
+               1, or multiple times per input."/>
+  <variant name="CrossInput"
+      summary="This slice measures match changes between the last update for
+               the previous input, whether it be asynchronous or synchronous,
+               and the synchronous, i.e. first, update of the current input.
+               Logged exactly once per synchronous update; at most once per
+               input."/>
+</variants>
+
 <variants name="OmniboxProviders">
   <variant name="Bookmark"/>
   <variant name="Builtin"/>
@@ -469,74 +490,6 @@
   </summary>
 </histogram>
 
-<histogram name="Omnibox.CrossInputMatchStability.MatchChange" units="position"
-    expires_after="2022-12-11">
-  <owner>manukh@chromium.org</owner>
-  <owner>tommycli@chromium.org</owner>
-  <owner>jdonnelly@chromium.org</owner>
-  <summary>
-    This tracks how unstable our matches are due to synchronous updates.
-    Synchronous updates usually, though not necessarily, follow asynchronous
-    updates; this measures match instability between the last update for the
-    previous input, whether it be asynchronous or synchronous, and the
-    synchronous, i.e. first, update of the current input.
-
-    Whenever a dropdown position gets synchronously set to a new match that's
-    different from the old match, this histogram logs the index.
-
-    We primarily care about the default match, which is logged at index 0. All
-    indices matter though, so we track the other indices too. When the number of
-    matches changes asynchronously, matches that are removed are considered a
-    &quot;change&quot; and logged here. Matches that are appended are less
-    disruptive to the user, and are not logged.
-
-    This is because this metric is primarily interested in how many times the
-    user could be looking at a match with the intention of selecting it, and
-    then it surprisingly goes away.
-
-    Note that merely adding a new provider will increase these counts. That's
-    intentional. Swapping matches out annoys users, and to avoid this, we should
-    do some things like: caching, update coalescing, update deferral until next
-    keystroke, provider timeouts, etc.
-
-    This metric is designed to be normalized by the True count of
-    Omnibox.Start.WantAsyncMatches, which will yield the number of match changes
-    synchronously per keystroke or other user gesture.
-
-    There's the related Omnibox.MatchStability.AsyncMatchChange2 histogram for
-    tracking match instability for asynchronous updates.
-  </summary>
-</histogram>
-
-<histogram name="Omnibox.CrossInputMatchStability.MatchChangedInAnyPosition"
-    enum="BooleanChanged" expires_after="2022-12-11">
-  <owner>manukh@chromium.org</owner>
-  <owner>tommycli@chromium.org</owner>
-  <owner>jdonnelly@chromium.org</owner>
-  <summary>
-    This tracks how unstable our matches are due to synchronous updates.
-    Synchronous updates usually, though not necessarily, follow asynchronous
-    updates; this measures match instability between the last update for the
-    previous input, whether it be asynchronous or synchronous, and the
-    synchronous, i.e. first, update of the current input.
-
-    For each synchronous autocomplete update, this histogram logs whether any
-    match in any position has changed. Note: if the only change is new matches
-    appended to the end of the list, that does not count as a change, since it's
-    not very disruptive to the user.
-
-    This metric is designed to be normalized by the True count of
-    Omnibox.Start.WantAsyncMatches, which will yield the number of times any
-    match changes asynchronously per keystroke or other user gesture.
-
-    This histogram can be considered a boolean analogue to
-    Omnibox.CrossInputMatchStability.MatchChange.
-
-    There's the related Omnibox.MatchStability.AsyncMatchChangedInAnyPosition
-    histogram for tracking match instability for asynchronous updates.
-  </summary>
-</histogram>
-
 <histogram name="Omnibox.CutOrCopyAllText" units="count"
     expires_after="2022-12-25">
   <owner>jdonnelly@chromium.org</owner>
@@ -995,61 +948,96 @@
   </summary>
 </histogram>
 
-<histogram name="Omnibox.MatchStability.AsyncMatchChange2" units="position"
-    expires_after="2022-12-04">
+<histogram
+    name="Omnibox.MatchStability.MatchChangeInAnyPosition{OmniboxAutocompleteUpdateSlice}"
+    enum="BooleanChanged" expires_after="2022-12-04">
   <owner>tommycli@chromium.org</owner>
+  <owner>manukh@chromium.org</owner>
   <owner>jdonnelly@chromium.org</owner>
   <summary>
-    This tracks how unstable our matches are due to asynchronous updates.
-    Whenever a dropdown position gets asynchronously set to a new match that's
-    different from the old match, this histogram logs the index.
+    This tracks how unstable omnibox matches are.
 
-    We primarily care about the default match, which is logged at index 0. All
-    indices matter though, so we track the other indices too. When the number of
-    matches changes asynchronously, matches that are removed are considered a
-    &quot;change&quot; and logged here. Matches that are appended are less
-    disruptive to the user, and are not logged.
+    Typically, each input change is followed by a single synchronous update, and
+    then approximately 3 asynchronous updates. There may be more or less
+    asynchronous updates depending on which providers are enabled for the
+    particular platform/user, the input (e.g. some providers don't run for
+    0-length inputs), and how quickly the input changes occur (e.g. if the
+    inputs update rapidly, slower async providers won't have time to provide
+    updates before they're aborted by newer inputs).
 
-    This is because this metric is primarily interested in how many times the
-    user could be looking at a match with the intention of selecting it, and
-    then it surprisingly goes away.
+    For each autocomplete update, this histogram logs whether any match position
+    changes. If 1 or more matches changed, logs true once; otherwise false once.
 
-    Note that merely adding a new asynchronous provider will increase these
-    counts. That's intentional. Swapping matches out annoys users, and to avoid
-    this, we should do some things like: caching, update coalescing, update
-    deferral until next keystroke, provider timeouts, etc.
+    When the number of matches changes, matches that are removed are considered
+    a 'change', while matches that are appended are less disruptive to the user
+    and not considered a 'change'. This is because this metric is primarily
+    interested in how many times the user could be looking at a match with the
+    intention of selecting it, and then it surprisingly goes away.
+
+    Note that merely adding a new provider will increase these counts. That's
+    intentional. Swapping matches out annoys users, and to avoid this, we should
+    do some things like: caching, update coalescing, update deferral until next
+    keystroke, provider timeouts, etc.
 
     This metric is designed to be normalized by the True count of
     Omnibox.Start.WantAsyncMatches, which will yield the number of match changes
-    asynchronously per keystroke or other user gesture.
+    per keystroke or other user gesture.
 
-    There's the related Omnibox.CrossInputMatchStability.MatchChange histogram
-    for tracking match instability for synchronous updates.
+    There're the related Omnibox.MatchStability.InAnyPosition.* slices for
+    tracking match instability for all, asynchronous, and synchronous updates.
+
+    This histogram can be considered a boolean analogue to the
+    Omnibox.MatchStability.Index.* histogram which tracks which matches changed.
   </summary>
 </histogram>
 
-<histogram name="Omnibox.MatchStability.AsyncMatchChangedInAnyPosition"
-    enum="BooleanChanged" expires_after="2022-12-04">
+<histogram
+    name="Omnibox.MatchStability.MatchChangeIndex{OmniboxAutocompleteUpdateSlice}"
+    units="position" expires_after="2022-12-04">
   <owner>tommycli@chromium.org</owner>
+  <owner>manukh@chromium.org</owner>
   <owner>jdonnelly@chromium.org</owner>
   <summary>
-    This tracks how unstable our matches are due to asynchronous updates.
+    This tracks how unstable omnibox matches are.
 
-    For each asynchronous autocomplete update, this histogram logs whether any
-    match in any position has changed. Note: if the only change is new matches
-    appended to the end of the list, that does not count as a change, since it's
-    not very disruptive to the user.
+    Typically, each input change is followed by a single synchronous update, and
+    then approximately 3 asynchronous updates. There may be more or less
+    asynchronous updates depending on which providers are enabled for the
+    particular platform/user, the input (e.g. some providers don't run for
+    0-length inputs), and how quickly the input changes occur (e.g. if the
+    inputs update rapidly, slower async providers won't have time to provide
+    updates before they're aborted by newer inputs).
+
+    For each match change, this histogram logs the index of the match change.
+    Match changes occur when any match position changes; i.e. is set to a new
+    match different from the old match in that position, even if the new match
+    was contained in the old matches set. If multiple matches change in a single
+    autocomplete update, logs each. If none change in a single autocomplete
+    update, this histogram is not logged.
+
+    We primarily care about the default match, which is logged at index 0. All
+    indices matter though, so we track the other indices too.
+
+    When the number of matches changes, matches that are removed are considered
+    a 'change', while matches that are appended are less disruptive to the user
+    and not considered a 'change'. This is because this metric is primarily
+    interested in how many times the user could be looking at a match with the
+    intention of selecting it, and then it surprisingly goes away.
+
+    Note that merely adding a new provider will increase these counts. That's
+    intentional. Swapping matches out annoys users, and to avoid this, we should
+    do some things like: caching, update coalescing, update deferral until next
+    keystroke, provider timeouts, etc.
 
     This metric is designed to be normalized by the True count of
-    Omnibox.Start.WantAsyncMatches, which will yield the number of times any
-    match changes asynchronously per keystroke or other user gesture.
+    Omnibox.Start.WantAsyncMatches, which will yield the number of match changes
+    per keystroke or other user gesture.
 
-    This histogram can be considered a boolean analogue to
-    Omnibox.MatchStability.AsyncMatchChange2.
+    There're the related Omnibox.MatchStability.Index.* slices for tracking
+    match instability for all, asynchronous, and synchronous updates.
 
-    There's the related
-    Omnibox.CrossInputMatchStability.MatchChangedInAnyPosition histogram for
-    tracking match instability for synchronous updates.
+    There's the related Omnibox.MatchStability.InAnyPosition histogram for
+    tracking whether any match changed per autocomplete update.
   </summary>
 </histogram>
 
diff --git a/tools/metrics/histograms/metadata/others/histograms.xml b/tools/metrics/histograms/metadata/others/histograms.xml
index 0b704f39..0da6b0b 100644
--- a/tools/metrics/histograms/metadata/others/histograms.xml
+++ b/tools/metrics/histograms/metadata/others/histograms.xml
@@ -14139,9 +14139,13 @@
 </histogram>
 
 <histogram name="UserImage.LoggedIn3" enum="ChromeOSUserImageId2"
-    expires_after="2022-03-30">
+    expires_after="never">
+<!-- expires-never: Core metric for monitoring user image selections. -->
+
   <owner>achuith@chromium.org</owner>
   <owner>alemate@chromium.org</owner>
+  <owner>jasontt@chromium.org</owner>
+  <owner>assistive-eng@google.com</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
     Distribution of the default images that existing users log in with (Chrome
@@ -14150,6 +14154,9 @@
     This metric supersedes UserImage.LoggedIn2 due to a change in enum values.
     Special value 0 (Camera image) of ChromeOSUserImageId2 is never recorded in
     this histogram.
+
+    Warning: this histogram was expired from 2022-03-30 to 2022-08-01; data may
+    be missing.
   </summary>
 </histogram>
 
diff --git a/tools/metrics/histograms/metadata/storage/histograms.xml b/tools/metrics/histograms/metadata/storage/histograms.xml
index a52e0b39..5288a49 100644
--- a/tools/metrics/histograms/metadata/storage/histograms.xml
+++ b/tools/metrics/histograms/metadata/storage/histograms.xml
@@ -157,17 +157,15 @@
 </histogram>
 
 <histogram name="LevelDBEnv.IOError" enum="LevelDBIOErrorMethods"
-    expires_after="2022-08-01">
-  <owner>dmurph@chromium.org</owner>
-  <owner>pwnall@chromium.org</owner>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>Methods where leveldb's Chromium environment has IO errors.</summary>
 </histogram>
 
 <histogram name="LevelDBEnv.MissingFiles" units="files"
-    expires_after="2022-08-01">
-  <owner>dmurph@chromium.org</owner>
-  <owner>pwnall@chromium.org</owner>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
     Number of backup files found without corresponding ldb files. As measured by
@@ -177,7 +175,7 @@
 
 <histogram name="LevelDBWrapper.CommitDelay" units="ms"
     expires_after="2022-12-04">
-  <owner>mek@chromium.org</owner>
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
     Delay between the browser process receiving changes and those changes being
@@ -186,9 +184,13 @@
 </histogram>
 
 <histogram name="MojoLevelDBEnv.IOError" enum="LevelDBIOErrorMethods"
-    expires_after="M87">
-  <owner>mek@chromium.org</owner>
-  <summary>Methods where leveldb's Mojo environment has IO errors.</summary>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
+  <owner>chrome-owp-storage@google.com</owner>
+  <summary>
+    Methods where leveldb's Mojo environment has IO errors. This histogram has
+    expired between M87-106.
+  </summary>
 </histogram>
 
 <histogram name="NativeFileSystemAPI.FileChooserResult.{Type}" units="units"
@@ -214,13 +216,14 @@
 </histogram>
 
 <histogram name="Storage.BlacklistedImportantSites.Reason"
-    enum="ClearDataSiteBlacklistCrossedReason" expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
+    enum="ClearDataSiteBlacklistCrossedReason" expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
-    This is recorded for every site that the user blacklists when they when they
+    This is recorded for every site that the user blocklists when they when they
     clear browsing data. It indicates which signals were used to show the given
-    site to the user that the user then chose to exclude from clearing.
+    site to the user that the user then chose to exclude from clearing. This
+    histogram has expired between M95-M106.
   </summary>
 </histogram>
 
@@ -320,53 +323,56 @@
 </histogram>
 
 <histogram name="Storage.ImportantSites.CBDChosenReason"
-    enum="ImportantSitesReason" expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
+    enum="ImportantSitesReason" expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
-    When a user chooses to blacklist one or more sites when they clear browsing
+    When a user chooses to blocklist one or more sites when they clear browsing
     data, this is recorded for every reason each chosen site was marked as
     important. It indicates which signals were used to show the given site to
-    the user that the user then chose to exclude from clearing.
+    the user that the user then chose to exclude from clearing. This histogram
+    has expired between M95-M106.
   </summary>
 </histogram>
 
 <histogram name="Storage.ImportantSites.CBDChosenReasonCount" units="count"
-    expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
     This records the number of reasons each important site had that the user
-    chose to blacklist when clearing browsing data.
+    chose to blocklist when clearing browsing data. This histogram has expired
+    between M95-M106.
   </summary>
 </histogram>
 
 <histogram name="Storage.ImportantSites.CBDIgnoredReason"
-    enum="ImportantSitesReason" expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
+    enum="ImportantSitesReason" expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
-    When a user chooses to blacklist one or more sites when they clear browsing
+    When a user chooses to blocklist one or more sites when they clear browsing
     data, this is recorded for every reason each unchosen site was marked as
     important. It indicates which signals were used to show the given site to
-    the user, which the user then ignored and did not select to blacklist from
-    clearing data.
+    the user, which the user then ignored and did not select to blocklist from
+    clearing data. This histogram has expired between M95-M106.
   </summary>
 </histogram>
 
 <histogram name="Storage.ImportantSites.CBDIgnoredReasonCount" units="count"
-    expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
     This records the number of reasons each important site had that the user
-    chose to NOT blacklist when clearing browsing data.
+    chose to NOT blocklist when clearing browsing data. This histogram has
+    expired between M95-M106.
   </summary>
 </histogram>
 
 <histogram name="Storage.ImportantSites.GeneratedReason"
-    enum="ImportantSitesReason" expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
+    enum="ImportantSitesReason" expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
     Recorded when we generate a list of important sites. This can happen when
@@ -374,49 +380,53 @@
     tab in Site Settings on Android, or launches 'Manage Storage' from Android
     System Settings for Chrome. We record every reason each site was chosen in
     this metric. This means that we can report this metric multiple times for a
-    single site.
+    single site. This histogram has expired between M95-M106.
   </summary>
 </histogram>
 
 <histogram name="Storage.ImportantSites.GeneratedReasonCount" units="count"
-    expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
     This records the number of reasons qualifying a site for being 'important'.
     We record this for every site when we generate a list of important sites,
-    described in &quot;Storage.ImportantSites.GeneratedReason&quot;.
+    described in &quot;Storage.ImportantSites.GeneratedReason&quot;. This
+    histogram has expired between M95-M106.
   </summary>
 </histogram>
 
 <histogram name="Storage.ImportantSites.GenerationTime" units="ms"
-    expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
-  <owner>pwnall@chromium.org</owner>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
+  <owner>chrome-owp-storage@google.com</owner>
   <summary>
     The time it takes to generate the list of 'important' sites. This list is
     generated when the user enters the 'Clear Browsing Dialog' or the 'Manage
-    Space' screens for Chrome, both of which are on Android.
+    Space' screens for Chrome, both of which are on Android. This histogram has
+    expired between M95-M106.
   </summary>
 </histogram>
 
 <histogram name="Storage.IndexedDB.PutBlobSizeKB" units="KB"
-    expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
-  <owner>pwnall@chromium.org</owner>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
+  <owner>chrome-owp-storage@google.com</owner>
   <summary>
     Records the size of a blob used in an IndexedDB add/put operation. Recorded
-    for every put operation that contains a blob.
+    for every put operation that contains a blob. This histogram has expired
+    between M95-M106.
   </summary>
 </histogram>
 
 <histogram name="Storage.IndexedDB.PutValidBlob" enum="Boolean"
-    expires_after="M95">
-  <owner>dmurph@chromium.org</owner>
-  <owner>pwnall@chromium.org</owner>
+    expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
+  <owner>chrome-owp-storage@google.com</owner>
   <summary>
     Records if a blob intended to be used in an IndexedDB add/put operation is a
-    valid blob. Recorded for every put operation that contains a blob.
+    valid blob. Recorded for every put operation that contains a blob. This
+    histogram has expired between M95-M106.
   </summary>
 </histogram>
 
@@ -465,12 +475,12 @@
 </histogram>
 
 <histogram name="Storage.SessionStorage.RendererAreaCacheHit"
-    enum="LocalStorageRendererAreaCacheHitEnum" expires_after="M97">
-  <owner>mek@chromium.org</owner>
+    enum="LocalStorageRendererAreaCacheHitEnum" expires_after="2023-08-01">
+  <owner>ayui@chromium.org</owner>
   <owner>chrome-owp-storage@google.com</owner>
   <summary>
     The renderer side cache hit rate metrics for new HTML5 SessionStorage DB
-    opened.
+    opened. This histogram has expired between M97-106.
   </summary>
 </histogram>
 
@@ -555,8 +565,8 @@
     expires_after="never">
 <!-- expires-never: core storage metric; consumed in separate dashboard (go/chrome-storage-dashboard) -->
 
-  <owner>dmurph@chromium.org</owner>
-  <owner>pwnall@chromium.org</owner>
+  <owner>ayui@chromium.org</owner>
+  <owner>chrome-owp-storage@google.com</owner>
   <summary>
     Counts the number of WebSQL databases opened for secure vs insecure origins.
   </summary>
diff --git a/tools/metrics/histograms/metadata/tab/histograms.xml b/tools/metrics/histograms/metadata/tab/histograms.xml
index fa68384..a4c90e99 100644
--- a/tools/metrics/histograms/metadata/tab/histograms.xml
+++ b/tools/metrics/histograms/metadata/tab/histograms.xml
@@ -816,7 +816,7 @@
 </histogram>
 
 <histogram name="TabHoverCards.LastTabHoverCardPreviewTime{TabCountMetrics}"
-    units="ms" expires_after="2022-09-01">
+    units="ms" expires_after="2022-10-01">
   <owner>dfried@chromium.org</owner>
   <owner>chrome-desktop-ui-sea@google.com</owner>
   <summary>
@@ -845,7 +845,7 @@
 </histogram>
 
 <histogram name="TabHoverCards.LastTabHoverCardViewedTime{TabCountMetrics}"
-    units="ms" expires_after="2022-09-01">
+    units="ms" expires_after="2022-10-01">
   <owner>dfried@chromium.org</owner>
   <owner>chrome-desktop-ui-sea@google.com</owner>
   <summary>
@@ -872,7 +872,7 @@
 </histogram>
 
 <histogram name="TabHoverCards.TabHoverCardPreviewTime{TabCountMetrics}"
-    units="ms" expires_after="2022-09-01">
+    units="ms" expires_after="2022-10-01">
   <owner>dfried@chromium.org</owner>
   <owner>chrome-desktop-ui-sea@google.com</owner>
   <summary>
@@ -901,7 +901,7 @@
 
 <histogram
     name="TabHoverCards.TabHoverCardsSeenBeforeTabSelection{TabCountMetrics}"
-    units="hover cards" expires_after="2022-09-01">
+    units="hover cards" expires_after="2022-10-01">
   <owner>dfried@chromium.org</owner>
   <owner>chrome-desktop-ui-sea@google.com</owner>
   <summary>
@@ -926,7 +926,7 @@
 </histogram>
 
 <histogram name="TabHoverCards.TabHoverCardViewedTime{TabCountMetrics}"
-    units="ms" expires_after="2022-09-01">
+    units="ms" expires_after="2022-10-01">
   <owner>dfried@chromium.org</owner>
   <owner>chrome-desktop-ui-sea@google.com</owner>
   <summary>
@@ -954,7 +954,7 @@
 
 <histogram
     name="TabHoverCards.TabPreviewsSeenBeforeTabSelection{TabCountMetrics}"
-    units="previews" expires_after="2022-09-01">
+    units="previews" expires_after="2022-10-01">
   <owner>dfried@chromium.org</owner>
   <owner>chrome-desktop-ui-sea@google.com</owner>
   <summary>
@@ -980,7 +980,7 @@
 </histogram>
 
 <histogram name="TabHoverCards.TimeSinceLastVisible" units="ms"
-    expires_after="2022-09-01">
+    expires_after="2022-10-01">
   <owner>corising@chromium.org</owner>
   <owner>chrome-desktop-ui-sea@google.com</owner>
   <summary>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_iw.xtb b/ui/chromeos/translations/ui_chromeos_strings_iw.xtb
index e5cd1d95..4cb1d83 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_iw.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_iw.xtb
@@ -630,6 +630,7 @@
 <translation id="6356685157277930264">חלון משוב לגבי קבצים</translation>
 <translation id="6358884629796491903">דרקון</translation>
 <translation id="636254897931573416">ערך ההתאמה של סיומות האתרים לא תקין</translation>
+<translation id="6364301859968397756">נפח האחסון של הארגון מלא</translation>
 <translation id="6367976544441405720">רכב מסחרי</translation>
 <translation id="637062427944097960">הקובץ הזה נפתח בשולחן עבודה שונה. עבור אל <ph name="USER_NAME" />‏ (<ph name="MAIL_ADDRESS" />) כדי לראות אותו.</translation>
 <translation id="6394388407447716302">לקריאה בלבד</translation>
diff --git a/ui/chromeos/translations/ui_chromeos_strings_tr.xtb b/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
index 9c1eeccc..64c9529f 100644
--- a/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
+++ b/ui/chromeos/translations/ui_chromeos_strings_tr.xtb
@@ -758,7 +758,7 @@
 <translation id="7495372004724182530">Malayalam dili Fonetik</translation>
 <translation id="7505167922889582512">Gizli dosyaları göster</translation>
 <translation id="7514365320538308">İndir</translation>
-<translation id="751507702149411736">Beyaz Rusça</translation>
+<translation id="751507702149411736">Belarusça</translation>
 <translation id="7532029025027028521">Farsça Harf Çevirisi</translation>
 <translation id="7544830582642184299">Linux uygulamalarının Google Drive'ınızdaki dosyalara erişmesine izin verin. Değişiklikler, diğer cihazlarınızla senkronize edilecektir.</translation>
 <translation id="7547009467130558110">Spor ayakkabı</translation>
diff --git a/ui/color/chromeos/native_color_mixers_chromeos.cc b/ui/color/chromeos/native_color_mixers_chromeos.cc
index 80f5f58..5d16fff 100644
--- a/ui/color/chromeos/native_color_mixers_chromeos.cc
+++ b/ui/color/chromeos/native_color_mixers_chromeos.cc
@@ -23,7 +23,32 @@
   mixer[kColorAshSystemUIMenuItemBackgroundSelected] = {
       kColorMenuItemBackgroundSelected};
   mixer[kColorAshSystemUIMenuSeparator] = {kColorMenuSeparator};
-  if (key.color_mode == ColorProviderManager::ColorMode::kDark) {
+  bool dark_mode = key.color_mode == ColorProviderManager::ColorMode::kDark;
+
+  // Add color initializations for highlight border.
+  {
+    const ui::ColorTransform light_border = {SkColorSetA(SK_ColorBLACK, 0x0F)};
+    const auto default_background_color =
+        ui::GetEndpointColorWithMinContrast({ui::kColorPrimaryBackground});
+    const auto background_color =
+        key.user_color.has_value() ? ui::ColorTransform(key.user_color.value())
+                                   : default_background_color;
+    mixer[kColorHighlightBorderBorder1] =
+        dark_mode ? SetAlpha(background_color, SK_AlphaOPAQUE * 0.8f)
+                  : light_border;
+    mixer[kColorHighlightBorderBorder2] =
+        dark_mode ? SetAlpha(background_color, SK_AlphaOPAQUE * 0.6f)
+                  : light_border;
+    mixer[kColorHighlightBorderBorder3] = light_border;
+
+    mixer[kColorHighlightBorderHighlight1] = {
+        SkColorSetA(SK_ColorWHITE, dark_mode ? 0x14 : 0x4C)};
+    mixer[kColorHighlightBorderHighlight2] = {
+        SkColorSetA(SK_ColorWHITE, dark_mode ? 0x0F : 0x33)};
+    mixer[kColorHighlightBorderHighlight3] = {kColorHighlightBorderHighlight1};
+  }
+
+  if (dark_mode) {
     const bool high_elevation =
         key.elevation_mode == ColorProviderManager::ElevationMode::kHigh;
     const SkColor base_color =
diff --git a/ui/color/color_id.h b/ui/color/color_id.h
index f7269231..277c93b4 100644
--- a/ui/color/color_id.h
+++ b/ui/color/color_id.h
@@ -210,13 +210,6 @@
   \
   E_CPONLY(kColorAshOnboardingFocusRing) \
   \
-  E_CPONLY(kColorAshSystemUIBorderColor1) \
-  E_CPONLY(kColorAshSystemUIBorderColor2) \
-  E_CPONLY(kColorAshSystemUIBorderColor3) \
-  E_CPONLY(kColorAshSystemUIHighlightColor1) \
-  E_CPONLY(kColorAshSystemUIHighlightColor2) \
-  E_CPONLY(kColorAshSystemUIHighlightColor3) \
-  \
   /* TODO(crbug/1319917): Remove these when dark light mode is launched. */ \
   E_CPONLY(kColorAshSystemUILightBorderColor1) \
   E_CPONLY(kColorAshSystemUILightBorderColor2) \
@@ -228,6 +221,13 @@
   E_CPONLY(kColorAshSystemUIMenuItemBackgroundSelected) \
   E_CPONLY(kColorAshSystemUIMenuSeparator) \
   \
+  E_CPONLY(kColorHighlightBorderBorder1) \
+  E_CPONLY(kColorHighlightBorderBorder2) \
+  E_CPONLY(kColorHighlightBorderBorder3) \
+  E_CPONLY(kColorHighlightBorderHighlight1) \
+  E_CPONLY(kColorHighlightBorderHighlight2) \
+  E_CPONLY(kColorHighlightBorderHighlight3) \
+  \
   E_CPONLY(kColorNativeColor1) \
   E_CPONLY(kColorNativeColor1Shade1) \
   E_CPONLY(kColorNativeColor1Shade2) \
diff --git a/ui/color/color_transform.cc b/ui/color/color_transform.cc
index 8bee7e4..0b232d6 100644
--- a/ui/color/color_transform.cc
+++ b/ui/color/color_transform.cc
@@ -205,6 +205,21 @@
   return base::BindRepeating(generator, std::move(transform));
 }
 
+ColorTransform GetEndpointColorWithMinContrast(ColorTransform transform) {
+  const auto generator = [](ColorTransform transform, SkColor input_color,
+                            const ColorMixer& mixer) {
+    const SkColor transform_color = transform.Run(input_color, mixer);
+    const SkColor result_color =
+        color_utils::GetEndpointColorWithMinContrast(transform_color);
+    DVLOG(2) << "ColorTransform GetEndPointColorWithMinContrast:"
+             << " Input Color: " << SkColorName(input_color)
+             << " Transform Color: " << SkColorName(transform_color)
+             << " Result Color: " << SkColorName(result_color);
+    return result_color;
+  };
+  return base::BindRepeating(generator, std::move(transform));
+}
+
 ColorTransform GetResultingPaintColor(ColorTransform foreground_transform,
                                       ColorTransform background_transform) {
   const auto generator = [](ColorTransform foreground_transform,
diff --git a/ui/color/color_transform.h b/ui/color/color_transform.h
index c3a49d7..4057e4b 100644
--- a/ui/color/color_transform.h
+++ b/ui/color/color_transform.h
@@ -95,6 +95,11 @@
 COMPONENT_EXPORT(COLOR)
 ColorTransform GetColorWithMaxContrast(ColorTransform transform);
 
+// A transform which returns the end point color with min contrast against the
+// result of |transform|.
+COMPONENT_EXPORT(COLOR)
+ColorTransform GetEndpointColorWithMinContrast(ColorTransform transform);
+
 // A transform which returns the resulting paint color of the result of
 // |foreground_transform| over the result of |background_transform|.
 COMPONENT_EXPORT(COLOR)
diff --git a/ui/lottie/animation.cc b/ui/lottie/animation.cc
index e45ee93..52513a1 100644
--- a/ui/lottie/animation.cc
+++ b/ui/lottie/animation.cc
@@ -4,6 +4,7 @@
 
 #include "ui/lottie/animation.h"
 
+#include <algorithm>
 #include <utility>
 
 #include "base/bind.h"
@@ -25,45 +26,71 @@
 
 namespace lottie {
 
-Animation::TimerControl::TimerControl(const base::TimeDelta& offset,
-                                      const base::TimeDelta& cycle_duration,
-                                      const base::TimeDelta& total_duration,
-                                      const base::TimeTicks& start_timestamp,
-                                      bool should_reverse,
-                                      float playback_speed)
-    : start_offset_(offset),
-      end_offset_((offset + cycle_duration)),
-      cycle_duration_(end_offset_ - start_offset_),
+namespace {
+
+bool IsCycleValid(const Animation::CycleBoundaries& boundaries,
+                  const Animation& animation) {
+  return boundaries.start_offset >= base::TimeDelta() &&
+         boundaries.end_offset <= animation.GetAnimationDuration() &&
+         boundaries.start_offset < boundaries.end_offset;
+}
+
+Animation::CycleBoundaries GetCycleAtIndex(
+    const std::vector<Animation::CycleBoundaries>& scheduled_cycles,
+    int cycle_idx) {
+  DCHECK(!scheduled_cycles.empty());
+  return scheduled_cycles[std::min(
+      cycle_idx, static_cast<int>(scheduled_cycles.size()) - 1)];
+}
+
+}  // namespace
+
+Animation::TimerControl::TimerControl(
+    std::vector<CycleBoundaries> scheduled_cycles,
+    const base::TimeDelta& total_duration,
+    const base::TimeTicks& start_timestamp,
+    bool should_reverse,
+    float playback_speed)
+    : scheduled_cycles_(std::move(scheduled_cycles)),
       total_duration_(total_duration),
       previous_tick_(start_timestamp),
-      progress_(base::Milliseconds(0)),
-      current_cycle_progress_(start_offset_),
-      should_reverse_(should_reverse) {
+      current_cycle_progress_(scheduled_cycles_.front().start_offset),
+      should_reverse_(should_reverse),
+      current_cycle_(scheduled_cycles_.front()) {
   SetPlaybackSpeed(playback_speed);
 }
 
+Animation::TimerControl::~TimerControl() = default;
+
 void Animation::TimerControl::SetPlaybackSpeed(float playback_speed) {
   DCHECK_GT(playback_speed, 0.f);
   playback_speed_ = playback_speed;
 }
 
 void Animation::TimerControl::Step(const base::TimeTicks& timestamp) {
-  progress_ += (timestamp - previous_tick_) * playback_speed_;
+  base::TimeDelta step_size = (timestamp - previous_tick_) * playback_speed_;
+  while (!step_size.is_zero()) {
+    base::TimeDelta time_until_current_cycle_end =
+        IsPlayingInReverse()
+            ? (current_cycle_progress_ - current_cycle_.start_offset)
+            : (current_cycle_.end_offset - current_cycle_progress_);
+    if (step_size >= time_until_current_cycle_end) {
+      ++completed_cycles_;
+      current_cycle_ = GetCycleAtIndex(scheduled_cycles_, completed_cycles_);
+      current_cycle_progress_ = IsPlayingInReverse()
+                                    ? current_cycle_.end_offset
+                                    : current_cycle_.start_offset;
+      step_size -= time_until_current_cycle_end;
+    } else {
+      if (IsPlayingInReverse()) {
+        current_cycle_progress_ -= step_size;
+      } else {
+        current_cycle_progress_ += step_size;
+      }
+      step_size = base::TimeDelta();
+    }
+  }
   previous_tick_ = timestamp;
-
-  base::TimeDelta completed_cycles_duration =
-      completed_cycles_ * cycle_duration_;
-  if (progress_ >= completed_cycles_duration + cycle_duration_) {
-    completed_cycles_ = base::ClampFloor(progress_ / cycle_duration_);
-    completed_cycles_duration = cycle_duration_ * completed_cycles_;
-  }
-
-  current_cycle_progress_ =
-      start_offset_ + progress_ - completed_cycles_duration;
-  if (should_reverse_ && completed_cycles_ % 2) {
-    current_cycle_progress_ =
-        end_offset_ - (current_cycle_progress_ - start_offset_);
-  }
 }
 
 void Animation::TimerControl::Resume(const base::TimeTicks& timestamp) {
@@ -75,19 +102,32 @@
 }
 
 double Animation::TimerControl::GetNormalizedStartOffset() const {
-  return start_offset_ / total_duration_;
+  return current_cycle_.start_offset / total_duration_;
 }
 
 double Animation::TimerControl::GetNormalizedEndOffset() const {
-  return end_offset_ / total_duration_;
+  return current_cycle_.end_offset / total_duration_;
+}
+
+bool Animation::TimerControl::IsPlayingInReverse() const {
+  return should_reverse_ && completed_cycles_ % 2;
+}
+
+// static
+Animation::CycleBoundaries Animation::CycleBoundaries::FullCycle(
+    const Animation& animation) {
+  return {
+      /*start_offset=*/base::TimeDelta(),
+      /*duration=*/animation.GetAnimationDuration(),
+  };
 }
 
 // static
 Animation::PlaybackConfig Animation::PlaybackConfig::CreateDefault(
     const Animation& animation) {
-  return {/*start_offset=*/base::TimeDelta(),
-          /*duration=*/animation.GetAnimationDuration(),
-          Animation::Style::kLoop};
+  return PlaybackConfig(
+      /*scheduled_cycles=*/{CycleBoundaries::FullCycle(animation)},
+      Animation::Style::kLoop);
 }
 
 // static
@@ -99,6 +139,21 @@
   return config;
 }
 
+Animation::PlaybackConfig::PlaybackConfig() = default;
+
+Animation::PlaybackConfig::PlaybackConfig(
+    std::vector<CycleBoundaries> scheduled_cycles,
+    Style style)
+    : scheduled_cycles(std::move(scheduled_cycles)), style(style) {}
+
+Animation::PlaybackConfig::PlaybackConfig(const PlaybackConfig& other) =
+    default;
+
+Animation::PlaybackConfig& Animation::PlaybackConfig::operator=(
+    const PlaybackConfig& other) = default;
+
+Animation::PlaybackConfig::~PlaybackConfig() = default;
+
 Animation::Animation(scoped_refptr<cc::SkottieWrapper> skottie,
                      cc::SkottieColorMap color_map,
                      cc::SkottieFrameDataProvider* frame_data_provider)
@@ -163,8 +218,7 @@
   DCHECK(state_ == PlayState::kStopped || state_ == PlayState::kEnded);
   if (!playback_config)
     playback_config = PlaybackConfig::CreateDefault(*this);
-  DCHECK_LE(playback_config->start_offset + playback_config->duration,
-            GetAnimationDuration());
+  VerifyPlaybackConfigIsValid(*playback_config);
 
   // Reset the |timer_control_| object for a new animation play.
   timer_control_.reset(nullptr);
@@ -324,8 +378,7 @@
 void Animation::InitTimer(const base::TimeTicks& timestamp) {
   DCHECK(!timer_control_);
   timer_control_ = std::make_unique<TimerControl>(
-      playback_config_.start_offset, playback_config_.duration,
-      GetAnimationDuration(), timestamp,
+      playback_config_.scheduled_cycles, GetAnimationDuration(), timestamp,
       playback_config_.style == Style::kThrobbing, playback_speed_);
 }
 
@@ -354,4 +407,15 @@
   }
 }
 
+void Animation::VerifyPlaybackConfigIsValid(
+    const PlaybackConfig& playback_config) const {
+  DCHECK(!playback_config.scheduled_cycles.empty());
+  for (const CycleBoundaries& cycle : playback_config.scheduled_cycles) {
+    DCHECK(IsCycleValid(cycle, *this));
+  }
+  if (playback_config.style == Style::kLinear) {
+    DCHECK_EQ(playback_config.scheduled_cycles.size(), 1u);
+  }
+}
+
 }  // namespace lottie
diff --git a/ui/lottie/animation.h b/ui/lottie/animation.h
index e715f81..46358ca 100644
--- a/ui/lottie/animation.h
+++ b/ui/lottie/animation.h
@@ -7,6 +7,7 @@
 
 #include <functional>
 #include <memory>
+#include <vector>
 
 #include "base/component_export.h"
 #include "base/containers/flat_map.h"
@@ -96,6 +97,22 @@
     kLoop         // Same as LINEAR, except the animation repeats after it ends.
   };
 
+  // An animation goes through a single "cycle" when it's played from one
+  // timestamp to another. After reaching the final timestamp, it may either
+  // loop back to the initial timestamp again, or even play in reverse depending
+  // on the style described above.
+  struct COMPONENT_EXPORT(UI_LOTTIE) CycleBoundaries {
+    // Returns the range [0, animation.GetAnimationDuration()).
+    static CycleBoundaries FullCycle(const Animation& animation);
+
+    // The cycle's range is [start_offset, end_offset). |start_offset| must be
+    // < |end_offset|, and both must be in the range
+    // [0, GetAnimationDuration()]. They represent non-normalized timestamps in
+    // the animation.
+    base::TimeDelta start_offset;
+    base::TimeDelta end_offset;
+  };
+
   struct COMPONENT_EXPORT(UI_LOTTIE) PlaybackConfig {
     // By default, loop from the beginning of the animation to the end.
     static PlaybackConfig CreateDefault(const Animation& animation);
@@ -104,11 +121,24 @@
     static PlaybackConfig CreateWithStyle(Style style,
                                           const Animation& animation);
 
-    // The animation will be scheduled to play from the |start_offset| to
-    // |start_offset| + |duration|. The values will be clamped so as to not go
-    // out of bounds.
-    base::TimeDelta start_offset;
-    base::TimeDelta duration;
+    PlaybackConfig();
+    PlaybackConfig(std::vector<CycleBoundaries> scheduled_cycles, Style style);
+    PlaybackConfig(const PlaybackConfig& other);
+    PlaybackConfig& operator=(const PlaybackConfig& other);
+    ~PlaybackConfig();
+
+    // Set of cycles that the animation will iterate through in the order they
+    // appear. Must not be empty. After reaching the last entry in
+    // |scheduled_cycles|, the animation will continue re-using the last entry's
+    // boundaries in all future cycles.
+    //
+    // Example: {[0, T), [T/2, 3T/4)}. In the first cycle, the animation will
+    // play starting at time 0 until it reaches timestamp T. After that, it will
+    // loop back to timestamp T/2 and play until 3T/4. The [T/2, 3T/4) cycle
+    // repeats indefinitely until the animation is stopped.
+    //
+    // If |style| is kLinear, |scheduled_cycles| must have exactly one entry.
+    std::vector<CycleBoundaries> scheduled_cycles;
     Style style = Style::kLoop;
   };
 
@@ -214,13 +244,12 @@
   // reverse flag is set, the progress runs in reverse.
   class COMPONENT_EXPORT(UI_LOTTIE) TimerControl final {
    public:
-    TimerControl(const base::TimeDelta& offset,
-                 const base::TimeDelta& cycle_duration,
+    TimerControl(std::vector<CycleBoundaries> scheduled_cycles,
                  const base::TimeDelta& total_duration,
                  const base::TimeTicks& start_timestamp,
                  bool should_reverse,
                  float playback_speed);
-    ~TimerControl() = default;
+    ~TimerControl();
     TimerControl(const TimerControl&) = delete;
     TimerControl& operator=(const TimerControl&) = delete;
 
@@ -240,15 +269,12 @@
    private:
     friend class AnimationTest;
 
-    // Time duration from 0 which marks the beginning of a cycle.
-    const base::TimeDelta start_offset_;
+    // Only applies to throbbing animations, for which every even numbered
+    // cycle plays forwards, and every odd numbered cycle plays reversed.
+    bool IsPlayingInReverse() const;
 
-    // Time duration from 0 which marks the end of a cycle.
-    const base::TimeDelta end_offset_;
-
-    // Time duration for one cycle. This is essentially a cache of the
-    // difference between |end_offset_| - |start_offset_|.
-    const base::TimeDelta cycle_duration_;
+    // See comments in |PlaybackConfig::scheduled_cycles|.
+    const std::vector<CycleBoundaries> scheduled_cycles_;
 
     // Total duration of all cycles.
     const base::TimeDelta total_duration_;
@@ -256,21 +282,22 @@
     // The timetick at which |progress_| was updated last.
     base::TimeTicks previous_tick_;
 
-    // The progress of the timer. This is a monotonically increasing value.
-    base::TimeDelta progress_;
-
     // This is the progress of the timer in the current cycle.
     base::TimeDelta current_cycle_progress_;
 
     // If true, the progress will go into reverse after each cycle. This is used
     // for throbbing animations.
-    bool should_reverse_ = false;
+    const bool should_reverse_ = false;
 
     // The number of times each |cycle_duration_| is covered by the timer.
     int completed_cycles_ = 0;
 
     // See comments above SetPlaybackSpeed().
     float playback_speed_ = 1.f;
+
+    // The boundaries of the current cycle. This is a copy of one of the entries
+    // in |scheduled_cycles_|.
+    CycleBoundaries current_cycle_;
   };
 
   void InitTimer(const base::TimeTicks& timestamp);
@@ -282,6 +309,7 @@
       float t,
       sk_sp<SkImage>&,
       SkSamplingOptions&);
+  void VerifyPlaybackConfigIsValid(const PlaybackConfig& playback_config) const;
 
   // Manages the timeline for the current playing animation.
   std::unique_ptr<TimerControl> timer_control_;
diff --git a/ui/lottie/animation_unittest.cc b/ui/lottie/animation_unittest.cc
index a72dd36..f5036bc1 100644
--- a/ui/lottie/animation_unittest.cc
+++ b/ui/lottie/animation_unittest.cc
@@ -36,6 +36,7 @@
 namespace lottie {
 namespace {
 
+using ::testing::ElementsAre;
 using ::testing::Eq;
 using ::testing::FieldsAre;
 using ::testing::FloatEq;
@@ -434,7 +435,7 @@
 
   EXPECT_FALSE(observer.animation_cycle_ended());
   animation_->Start(Animation::PlaybackConfig(
-      {kStartTime, kDuration, Animation::Style::kLinear}));
+      {{kStartTime, kStartTime + kDuration}}, Animation::Style::kLinear));
 
   EXPECT_TRUE(IsScheduledToPlay());
   EXPECT_FALSE(observer.animation_will_start_playing());
@@ -496,7 +497,8 @@
   AdvanceClock(base::Milliseconds(200));
 
   animation_->Start(Animation::PlaybackConfig(
-      {kStartTime, kDuration, Animation::Style::kLinear}));
+      {{kStartTime, kStartTime + kDuration}}, Animation::Style::kLinear));
+
   animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
 
   constexpr auto kAdvance = base::Milliseconds(100);
@@ -595,7 +597,8 @@
 
   EXPECT_TRUE(IsStopped());
   animation_->Start(Animation::PlaybackConfig(
-      {kStartTime, kDuration, Animation::Style::kLoop}));
+      {{kStartTime, kStartTime + kDuration}}, Animation::Style::kLoop));
+
   EXPECT_TRUE(IsScheduledToPlay());
   EXPECT_FALSE(observer.animation_will_start_playing());
 
@@ -648,6 +651,110 @@
   EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(), GetTimerStartOffset());
 }
 
+TEST_F(AnimationTest, PlayDifferentSubsectionsOfLoopingAnimation) {
+  constexpr auto kStartTime1 = base::Milliseconds(400);
+  constexpr auto kDuration1 = base::Milliseconds(1000);
+
+  constexpr auto kStartTime2 = base::Milliseconds(100);
+  constexpr auto kDuration2 = base::Milliseconds(500);
+
+  TestAnimationObserver observer(animation_.get());
+
+  AdvanceClock(base::Milliseconds(300));
+
+  animation_->Start(
+      Animation::PlaybackConfig({{kStartTime1, kStartTime1 + kDuration1},
+                                 {kStartTime2, kStartTime2 + kDuration2}},
+                                Animation::Style::kLoop));
+
+  // T: 400 ms
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  kStartTime1 / kAnimationDuration);
+
+  // T: 600 ms
+  AdvanceClock(base::Milliseconds(200));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime1 + base::Milliseconds(200)) / kAnimationDuration);
+
+  // T: 1399 ms (just before first cycle end)
+  AdvanceClock(base::Milliseconds(799));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(
+      *animation_->GetCurrentProgress(),
+      (kStartTime1 + kDuration1 - base::Milliseconds(1)) / kAnimationDuration);
+
+  // T: 100 ms (start of second cycle)
+  AdvanceClock(base::Milliseconds(1));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  kStartTime2 / kAnimationDuration);
+
+  // T: 300 ms
+  AdvanceClock(base::Milliseconds(200));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + base::Milliseconds(200)) / kAnimationDuration);
+
+  // T: 599 ms (just before second cycle end)
+  AdvanceClock(base::Milliseconds(299));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(
+      *animation_->GetCurrentProgress(),
+      (kStartTime2 + kDuration2 - base::Milliseconds(1)) / kAnimationDuration);
+
+  // T: 100 ms (start of second cycle)
+  AdvanceClock(base::Milliseconds(1));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  kStartTime2 / kAnimationDuration);
+}
+
+TEST_F(AnimationTest, HandlesLargeStepsInLoopingAnimation) {
+  constexpr auto kStartTime1 = base::Milliseconds(400);
+  constexpr auto kDuration1 = base::Milliseconds(1000);
+
+  constexpr auto kStartTime2 = base::Milliseconds(100);
+  constexpr auto kDuration2 = base::Milliseconds(500);
+
+  TestAnimationObserver observer(animation_.get());
+
+  AdvanceClock(base::Milliseconds(300));
+
+  animation_->Start(
+      Animation::PlaybackConfig({{kStartTime1, kStartTime1 + kDuration1},
+                                 {kStartTime2, kStartTime2 + kDuration2}},
+                                Animation::Style::kLoop));
+
+  // T: 400 ms
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  kStartTime1 / kAnimationDuration);
+
+  // T: 200 ms (end of first cycle + 100 ms into second cycle)
+  AdvanceClock(kDuration1 + base::Milliseconds(100));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + base::Milliseconds(100)) / kAnimationDuration);
+
+  // T: 300 ms (end of second cycle + 200 ms into third cycle)
+  AdvanceClock(base::Milliseconds(600));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + base::Milliseconds(200)) / kAnimationDuration);
+}
+
 TEST_F(AnimationTest, PausingLoopAnimation) {
   constexpr auto kStartTime = base::Milliseconds(400);
   constexpr auto kDuration = base::Milliseconds(1000);
@@ -657,7 +764,7 @@
   AdvanceClock(base::Milliseconds(200));
 
   animation_->Start(Animation::PlaybackConfig(
-      {kStartTime, kDuration, Animation::Style::kLoop}));
+      {{kStartTime, kStartTime + kDuration}}, Animation::Style::kLoop));
   animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
 
   ASSERT_TRUE(animation_->GetCurrentProgress());
@@ -777,7 +884,7 @@
   AdvanceClock(base::Milliseconds(300));
 
   animation_->Start(Animation::PlaybackConfig(
-      {kStartTime, kDuration, Animation::Style::kThrobbing}));
+      {{kStartTime, kStartTime + kDuration}}, Animation::Style::kThrobbing));
   EXPECT_TRUE(IsScheduledToPlay());
   EXPECT_FALSE(observer.animation_will_start_playing());
 
@@ -854,6 +961,118 @@
   EXPECT_TRUE(IsPlaying());
 }
 
+TEST_F(AnimationTest, PlayDifferentSubsectionsOfThrobbingAnimation) {
+  constexpr auto kStartTime1 = base::Milliseconds(400);
+  constexpr auto kDuration1 = base::Milliseconds(1000);
+
+  constexpr auto kStartTime2 = base::Milliseconds(100);
+  constexpr auto kDuration2 = base::Milliseconds(500);
+
+  TestAnimationObserver observer(animation_.get());
+
+  AdvanceClock(base::Milliseconds(300));
+
+  animation_->Start(
+      Animation::PlaybackConfig({{kStartTime1, kStartTime1 + kDuration1},
+                                 {kStartTime2, kStartTime2 + kDuration2}},
+                                Animation::Style::kThrobbing));
+
+  // T: 400 ms
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  kStartTime1 / kAnimationDuration);
+
+  // T: 600 ms
+  AdvanceClock(base::Milliseconds(200));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime1 + base::Milliseconds(200)) / kAnimationDuration);
+
+  // T: 1399 ms (just before first cycle end)
+  AdvanceClock(base::Milliseconds(799));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(
+      *animation_->GetCurrentProgress(),
+      (kStartTime1 + kDuration1 - base::Milliseconds(1)) / kAnimationDuration);
+
+  // T: 600 ms (end of second cycle, reversed)
+  AdvanceClock(base::Milliseconds(1));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + kDuration2) / kAnimationDuration);
+
+  // T: 400 ms
+  AdvanceClock(base::Milliseconds(200));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + kDuration2 - base::Milliseconds(200)) /
+                      kAnimationDuration);
+
+  // T: 101 ms (just after start of second cycle start)
+  AdvanceClock(base::Milliseconds(299));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + base::Milliseconds(1)) / kAnimationDuration);
+
+  // T: 100 ms (start of second cycle)
+  AdvanceClock(base::Milliseconds(1));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  kStartTime2 / kAnimationDuration);
+
+  // T: 300 ms (going forward)
+  AdvanceClock(base::Milliseconds(200));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + base::Milliseconds(200)) / kAnimationDuration);
+}
+
+TEST_F(AnimationTest, HandlesLargeStepsInThrobbingAnimation) {
+  constexpr auto kStartTime1 = base::Milliseconds(400);
+  constexpr auto kDuration1 = base::Milliseconds(1000);
+
+  constexpr auto kStartTime2 = base::Milliseconds(100);
+  constexpr auto kDuration2 = base::Milliseconds(500);
+
+  TestAnimationObserver observer(animation_.get());
+
+  AdvanceClock(base::Milliseconds(300));
+
+  animation_->Start(
+      Animation::PlaybackConfig({{kStartTime1, kStartTime1 + kDuration1},
+                                 {kStartTime2, kStartTime2 + kDuration2}},
+                                Animation::Style::kThrobbing));
+
+  // T: 400 ms
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  kStartTime1 / kAnimationDuration);
+
+  // T: 500 ms (end of first cycle + 100 ms into second cycle)
+  AdvanceClock(kDuration1 + base::Milliseconds(100));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + kDuration2 - base::Milliseconds(100)) /
+                      kAnimationDuration);
+
+  // T: 300 ms (end of second cycle + 200 ms into third cycle)
+  AdvanceClock(base::Milliseconds(600));
+  animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
+  ASSERT_TRUE(animation_->GetCurrentProgress());
+  EXPECT_FLOAT_EQ(*animation_->GetCurrentProgress(),
+                  (kStartTime2 + base::Milliseconds(200)) / kAnimationDuration);
+}
+
 TEST_F(AnimationTest, PausingThrobbingAnimation) {
   constexpr auto kStartTime = base::Milliseconds(400);
   constexpr auto kDuration = base::Milliseconds(1000);
@@ -861,7 +1080,7 @@
   AdvanceClock(base::Milliseconds(200));
 
   animation_->Start(Animation::PlaybackConfig(
-      {kStartTime, kDuration, Animation::Style::kThrobbing}));
+      {{kStartTime, kStartTime + kDuration}}, Animation::Style::kThrobbing));
   animation_->Paint(canvas(), NowTicks(), animation_->GetOriginalSize());
 
   EXPECT_TRUE(IsPlaying());
@@ -1306,23 +1525,27 @@
 
 TEST_F(AnimationTest, GetPlaybackConfig) {
   EXPECT_FALSE(animation_->GetPlaybackConfig());
-  Animation::PlaybackConfig test_config = {
-      /*start_offset=*/kAnimationDuration / 4,
-      /*duration=*/kAnimationDuration / 2, Animation::Style::kThrobbing};
+  Animation::PlaybackConfig test_config(
+      {{/*start_offset=*/kAnimationDuration / 4,
+        /*end_offset=*/kAnimationDuration * 3 / 4}},
+      Animation::Style::kThrobbing);
   animation_->Start(test_config);
   ASSERT_TRUE(animation_->GetPlaybackConfig());
   EXPECT_THAT(*animation_->GetPlaybackConfig(),
-              FieldsAre(test_config.start_offset, test_config.duration,
+              FieldsAre(ElementsAre(FieldsAre(
+                            test_config.scheduled_cycles.front().start_offset,
+                            test_config.scheduled_cycles.front().end_offset)),
                         test_config.style));
   animation_->Stop();
   EXPECT_FALSE(animation_->GetPlaybackConfig());
-  test_config.start_offset = kAnimationDuration / 2;
-  test_config.duration = kAnimationDuration / 4;
+  test_config.scheduled_cycles.front().start_offset = kAnimationDuration / 2;
   test_config.style = Animation::Style::kLoop;
   animation_->Start(test_config);
   ASSERT_TRUE(animation_->GetPlaybackConfig());
   EXPECT_THAT(*animation_->GetPlaybackConfig(),
-              FieldsAre(test_config.start_offset, test_config.duration,
+              FieldsAre(ElementsAre(FieldsAre(
+                            test_config.scheduled_cycles.front().start_offset,
+                            test_config.scheduled_cycles.front().end_offset)),
                         test_config.style));
 }
 
diff --git a/ui/message_center/views/message_popup_view.cc b/ui/message_center/views/message_popup_view.cc
index 171ac0a4..e5861c5 100644
--- a/ui/message_center/views/message_popup_view.cc
+++ b/ui/message_center/views/message_popup_view.cc
@@ -33,7 +33,7 @@
 MessagePopupView::MessagePopupView(MessageView* message_view,
                                    MessagePopupCollection* popup_collection,
                                    bool a11y_feedback_on_init)
-    : message_view_(message_view),
+    : message_view_(message_view->GetWeakPtr()),
       popup_collection_(popup_collection),
       a11y_feedback_on_init_(a11y_feedback_on_init) {
   set_suppress_default_focus_handling();
@@ -163,6 +163,12 @@
 }
 
 void MessagePopupView::Close() {
+  // crbug/1337661: Ensure we abort any running layer animations before closing
+  // the widget. This is to prevent any callbacks from initiating additional
+  // animations.
+  if (message_view_)
+    message_view_->AbortAllLayerAnimations();
+
   if (!GetWidget()) {
     DeleteDelegate();
     return;
@@ -220,7 +226,7 @@
 void MessagePopupView::OnFocus() {
   // This view is just a container, so advance focus to the underlying
   // MessageView.
-  GetFocusManager()->SetFocusedView(message_view_);
+  GetFocusManager()->SetFocusedView(message_view_.get());
 }
 
 void MessagePopupView::AddedToWidget() {
diff --git a/ui/message_center/views/message_popup_view.h b/ui/message_center/views/message_popup_view.h
index 2f5f9d3..fe98433 100644
--- a/ui/message_center/views/message_popup_view.h
+++ b/ui/message_center/views/message_popup_view.h
@@ -6,6 +6,7 @@
 #define UI_MESSAGE_CENTER_VIEWS_MESSAGE_POPUP_VIEW_H_
 
 #include "base/memory/raw_ptr.h"
+#include "base/memory/weak_ptr.h"
 #include "base/scoped_observation.h"
 #include "ui/message_center/message_center_export.h"
 #include "ui/views/widget/widget.h"
@@ -73,7 +74,7 @@
   bool is_hovered() const { return is_hovered_; }
   bool is_focused() const { return is_focused_; }
 
-  MessageView* message_view() { return message_view_; }
+  MessageView* message_view() { return message_view_.get(); }
 
  protected:
   // For unit testing.
@@ -84,7 +85,9 @@
   bool IsWidgetValid() const;
 
   // Owned by views hierarchy.
-  raw_ptr<MessageView> message_view_;
+  // crbug/1347815: This needs to be a WeakPtr to ensure we do not use this
+  // uninitialized incase the view is deleted before this popup_view.
+  base::WeakPtr<MessageView> message_view_;
 
   // Unowned.
   const raw_ptr<MessagePopupCollection> popup_collection_;
diff --git a/ui/message_center/views/message_view.h b/ui/message_center/views/message_view.h
index 5f802e8..a1b85d6 100644
--- a/ui/message_center/views/message_view.h
+++ b/ui/message_center/views/message_view.h
@@ -91,6 +91,10 @@
 
   ~MessageView() override;
 
+  // Abort all layer animations. Unimplemented by default, used in
+  // `AshNotificationView` to abort animations when it's widget is being closed.
+  virtual void AbortAllLayerAnimations() {}
+
   // Updates this view with an additional grouped notification. If the view
   // wasn't previously grouped it also takes care of converting the view to
   // the grouped notification state.
@@ -192,6 +196,10 @@
   // Updates the width of the buttons which are hidden and avail by swipe.
   void SetSlideButtonWidth(int coutrol_button_width);
 
+  base::WeakPtr<MessageView> GetWeakPtr() {
+    return message_view_weak_factory_.GetWeakPtr();
+  }
+
   void set_notification_id(const std::string& notification_id) {
     notification_id_ = notification_id;
   }
@@ -298,6 +306,8 @@
   // shape of the notification.
   int top_radius_ = 0;
   int bottom_radius_ = 0;
+
+  base::WeakPtrFactory<MessageView> message_view_weak_factory_{this};
 };
 
 }  // namespace message_center
diff --git a/ui/views/BUILD.gn b/ui/views/BUILD.gn
index 5c2c732c..cf74f307 100644
--- a/ui/views/BUILD.gn
+++ b/ui/views/BUILD.gn
@@ -594,6 +594,7 @@
 
   if (is_mac) {
     public += [
+      "cocoa/immersive_mode_delegate_mac.h",
       "cocoa/native_widget_mac_ns_window_host.h",
       "controls/menu/menu_closure_animation_mac.h",
       "controls/menu/menu_cocoa_watcher_mac.h",
diff --git a/ui/views/animation/animation_builder.h b/ui/views/animation/animation_builder.h
index 32d603f..4649d70 100644
--- a/ui/views/animation/animation_builder.h
+++ b/ui/views/animation/animation_builder.h
@@ -42,7 +42,9 @@
 // being animated on since the Layers ultimately own the objects that run the
 // animation. Otherwise, developers may need to use weak pointers or force
 // animations to be cancelled in the object’s destructor to prevent accessing
-// destroyed objects.
+// destroyed objects. Note that aborted notifications can be sent during the
+// destruction process. Therefore subclasses that own the Layers may actually be
+// destroyed before the OnAborted callback is run.
 
 class VIEWS_EXPORT AnimationBuilder {
  public:
diff --git a/ui/views/cocoa/immersive_mode_delegate_mac.h b/ui/views/cocoa/immersive_mode_delegate_mac.h
new file mode 100644
index 0000000..1b1d012
--- /dev/null
+++ b/ui/views/cocoa/immersive_mode_delegate_mac.h
@@ -0,0 +1,14 @@
+// Copyright 2022 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_VIEWS_COCOA_IMMERSIVE_MODE_DELEGATE_MAC_H_
+#define UI_VIEWS_COCOA_IMMERSIVE_MODE_DELEGATE_MAC_H_
+
+#include <AppKit/AppKit.h>
+
+@protocol ImmersiveModeDelegate <NSWindowDelegate>
+@property(readonly) NSWindow* originalHostingWindow;
+@end
+
+#endif  // UI_VIEWS_COCOA_IMMERSIVE_MODE_DELEGATE_MAC_H_
diff --git a/ui/views/cocoa/native_widget_mac_ns_window_host.mm b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
index 06ae57c..eaca66e6 100644
--- a/ui/views/cocoa/native_widget_mac_ns_window_host.mm
+++ b/ui/views/cocoa/native_widget_mac_ns_window_host.mm
@@ -34,6 +34,7 @@
 #include "ui/gfx/geometry/size_conversions.h"
 #include "ui/gfx/mac/coordinate_conversion.h"
 #include "ui/native_theme/native_theme_mac.h"
+#include "ui/views/cocoa/immersive_mode_delegate_mac.h"
 #include "ui/views/cocoa/text_input_host.h"
 #include "ui/views/cocoa/tooltip_manager_mac.h"
 #include "ui/views/controls/label.h"
@@ -213,16 +214,45 @@
 
 uint64_t g_last_bridged_native_widget_id = 0;
 
+NSWindow* OriginalHostingWindowFromFullScreenWindow(
+    NSWindow* full_screen_window) {
+  if ([full_screen_window.delegate
+          conformsToProtocol:@protocol(ImmersiveModeDelegate)]) {
+    return base::mac::ObjCCastStrict<NSObject<ImmersiveModeDelegate>>(
+               full_screen_window.delegate)
+        .originalHostingWindow;
+  }
+  return nullptr;
+}
+
 }  // namespace
 
 // static
 NativeWidgetMacNSWindowHost* NativeWidgetMacNSWindowHost::GetFromNativeWindow(
     gfx::NativeWindow native_window) {
   NSWindow* window = native_window.GetNativeNSWindow();
+
+  // TODO(bur): Get tab dragging working.
+  // For tab dragging we need to map browser_view_->overlay_view_'s window to
+  // browser_view_'s window. However we can't do this all the time since
+  // browser_view_->overlay_view_ is a valid wigdet for some things. window =
+  // window.parentWindow ?: window;
+
   if (NativeWidgetMacNSWindow* widget_window =
           base::mac::ObjCCast<NativeWidgetMacNSWindow>(window)) {
     return GetFromId([widget_window bridgedNativeWidgetId]);
   }
+
+  // If the window is a system created NSToolbarFullScreenWindow we need to do
+  // some additional work to find the original window.
+  if ([window isKindOfClass:NSClassFromString(@"NSToolbarFullScreenWindow")]) {
+    NSWindow* original = OriginalHostingWindowFromFullScreenWindow(window);
+    if (NativeWidgetMacNSWindow* widget_window =
+            base::mac::ObjCCast<NativeWidgetMacNSWindow>(original)) {
+      return GetFromId([widget_window bridgedNativeWidgetId]);
+    }
+  }
+
   return nullptr;  // Not created by NativeWidgetMac.
 }
 
diff --git a/ui/views/highlight_border.cc b/ui/views/highlight_border.cc
index 1cb34f6..30a38ce 100644
--- a/ui/views/highlight_border.cc
+++ b/ui/views/highlight_border.cc
@@ -80,13 +80,13 @@
   } else {
     switch (type) {
       case HighlightBorder::Type::kHighlightBorder1:
-        highlight_color_id = ui::kColorAshSystemUIHighlightColor1;
+        highlight_color_id = ui::kColorHighlightBorderHighlight1;
         break;
       case HighlightBorder::Type::kHighlightBorder2:
-        highlight_color_id = ui::kColorAshSystemUIHighlightColor2;
+        highlight_color_id = ui::kColorHighlightBorderHighlight2;
         break;
       case HighlightBorder::Type::kHighlightBorder3:
-        highlight_color_id = ui::kColorAshSystemUIHighlightColor3;
+        highlight_color_id = ui::kColorHighlightBorderHighlight3;
         break;
     }
   }
@@ -114,13 +114,13 @@
   } else {
     switch (type) {
       case HighlightBorder::Type::kHighlightBorder1:
-        border_color_id = ui::kColorAshSystemUIBorderColor1;
+        border_color_id = ui::kColorHighlightBorderBorder1;
         break;
       case HighlightBorder::Type::kHighlightBorder2:
-        border_color_id = ui::kColorAshSystemUIBorderColor2;
+        border_color_id = ui::kColorHighlightBorderBorder2;
         break;
       case HighlightBorder::Type::kHighlightBorder3:
-        border_color_id = ui::kColorAshSystemUIBorderColor3;
+        border_color_id = ui::kColorHighlightBorderBorder3;
         break;
     }
   }
diff --git a/ui/views/view.cc b/ui/views/view.cc
index 0fad6f90..a363a58 100644
--- a/ui/views/view.cc
+++ b/ui/views/view.cc
@@ -988,7 +988,21 @@
     return;
 
   const View* root = GetHierarchyRoot(target);
+#if BUILDFLAG(IS_MAC)
+  // If the root views don't match make sure we are in the same widget tree.
+  // Full screen in macOS creates a child widget that hosts top chrome.
+  // TODO(bur): Remove this check when top chrome can be composited into its own
+  // NSView without the need for a new widget.
+  if (GetHierarchyRoot(source) != root) {
+    const Widget* source_top_level_widget =
+        source->GetWidget()->GetTopLevelWidget();
+    const Widget* target_top_level_widget =
+        target->GetWidget()->GetTopLevelWidget();
+    CHECK_EQ(source_top_level_widget, target_top_level_widget);
+  }
+#else  // IS_MAC
   CHECK_EQ(GetHierarchyRoot(source), root);
+#endif
 
   if (source != root)
     source->ConvertPointForAncestor(root, point);
diff --git a/ui/webui/resources/cr_components/chromeos/network/network_list_item.js b/ui/webui/resources/cr_components/chromeos/network/network_list_item.js
index 81f3c17..1b6b18a 100644
--- a/ui/webui/resources/cr_components/chromeos/network/network_list_item.js
+++ b/ui/webui/resources/cr_components/chromeos/network/network_list_item.js
@@ -235,6 +235,18 @@
     this.unlisten(this, 'keydown', 'onKeydown_');
   },
 
+  /**
+   * @return {boolean}
+   * @private
+   */
+  isESimNetwork_() {
+    const mojom = chromeos.networkConfig.mojom;
+    return !!this.networkState &&
+        this.networkState.type === mojom.NetworkType.kCellular &&
+        !!this.networkState.typeState.cellular.eid &&
+        !!this.networkState.typeState.cellular.iccid;
+  },
+
   /** @private */
   async itemChanged_() {
     if (this.item && !this.item.hasOwnProperty('customItemType')) {
@@ -267,10 +279,7 @@
 
     // Show service provider subtext only when networkState is an eSIM cellular
     // network.
-    if (!this.networkState ||
-        this.networkState.type !== mojom.NetworkType.kCellular ||
-        !this.networkState.typeState.cellular.eid ||
-        !this.networkState.typeState.cellular.iccid) {
+    if (!this.isESimNetwork_()) {
       return;
     }
 
@@ -327,7 +336,7 @@
   setItemTitle_() {
     const itemName = this.getItemName_();
     const subtitle = this.getSubtitle();
-    if (!subtitle) {
+    if (!subtitle || (this.isESimNetwork_() && itemName === subtitle)) {
       this.itemTitle_ = itemName;
       return;
     }
diff --git a/weblayer/browser/java/org/chromium/weblayer_private/ActionModeCallback.java b/weblayer/browser/java/org/chromium/weblayer_private/ActionModeCallback.java
index 59f06f5..ba72036 100644
--- a/weblayer/browser/java/org/chromium/weblayer_private/ActionModeCallback.java
+++ b/weblayer/browser/java/org/chromium/weblayer_private/ActionModeCallback.java
@@ -7,10 +7,12 @@
 import android.app.SearchManager;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.graphics.Rect;
 import android.os.RemoteException;
 import android.view.ActionMode;
 import android.view.Menu;
 import android.view.MenuItem;
+import android.view.View;
 
 import androidx.annotation.Nullable;
 
@@ -26,7 +28,7 @@
 /**
  * A class that handles selection action mode for WebLayer.
  */
-public final class ActionModeCallback implements ActionMode.Callback {
+public final class ActionModeCallback extends ActionMode.Callback2 {
     private final ActionModeCallbackHelper mHelper;
     // Can be null during init.
     private @Nullable ITabClient mTabClient;
@@ -108,4 +110,9 @@
     public final void onDestroyActionMode(ActionMode mode) {
         mHelper.onDestroyActionMode();
     }
+
+    @Override
+    public void onGetContentRect(ActionMode mode, View view, Rect outRect) {
+        mHelper.onGetContentRect(mode, view, outRect);
+    }
 }